From b636d1e8d7fabde1a769d5abba45073ea926cd00 Mon Sep 17 00:00:00 2001 From: Wei Qi Lu Date: Wed, 25 Mar 2026 11:37:00 -0700 Subject: [PATCH 1/3] python(chore): regen protobufs --- .../annotation_logs/v1/annotation_logs.pb.go | 2 +- go/gen/sift/annotations/v1/annotations.pb.go | 1185 +- .../annotations/v1/annotations_vtproto.pb.go | 603 + .../v1/calculated_channels.pb.go | 543 +- .../v1/calculated_channels_vtproto.pb.go | 202 + .../v2/calculated_channels.pb.go | 2125 +- .../v2/calculated_channels.pb.gw.go | 174 + .../v2/calculated_channels_vtproto.pb.go | 5921 ++-- go/gen/sift/channels/v2/channels.pb.go | 4 +- go/gen/sift/channels/v3/channels.pb.go | 4 +- .../common/type/v1/calculated_channels.pb.go | 169 + .../type/v1/calculated_channels_vtproto.pb.go | 322 + go/gen/sift/common/type/v1/organization.pb.go | 59 +- .../common/type/v1/organization_vtproto.pb.go | 72 + go/gen/sift/common/v1/action_type.pb.go | 191 + go/gen/sift/common/v1/resource_type.pb.go | 202 + go/gen/sift/data/v2/data.pb.go | 536 +- .../sift/data_imports/v2/data_imports.pb.go | 1501 +- .../v2/data_imports_vtproto.pb.go | 9991 +++++-- go/gen/sift/exports/v1/exports.pb.go | 73 +- go/gen/sift/exports/v1/exports_vtproto.pb.go | 180 + go/gen/sift/options/v1/safe_to_log.pb.go | 103 - go/gen/sift/policies/v1/policies.pb.go | 1294 - go/gen/sift/policies/v1/policies.pb.gw.go | 549 - .../sift/policies/v1/policies_vtproto.pb.go | 6097 ---- .../sift/remote_files/v1/remote_files.pb.go | 524 +- .../v1/remote_files_vtproto.pb.go | 59 + .../v1/resource_attribute.pb.go | 5381 ---- .../v1/resource_attribute.pb.gw.go | 2533 -- .../v1/resource_attribute_vtproto.pb.go | 23904 ---------------- .../rule_evaluation/v1/rule_evaluation.pb.go | 473 +- go/gen/sift/rules/v1/rules.pb.go | 1789 +- go/gen/sift/rules/v1/rules_vtproto.pb.go | 365 + go/gen/sift/runs/v2/runs.pb.go | 479 +- go/gen/sift/runs/v2/runs_vtproto.pb.go | 72 + .../saved_searches/v1/saved_searches.pb.go | 406 +- .../v1/saved_searches_vtproto.pb.go | 95 + .../user_attributes/v1/user_attributes.pb.go | 3006 -- .../v1/user_attributes.pb.gw.go | 1301 - .../v1/user_attributes_vtproto.pb.go | 13501 --------- .../annotation_logs/v1/annotation_logs.proto | 2 +- protos/sift/annotations/v1/annotations.proto | 10 +- .../v1/calculated_channels.proto | 5 + .../v2/calculated_channels.proto | 58 +- protos/sift/channels/v2/channels.proto | 4 +- protos/sift/channels/v3/channels.proto | 4 +- .../common/type/v1/calculated_channels.proto | 15 + protos/sift/common/type/v1/organization.proto | 1 + protos/sift/common/v1/action_type.proto | 28 + protos/sift/common/v1/resource_type.proto | 24 + protos/sift/data/v2/data.proto | 5 +- .../sift/data_imports/v2/data_imports.proto | 58 +- protos/sift/exports/v1/exports.proto | 7 + protos/sift/options/v1/safe_to_log.proto | 12 - protos/sift/policies/v1/policies.proto | 213 - .../v2/protobuf_descriptors.proto | 4 +- .../sift/remote_files/v1/remote_files.proto | 14 + protos/sift/reports/v1/reports.proto | 3 + .../v1/resource_attribute.proto | 693 - .../rule_evaluation/v1/rule_evaluation.proto | 6 + protos/sift/rules/v1/rules.proto | 23 +- protos/sift/runs/v2/runs.proto | 4 + .../saved_searches/v1/saved_searches.proto | 1 + .../user_attributes/v1/user_attributes.proto | 457 - .../v1/annotation_logs_pb2.pyi | 2 +- .../sift/annotations/v1/annotations_pb2.py | 116 +- .../sift/annotations/v1/annotations_pb2.pyi | 35 +- .../v1/calculated_channels_pb2.py | 58 +- .../v1/calculated_channels_pb2.pyi | 10 +- .../v2/calculated_channels_pb2.py | 149 +- .../v2/calculated_channels_pb2.pyi | 123 +- .../v2/calculated_channels_pb2_grpc.py | 68 + .../v2/calculated_channels_pb2_grpc.pyi | 40 + python/lib/sift/channels/v2/channels_pb2.pyi | 4 +- python/lib/sift/channels/v3/channels_pb2.pyi | 4 +- .../common/type/v1/calculated_channels_pb2.py | 31 + .../type/v1/calculated_channels_pb2.pyi | 28 + .../type/v1/calculated_channels_pb2_grpc.py} | 0 .../type/v1/calculated_channels_pb2_grpc.pyi} | 0 .../sift/common/type/v1/organization_pb2.py | 8 +- .../sift/common/type/v1/organization_pb2.pyi | 7 +- .../sift/{options => common/v1}/__init__.py | 0 python/lib/sift/common/v1/action_type_pb2.py | 27 + python/lib/sift/common/v1/action_type_pb2.pyi | 75 + .../sift/common/v1/action_type_pb2_grpc.py | 4 + .../sift/common/v1/action_type_pb2_grpc.pyi | 17 + .../lib/sift/common/v1/resource_type_pb2.py | 27 + .../lib/sift/common/v1/resource_type_pb2.pyi | 59 + .../sift/common/v1/resource_type_pb2_grpc.py | 4 + .../sift/common/v1/resource_type_pb2_grpc.pyi | 17 + python/lib/sift/data/v2/data_pb2.py | 141 +- .../sift/data_imports/v2/data_imports_pb2.py | 128 +- .../sift/data_imports/v2/data_imports_pb2.pyi | 217 +- python/lib/sift/exports/v1/exports_pb2.py | 26 +- python/lib/sift/exports/v1/exports_pb2.pyi | 14 +- python/lib/sift/options/v1/__init__.py | 0 python/lib/sift/options/v1/safe_to_log_pb2.py | 26 - .../lib/sift/options/v1/safe_to_log_pb2.pyi | 14 - python/lib/sift/policies/__init__.py | 0 python/lib/sift/policies/v1/__init__.py | 0 python/lib/sift/policies/v1/policies_pb2.py | 133 - python/lib/sift/policies/v1/policies_pb2.pyi | 360 - .../lib/sift/policies/v1/policies_pb2_grpc.py | 203 - .../sift/policies/v1/policies_pb2_grpc.pyi | 124 - .../sift/remote_files/v1/remote_files_pb2.py | 84 +- .../sift/remote_files/v1/remote_files_pb2.pyi | 35 +- .../lib/sift/resource_attribute/__init__.py | 0 .../sift/resource_attribute/v1/__init__.py | 0 .../v1/resource_attribute_pb2.py | 401 - .../v1/resource_attribute_pb2.pyi | 1229 - .../v1/resource_attribute_pb2_grpc.py | 871 - .../v1/resource_attribute_pb2_grpc.pyi | 488 - .../rule_evaluation/v1/rule_evaluation_pb2.py | 51 +- python/lib/sift/rules/v1/rules_pb2.py | 327 +- python/lib/sift/rules/v1/rules_pb2.pyi | 35 +- python/lib/sift/runs/v2/runs_pb2.py | 54 +- python/lib/sift/runs/v2/runs_pb2.pyi | 13 +- .../saved_searches/v1/saved_searches_pb2.py | 66 +- .../saved_searches/v1/saved_searches_pb2.pyi | 9 +- python/lib/sift/user_attributes/__init__.py | 0 .../lib/sift/user_attributes/v1/__init__.py | 0 .../user_attributes/v1/user_attributes_pb2.py | 243 - .../v1/user_attributes_pb2.pyi | 742 - .../v1/user_attributes_pb2_grpc.py | 475 - .../v1/user_attributes_pb2_grpc.pyi | 284 - .../src/gen/buf/validate/buf.validate.rs | 14028 --------- .../gen/buf/validate/buf.validate.serde.rs | 6702 ----- .../sift_rs/src/gen/google/api/google.api.rs | 1425 - .../src/gen/google/api/google.api.serde.rs | 536 - ...pc.gateway.protoc_gen_openapiv2.options.rs | 3448 --- ...eway.protoc_gen_openapiv2.options.serde.rs | 4024 --- rust/crates/sift_rs/src/gen/mod.rs | 60 +- .../v1/sift.annotation_logs.v1.rs | 420 +- .../annotations/v1/sift.annotations.v1.rs | 2021 +- .../v1/sift.annotations.v1.serde.rs | 144 + .../v1/sift.calculated_channels.v1.rs | 960 +- .../v1/sift.calculated_channels.v1.serde.rs | 23 + .../v2/sift.calculated_channels.v2.rs | 4041 +-- .../v2/sift.calculated_channels.v2.serde.rs | 566 + .../v2/sift.calculated_channels.v2.tonic.rs | 184 + .../gen/sift/channels/v2/sift.channels.v2.rs | 176 +- .../gen/sift/channels/v3/sift.channels.v3.rs | 687 +- .../common/r#type/v1/sift.common.type.v1.rs | 1713 +- .../r#type/v1/sift.common.type.v1.serde.rs | 110 + .../src/gen/sift/common/v1/sift.common.v1.rs | 303 + .../sift/common/v1/sift.common.v1.serde.rs | 203 + .../src/gen/sift/data/v2/sift.data.v2.rs | 1942 +- .../data_imports/v2/sift.data_imports.v2.rs | 2049 +- .../v2/sift.data_imports.v2.serde.rs | 1631 +- .../gen/sift/exports/v1/sift.exports.v1.rs | 414 +- .../sift/exports/v1/sift.exports.v1.serde.rs | 39 + .../gen/sift/options/v1/sift.options.v1.rs | 40 - .../gen/sift/policies/v1/sift.policies.v1.rs | 843 - .../policies/v1/sift.policies.v1.serde.rs | 1527 - .../policies/v1/sift.policies.v1.tonic.rs | 612 - .../remote_files/v1/sift.remote_files.v1.rs | 1046 +- .../v1/sift.remote_files.v1.serde.rs | 103 + .../gen/sift/reports/v1/sift.reports.v1.rs | 926 +- .../v1/sift.resource_attribute.v1.rs | 3117 -- .../v1/sift.resource_attribute.v1.serde.rs | 6376 ----- .../v1/sift.resource_attribute.v1.tonic.rs | 2520 -- .../v1/sift.rule_evaluation.v1.rs | 972 +- .../src/gen/sift/rules/v1/sift.rules.v1.rs | 6198 ++-- .../gen/sift/rules/v1/sift.rules.v1.serde.rs | 54 + .../src/gen/sift/runs/v2/sift.runs.v2.rs | 2249 +- .../gen/sift/runs/v2/sift.runs.v2.serde.rs | 18 + .../v1/sift.saved_searches.v1.rs | 1411 +- .../v1/sift.saved_searches.v1.serde.rs | 17 + .../v1/sift.user_attributes.v1.rs | 2034 -- .../v1/sift.user_attributes.v1.serde.rs | 3453 --- .../v1/sift.user_attributes.v1.tonic.rs | 1375 - 171 files changed, 38785 insertions(+), 139302 deletions(-) create mode 100644 go/gen/sift/common/type/v1/calculated_channels.pb.go create mode 100644 go/gen/sift/common/type/v1/calculated_channels_vtproto.pb.go create mode 100644 go/gen/sift/common/v1/action_type.pb.go create mode 100644 go/gen/sift/common/v1/resource_type.pb.go delete mode 100644 go/gen/sift/options/v1/safe_to_log.pb.go delete mode 100644 go/gen/sift/policies/v1/policies.pb.go delete mode 100644 go/gen/sift/policies/v1/policies.pb.gw.go delete mode 100644 go/gen/sift/policies/v1/policies_vtproto.pb.go delete mode 100644 go/gen/sift/resource_attribute/v1/resource_attribute.pb.go delete mode 100644 go/gen/sift/resource_attribute/v1/resource_attribute.pb.gw.go delete mode 100644 go/gen/sift/resource_attribute/v1/resource_attribute_vtproto.pb.go delete mode 100644 go/gen/sift/user_attributes/v1/user_attributes.pb.go delete mode 100644 go/gen/sift/user_attributes/v1/user_attributes.pb.gw.go delete mode 100644 go/gen/sift/user_attributes/v1/user_attributes_vtproto.pb.go create mode 100644 protos/sift/common/type/v1/calculated_channels.proto create mode 100644 protos/sift/common/v1/action_type.proto create mode 100644 protos/sift/common/v1/resource_type.proto delete mode 100644 protos/sift/options/v1/safe_to_log.proto delete mode 100644 protos/sift/policies/v1/policies.proto delete mode 100644 protos/sift/resource_attribute/v1/resource_attribute.proto delete mode 100644 protos/sift/user_attributes/v1/user_attributes.proto create mode 100644 python/lib/sift/common/type/v1/calculated_channels_pb2.py create mode 100644 python/lib/sift/common/type/v1/calculated_channels_pb2.pyi rename python/lib/sift/{options/v1/safe_to_log_pb2_grpc.py => common/type/v1/calculated_channels_pb2_grpc.py} (100%) rename python/lib/sift/{options/v1/safe_to_log_pb2_grpc.pyi => common/type/v1/calculated_channels_pb2_grpc.pyi} (100%) rename python/lib/sift/{options => common/v1}/__init__.py (100%) create mode 100644 python/lib/sift/common/v1/action_type_pb2.py create mode 100644 python/lib/sift/common/v1/action_type_pb2.pyi create mode 100644 python/lib/sift/common/v1/action_type_pb2_grpc.py create mode 100644 python/lib/sift/common/v1/action_type_pb2_grpc.pyi create mode 100644 python/lib/sift/common/v1/resource_type_pb2.py create mode 100644 python/lib/sift/common/v1/resource_type_pb2.pyi create mode 100644 python/lib/sift/common/v1/resource_type_pb2_grpc.py create mode 100644 python/lib/sift/common/v1/resource_type_pb2_grpc.pyi delete mode 100644 python/lib/sift/options/v1/__init__.py delete mode 100644 python/lib/sift/options/v1/safe_to_log_pb2.py delete mode 100644 python/lib/sift/options/v1/safe_to_log_pb2.pyi delete mode 100644 python/lib/sift/policies/__init__.py delete mode 100644 python/lib/sift/policies/v1/__init__.py delete mode 100644 python/lib/sift/policies/v1/policies_pb2.py delete mode 100644 python/lib/sift/policies/v1/policies_pb2.pyi delete mode 100644 python/lib/sift/policies/v1/policies_pb2_grpc.py delete mode 100644 python/lib/sift/policies/v1/policies_pb2_grpc.pyi delete mode 100644 python/lib/sift/resource_attribute/__init__.py delete mode 100644 python/lib/sift/resource_attribute/v1/__init__.py delete mode 100644 python/lib/sift/resource_attribute/v1/resource_attribute_pb2.py delete mode 100644 python/lib/sift/resource_attribute/v1/resource_attribute_pb2.pyi delete mode 100644 python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.py delete mode 100644 python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.pyi delete mode 100644 python/lib/sift/user_attributes/__init__.py delete mode 100644 python/lib/sift/user_attributes/v1/__init__.py delete mode 100644 python/lib/sift/user_attributes/v1/user_attributes_pb2.py delete mode 100644 python/lib/sift/user_attributes/v1/user_attributes_pb2.pyi delete mode 100644 python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.py delete mode 100644 python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.pyi delete mode 100644 rust/crates/sift_rs/src/gen/buf/validate/buf.validate.rs delete mode 100644 rust/crates/sift_rs/src/gen/buf/validate/buf.validate.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/google/api/google.api.rs delete mode 100644 rust/crates/sift_rs/src/gen/google/api/google.api.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.rs delete mode 100644 rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.serde.rs create mode 100644 rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.rs create mode 100644 rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/options/v1/sift.options.v1.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.tonic.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.tonic.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.serde.rs delete mode 100644 rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.tonic.rs diff --git a/go/gen/sift/annotation_logs/v1/annotation_logs.pb.go b/go/gen/sift/annotation_logs/v1/annotation_logs.pb.go index 50f6fd415..b2dfa437f 100644 --- a/go/gen/sift/annotation_logs/v1/annotation_logs.pb.go +++ b/go/gen/sift/annotation_logs/v1/annotation_logs.pb.go @@ -365,7 +365,7 @@ type ListAnnotationLogsRequest struct { // Available fields to filter by are `annotation_log_id`, `annotation_id`, `created_by_user_id`, // `annotation_id`, `created_date`, `modified_date`, and `kind`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. + // For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` } diff --git a/go/gen/sift/annotations/v1/annotations.pb.go b/go/gen/sift/annotations/v1/annotations.pb.go index 224a1d485..f69f14e95 100644 --- a/go/gen/sift/annotations/v1/annotations.pb.go +++ b/go/gen/sift/annotations/v1/annotations.pb.go @@ -162,7 +162,9 @@ type Annotation struct { Metadata []*v11.MetadataValue `protobuf:"bytes,25,rep,name=metadata,proto3" json:"metadata,omitempty"` ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` // is_archived is a inferred from when archived_date is not null - IsArchived bool `protobuf:"varint,27,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` + IsArchived bool `protobuf:"varint,27,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` + BatchedTriggers int32 `protobuf:"varint,28,opt,name=batched_triggers,json=batchedTriggers,proto3" json:"batched_triggers,omitempty"` + IsNoisyRule bool `protobuf:"varint,29,opt,name=is_noisy_rule,json=isNoisyRule,proto3" json:"is_noisy_rule,omitempty"` } func (x *Annotation) Reset() { @@ -387,6 +389,20 @@ func (x *Annotation) GetIsArchived() bool { return false } +func (x *Annotation) GetBatchedTriggers() int32 { + if x != nil { + return x.BatchedTriggers + } + return 0 +} + +func (x *Annotation) GetIsNoisyRule() bool { + if x != nil { + return x.IsNoisyRule + } + return false +} + type AnnotationLinkedChannelsChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -489,6 +505,53 @@ func (x *AnnotationLinkedChannelsBitFieldElement) GetBitFieldName() string { return "" } +type AnnotationLinkedCalculatedChannel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CalculatedChannelVersionId string `protobuf:"bytes,1,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3" json:"calculated_channel_version_id,omitempty"` +} + +func (x *AnnotationLinkedCalculatedChannel) Reset() { + *x = AnnotationLinkedCalculatedChannel{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *AnnotationLinkedCalculatedChannel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AnnotationLinkedCalculatedChannel) ProtoMessage() {} + +func (x *AnnotationLinkedCalculatedChannel) ProtoReflect() protoreflect.Message { + mi := &file_sift_annotations_v1_annotations_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 AnnotationLinkedCalculatedChannel.ProtoReflect.Descriptor instead. +func (*AnnotationLinkedCalculatedChannel) Descriptor() ([]byte, []int) { + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{3} +} + +func (x *AnnotationLinkedCalculatedChannel) GetCalculatedChannelVersionId() string { + if x != nil { + return x.CalculatedChannelVersionId + } + return "" +} + type AnnotationLinkedChannel struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -498,13 +561,14 @@ type AnnotationLinkedChannel struct { // // *AnnotationLinkedChannel_Channel // *AnnotationLinkedChannel_BitFieldElement + // *AnnotationLinkedChannel_CalculatedChannel Type isAnnotationLinkedChannel_Type `protobuf_oneof:"type"` } func (x *AnnotationLinkedChannel) Reset() { *x = AnnotationLinkedChannel{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[3] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -517,7 +581,7 @@ func (x *AnnotationLinkedChannel) String() string { func (*AnnotationLinkedChannel) ProtoMessage() {} func (x *AnnotationLinkedChannel) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[3] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -530,7 +594,7 @@ func (x *AnnotationLinkedChannel) ProtoReflect() protoreflect.Message { // Deprecated: Use AnnotationLinkedChannel.ProtoReflect.Descriptor instead. func (*AnnotationLinkedChannel) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{3} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{4} } func (m *AnnotationLinkedChannel) GetType() isAnnotationLinkedChannel_Type { @@ -554,6 +618,13 @@ func (x *AnnotationLinkedChannel) GetBitFieldElement() *AnnotationLinkedChannels return nil } +func (x *AnnotationLinkedChannel) GetCalculatedChannel() *AnnotationLinkedCalculatedChannel { + if x, ok := x.GetType().(*AnnotationLinkedChannel_CalculatedChannel); ok { + return x.CalculatedChannel + } + return nil +} + type isAnnotationLinkedChannel_Type interface { isAnnotationLinkedChannel_Type() } @@ -566,10 +637,16 @@ type AnnotationLinkedChannel_BitFieldElement struct { BitFieldElement *AnnotationLinkedChannelsBitFieldElement `protobuf:"bytes,2,opt,name=bit_field_element,json=bitFieldElement,proto3,oneof"` } +type AnnotationLinkedChannel_CalculatedChannel struct { + CalculatedChannel *AnnotationLinkedCalculatedChannel `protobuf:"bytes,3,opt,name=calculated_channel,json=calculatedChannel,proto3,oneof"` +} + func (*AnnotationLinkedChannel_Channel) isAnnotationLinkedChannel_Type() {} func (*AnnotationLinkedChannel_BitFieldElement) isAnnotationLinkedChannel_Type() {} +func (*AnnotationLinkedChannel_CalculatedChannel) isAnnotationLinkedChannel_Type() {} + // The request for a call to `AnnotationService_CreateAnnotation` to create a new annotation. // At least 1 asset, tag, or channel must be specified. type CreateAnnotationRequest struct { @@ -616,7 +693,7 @@ type CreateAnnotationRequest struct { func (x *CreateAnnotationRequest) Reset() { *x = CreateAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[4] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -629,7 +706,7 @@ func (x *CreateAnnotationRequest) String() string { func (*CreateAnnotationRequest) ProtoMessage() {} func (x *CreateAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[4] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -642,7 +719,7 @@ func (x *CreateAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAnnotationRequest.ProtoReflect.Descriptor instead. func (*CreateAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{4} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{5} } func (x *CreateAnnotationRequest) GetName() string { @@ -769,7 +846,7 @@ type CreateAnnotationResponse struct { func (x *CreateAnnotationResponse) Reset() { *x = CreateAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[5] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -782,7 +859,7 @@ func (x *CreateAnnotationResponse) String() string { func (*CreateAnnotationResponse) ProtoMessage() {} func (x *CreateAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[5] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -795,7 +872,7 @@ func (x *CreateAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateAnnotationResponse.ProtoReflect.Descriptor instead. func (*CreateAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{5} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{6} } func (x *CreateAnnotationResponse) GetAnnotation() *Annotation { @@ -817,7 +894,7 @@ type DeleteAnnotationRequest struct { func (x *DeleteAnnotationRequest) Reset() { *x = DeleteAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[6] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -830,7 +907,7 @@ func (x *DeleteAnnotationRequest) String() string { func (*DeleteAnnotationRequest) ProtoMessage() {} func (x *DeleteAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[6] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -843,7 +920,7 @@ func (x *DeleteAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnotationRequest.ProtoReflect.Descriptor instead. func (*DeleteAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{6} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{7} } func (x *DeleteAnnotationRequest) GetAnnotationId() string { @@ -863,7 +940,7 @@ type DeleteAnnotationResponse struct { func (x *DeleteAnnotationResponse) Reset() { *x = DeleteAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[7] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -876,7 +953,7 @@ func (x *DeleteAnnotationResponse) String() string { func (*DeleteAnnotationResponse) ProtoMessage() {} func (x *DeleteAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[7] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -889,7 +966,7 @@ func (x *DeleteAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use DeleteAnnotationResponse.ProtoReflect.Descriptor instead. func (*DeleteAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{7} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{8} } type BatchDeleteAnnotationsRequest struct { @@ -904,7 +981,7 @@ type BatchDeleteAnnotationsRequest struct { func (x *BatchDeleteAnnotationsRequest) Reset() { *x = BatchDeleteAnnotationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[8] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -917,7 +994,7 @@ func (x *BatchDeleteAnnotationsRequest) String() string { func (*BatchDeleteAnnotationsRequest) ProtoMessage() {} func (x *BatchDeleteAnnotationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[8] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -930,7 +1007,7 @@ func (x *BatchDeleteAnnotationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchDeleteAnnotationsRequest.ProtoReflect.Descriptor instead. func (*BatchDeleteAnnotationsRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{8} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{9} } func (x *BatchDeleteAnnotationsRequest) GetAnnotationIds() []string { @@ -949,7 +1026,7 @@ type BatchDeleteAnnotationsResponse struct { func (x *BatchDeleteAnnotationsResponse) Reset() { *x = BatchDeleteAnnotationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[9] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -962,7 +1039,7 @@ func (x *BatchDeleteAnnotationsResponse) String() string { func (*BatchDeleteAnnotationsResponse) ProtoMessage() {} func (x *BatchDeleteAnnotationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[9] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -975,7 +1052,7 @@ func (x *BatchDeleteAnnotationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchDeleteAnnotationsResponse.ProtoReflect.Descriptor instead. func (*BatchDeleteAnnotationsResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{9} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{10} } // The request for a call to `AnnotationService_GetAnnotation`. @@ -990,7 +1067,7 @@ type GetAnnotationRequest struct { func (x *GetAnnotationRequest) Reset() { *x = GetAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[10] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1003,7 +1080,7 @@ func (x *GetAnnotationRequest) String() string { func (*GetAnnotationRequest) ProtoMessage() {} func (x *GetAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[10] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1016,7 +1093,7 @@ func (x *GetAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnotationRequest.ProtoReflect.Descriptor instead. func (*GetAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{10} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{11} } func (x *GetAnnotationRequest) GetAnnotationId() string { @@ -1038,7 +1115,7 @@ type GetAnnotationResponse struct { func (x *GetAnnotationResponse) Reset() { *x = GetAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[11] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1051,7 +1128,7 @@ func (x *GetAnnotationResponse) String() string { func (*GetAnnotationResponse) ProtoMessage() {} func (x *GetAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[11] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1064,7 +1141,7 @@ func (x *GetAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetAnnotationResponse.ProtoReflect.Descriptor instead. func (*GetAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{11} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{12} } func (x *GetAnnotationResponse) GetAnnotation() *Annotation { @@ -1091,7 +1168,7 @@ type ListAnnotationsRequest struct { PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. // Available fields to filter by are `annotation_id`, `start_time`, `end_time`, - // `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, + // `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, `rule_id`, // `annotation_type`, `tag_name`, `report_id`, `asset_id`, `asset_name`, `pending`, `assignee`, `campaign_reports`, `metadata`, `archived_date`, and `is_archived`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotations#annotation). Optional. @@ -1109,7 +1186,7 @@ type ListAnnotationsRequest struct { func (x *ListAnnotationsRequest) Reset() { *x = ListAnnotationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[12] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1122,7 +1199,7 @@ func (x *ListAnnotationsRequest) String() string { func (*ListAnnotationsRequest) ProtoMessage() {} func (x *ListAnnotationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[12] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1135,7 +1212,7 @@ func (x *ListAnnotationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAnnotationsRequest.ProtoReflect.Descriptor instead. func (*ListAnnotationsRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{12} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{13} } func (x *ListAnnotationsRequest) GetPageSize() uint32 { @@ -1187,7 +1264,7 @@ type ListAnnotationsResponse struct { func (x *ListAnnotationsResponse) Reset() { *x = ListAnnotationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[13] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1200,7 +1277,7 @@ func (x *ListAnnotationsResponse) String() string { func (*ListAnnotationsResponse) ProtoMessage() {} func (x *ListAnnotationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[13] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1213,7 +1290,7 @@ func (x *ListAnnotationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListAnnotationsResponse.ProtoReflect.Descriptor instead. func (*ListAnnotationsResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{13} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{14} } func (x *ListAnnotationsResponse) GetAnnotations() []*Annotation { @@ -1248,7 +1325,7 @@ type UpdateAnnotationRequest struct { func (x *UpdateAnnotationRequest) Reset() { *x = UpdateAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[14] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1261,7 +1338,7 @@ func (x *UpdateAnnotationRequest) String() string { func (*UpdateAnnotationRequest) ProtoMessage() {} func (x *UpdateAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[14] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1274,7 +1351,7 @@ func (x *UpdateAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAnnotationRequest.ProtoReflect.Descriptor instead. func (*UpdateAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{14} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{15} } func (x *UpdateAnnotationRequest) GetAnnotation() *Annotation { @@ -1303,7 +1380,7 @@ type UpdateAnnotationResponse struct { func (x *UpdateAnnotationResponse) Reset() { *x = UpdateAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[15] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1316,7 +1393,7 @@ func (x *UpdateAnnotationResponse) String() string { func (*UpdateAnnotationResponse) ProtoMessage() {} func (x *UpdateAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[15] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1329,7 +1406,7 @@ func (x *UpdateAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateAnnotationResponse.ProtoReflect.Descriptor instead. func (*UpdateAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{15} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{16} } func (x *UpdateAnnotationResponse) GetAnnotation() *Annotation { @@ -1351,7 +1428,7 @@ type ArchiveAnnotationRequest struct { func (x *ArchiveAnnotationRequest) Reset() { *x = ArchiveAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[16] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1364,7 +1441,7 @@ func (x *ArchiveAnnotationRequest) String() string { func (*ArchiveAnnotationRequest) ProtoMessage() {} func (x *ArchiveAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[16] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1377,7 +1454,7 @@ func (x *ArchiveAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveAnnotationRequest.ProtoReflect.Descriptor instead. func (*ArchiveAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{16} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{17} } func (x *ArchiveAnnotationRequest) GetAnnotationId() string { @@ -1399,7 +1476,7 @@ type ArchiveAnnotationResponse struct { func (x *ArchiveAnnotationResponse) Reset() { *x = ArchiveAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[17] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1412,7 +1489,7 @@ func (x *ArchiveAnnotationResponse) String() string { func (*ArchiveAnnotationResponse) ProtoMessage() {} func (x *ArchiveAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[17] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1425,7 +1502,7 @@ func (x *ArchiveAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ArchiveAnnotationResponse.ProtoReflect.Descriptor instead. func (*ArchiveAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{17} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{18} } func (x *ArchiveAnnotationResponse) GetAnnotation() *Annotation { @@ -1447,7 +1524,7 @@ type UnarchiveAnnotationRequest struct { func (x *UnarchiveAnnotationRequest) Reset() { *x = UnarchiveAnnotationRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[18] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1460,7 +1537,7 @@ func (x *UnarchiveAnnotationRequest) String() string { func (*UnarchiveAnnotationRequest) ProtoMessage() {} func (x *UnarchiveAnnotationRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[18] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1473,7 +1550,7 @@ func (x *UnarchiveAnnotationRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UnarchiveAnnotationRequest.ProtoReflect.Descriptor instead. func (*UnarchiveAnnotationRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{18} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{19} } func (x *UnarchiveAnnotationRequest) GetAnnotationId() string { @@ -1495,7 +1572,7 @@ type UnarchiveAnnotationResponse struct { func (x *UnarchiveAnnotationResponse) Reset() { *x = UnarchiveAnnotationResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[19] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1508,7 +1585,7 @@ func (x *UnarchiveAnnotationResponse) String() string { func (*UnarchiveAnnotationResponse) ProtoMessage() {} func (x *UnarchiveAnnotationResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[19] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1521,7 +1598,7 @@ func (x *UnarchiveAnnotationResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UnarchiveAnnotationResponse.ProtoReflect.Descriptor instead. func (*UnarchiveAnnotationResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{19} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{20} } func (x *UnarchiveAnnotationResponse) GetAnnotation() *Annotation { @@ -1544,7 +1621,7 @@ type BatchArchiveAnnotationsRequest struct { func (x *BatchArchiveAnnotationsRequest) Reset() { *x = BatchArchiveAnnotationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[20] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1557,7 +1634,7 @@ func (x *BatchArchiveAnnotationsRequest) String() string { func (*BatchArchiveAnnotationsRequest) ProtoMessage() {} func (x *BatchArchiveAnnotationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[20] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1570,7 +1647,7 @@ func (x *BatchArchiveAnnotationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchArchiveAnnotationsRequest.ProtoReflect.Descriptor instead. func (*BatchArchiveAnnotationsRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{20} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{21} } func (x *BatchArchiveAnnotationsRequest) GetAnnotationIds() []string { @@ -1592,7 +1669,7 @@ type BatchArchiveAnnotationsResponse struct { func (x *BatchArchiveAnnotationsResponse) Reset() { *x = BatchArchiveAnnotationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[21] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1605,7 +1682,7 @@ func (x *BatchArchiveAnnotationsResponse) String() string { func (*BatchArchiveAnnotationsResponse) ProtoMessage() {} func (x *BatchArchiveAnnotationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[21] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1618,7 +1695,7 @@ func (x *BatchArchiveAnnotationsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchArchiveAnnotationsResponse.ProtoReflect.Descriptor instead. func (*BatchArchiveAnnotationsResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{21} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{22} } func (x *BatchArchiveAnnotationsResponse) GetAnnotations() []*Annotation { @@ -1641,7 +1718,7 @@ type BatchUnarchiveAnnotationsRequest struct { func (x *BatchUnarchiveAnnotationsRequest) Reset() { *x = BatchUnarchiveAnnotationsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[22] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1654,7 +1731,7 @@ func (x *BatchUnarchiveAnnotationsRequest) String() string { func (*BatchUnarchiveAnnotationsRequest) ProtoMessage() {} func (x *BatchUnarchiveAnnotationsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[22] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1667,7 +1744,7 @@ func (x *BatchUnarchiveAnnotationsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use BatchUnarchiveAnnotationsRequest.ProtoReflect.Descriptor instead. func (*BatchUnarchiveAnnotationsRequest) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{22} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{23} } func (x *BatchUnarchiveAnnotationsRequest) GetAnnotationIds() []string { @@ -1689,7 +1766,7 @@ type BatchUnarchiveAnnotationsResponse struct { func (x *BatchUnarchiveAnnotationsResponse) Reset() { *x = BatchUnarchiveAnnotationsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[23] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1702,7 +1779,7 @@ func (x *BatchUnarchiveAnnotationsResponse) String() string { func (*BatchUnarchiveAnnotationsResponse) ProtoMessage() {} func (x *BatchUnarchiveAnnotationsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_annotations_v1_annotations_proto_msgTypes[23] + mi := &file_sift_annotations_v1_annotations_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1715,7 +1792,7 @@ func (x *BatchUnarchiveAnnotationsResponse) ProtoReflect() protoreflect.Message // Deprecated: Use BatchUnarchiveAnnotationsResponse.ProtoReflect.Descriptor instead. func (*BatchUnarchiveAnnotationsResponse) Descriptor() ([]byte, []int) { - return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{23} + return file_sift_annotations_v1_annotations_proto_rawDescGZIP(), []int{24} } func (x *BatchUnarchiveAnnotationsResponse) GetAnnotations() []*Annotation { @@ -1747,7 +1824,7 @@ var file_sift_annotations_v1_annotations_proto_rawDesc = []byte{ 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x81, 0x0d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, + 0xda, 0x0d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, @@ -1842,402 +1919,421 @@ var file_sift_annotations_v1_annotations_proto_rawDesc = []byte{ 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, - 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x1f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x27, 0x41, 0x6e, + 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x2e, 0x0a, 0x10, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, + 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x65, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, 0x12, 0x27, 0x0a, 0x0d, + 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x1d, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x73, 0x4e, 0x6f, 0x69, 0x73, + 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, + 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x1f, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, + 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x27, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, + 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, + 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x6b, 0x0a, + 0x21, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, + 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x46, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc8, 0x02, 0x0a, 0x17, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x50, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x62, 0x69, 0x74, - 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x17, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x50, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, - 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x62, - 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x06, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, - 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x06, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x01, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, + 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x0f, 0x6c, 0x69, + 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, - 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, - 0x0a, 0x0d, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x65, - 0x67, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, - 0x24, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x05, 0x52, 0x1f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x52, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, - 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, - 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x18, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, + 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x33, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3f, 0x0a, 0x17, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x03, 0x52, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, + 0x0d, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x6c, 0x65, 0x67, + 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x24, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x05, 0x52, 0x1f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x52, 0x75, 0x6c, 0x65, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, 0x6f, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, + 0x74, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x60, 0x0a, 0x18, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x17, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1d, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, + 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14, 0x47, + 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5d, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x43, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, 0x0a, + 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xa1, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0a, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3f, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x44, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x1a, 0x55, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, - 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, - 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x0a, 0x14, - 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x5d, - 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xc9, 0x01, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, 0x0a, 0x17, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x44, 0x0a, 0x0a, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x64, 0x22, 0x63, 0x0a, 0x1b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x3f, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x44, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, - 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x1a, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x63, 0x0a, 0x1b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x22, 0x4e, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, - 0x22, 0x6b, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x8b, 0x01, - 0x0a, 0x0f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x1c, - 0x0a, 0x18, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, - 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, - 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, - 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x6d, 0x0a, 0x0e, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, + 0x4e, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, + 0x6b, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x8b, 0x01, 0x0a, + 0x0f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x41, + 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, + 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x6d, 0x0a, 0x0e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x1b, + 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1f, - 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x01, 0x12, - 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x10, 0x02, 0x32, 0x81, 0x13, 0x0a, 0x11, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0xbc, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x2a, 0x12, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0xcd, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, 0x10, 0x01, 0x12, 0x19, + 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x10, 0x02, 0x32, 0x81, 0x13, 0x0a, 0x11, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, + 0xbc, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5c, 0x88, 0x02, 0x01, 0x92, 0x41, 0x2b, 0x12, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x22, 0x4b, 0x92, 0x41, 0x2a, 0x12, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xcd, + 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x5c, 0x88, 0x02, 0x01, 0x92, 0x41, 0x2b, 0x12, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd9, + 0x01, 0x0a, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x2c, 0x12, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, - 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, - 0xd9, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x2c, 0x12, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe5, 0x01, 0x0a, 0x13, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe5, 0x01, 0x0a, 0x13, 0x55, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x92, 0x41, 0x30, 0x12, 0x13, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x19, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x88, 0x02, 0x01, 0x92, 0x41, 0x34, 0x12, - 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xea, 0x01, - 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x36, 0x12, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf6, 0x01, 0x0a, 0x19, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x92, 0x41, 0x30, 0x12, 0x13, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x19, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, + 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x32, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x88, 0x02, 0x01, 0x92, 0x41, 0x34, 0x12, 0x15, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xea, 0x01, 0x0a, + 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x92, 0x41, 0x3a, 0x12, 0x19, 0x42, 0x61, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x36, 0x12, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf6, 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, - 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x41, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x92, 0x41, 0x3a, 0x12, 0x19, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, - 0x28, 0x12, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, - 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x92, 0x41, 0x6d, 0x12, 0x10, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x59, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, - 0x01, 0x2a, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb4, 0x01, 0x92, 0x41, 0xb0, 0x01, 0x12, 0x36, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x1a, 0x76, 0x0a, 0x1c, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, - 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x38, 0x36, 0x36, 0x38, 0x35, 0x42, 0xf7, - 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, - 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, - 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, - 0x41, 0x16, 0x12, 0x14, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5f, 0x92, 0x41, 0x41, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x12, 0x13, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x92, 0x41, 0x28, + 0x12, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x17, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x12, 0x23, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x92, 0x41, 0x6d, 0x12, 0x10, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x59, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, + 0x2a, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb4, 0x01, 0x92, 0x41, 0xb0, 0x01, 0x12, 0x36, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x1a, 0x76, 0x0a, 0x1c, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x38, 0x36, 0x36, 0x38, 0x35, 0x42, 0xf7, 0x01, + 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x41, 0x58, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, + 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, + 0x16, 0x12, 0x14, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2253,94 +2349,96 @@ func file_sift_annotations_v1_annotations_proto_rawDescGZIP() []byte { } var file_sift_annotations_v1_annotations_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_sift_annotations_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 24) +var file_sift_annotations_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 25) var file_sift_annotations_v1_annotations_proto_goTypes = []interface{}{ (AnnotationState)(0), // 0: sift.annotations.v1.AnnotationState (AnnotationType)(0), // 1: sift.annotations.v1.AnnotationType (*Annotation)(nil), // 2: sift.annotations.v1.Annotation (*AnnotationLinkedChannelsChannel)(nil), // 3: sift.annotations.v1.AnnotationLinkedChannelsChannel (*AnnotationLinkedChannelsBitFieldElement)(nil), // 4: sift.annotations.v1.AnnotationLinkedChannelsBitFieldElement - (*AnnotationLinkedChannel)(nil), // 5: sift.annotations.v1.AnnotationLinkedChannel - (*CreateAnnotationRequest)(nil), // 6: sift.annotations.v1.CreateAnnotationRequest - (*CreateAnnotationResponse)(nil), // 7: sift.annotations.v1.CreateAnnotationResponse - (*DeleteAnnotationRequest)(nil), // 8: sift.annotations.v1.DeleteAnnotationRequest - (*DeleteAnnotationResponse)(nil), // 9: sift.annotations.v1.DeleteAnnotationResponse - (*BatchDeleteAnnotationsRequest)(nil), // 10: sift.annotations.v1.BatchDeleteAnnotationsRequest - (*BatchDeleteAnnotationsResponse)(nil), // 11: sift.annotations.v1.BatchDeleteAnnotationsResponse - (*GetAnnotationRequest)(nil), // 12: sift.annotations.v1.GetAnnotationRequest - (*GetAnnotationResponse)(nil), // 13: sift.annotations.v1.GetAnnotationResponse - (*ListAnnotationsRequest)(nil), // 14: sift.annotations.v1.ListAnnotationsRequest - (*ListAnnotationsResponse)(nil), // 15: sift.annotations.v1.ListAnnotationsResponse - (*UpdateAnnotationRequest)(nil), // 16: sift.annotations.v1.UpdateAnnotationRequest - (*UpdateAnnotationResponse)(nil), // 17: sift.annotations.v1.UpdateAnnotationResponse - (*ArchiveAnnotationRequest)(nil), // 18: sift.annotations.v1.ArchiveAnnotationRequest - (*ArchiveAnnotationResponse)(nil), // 19: sift.annotations.v1.ArchiveAnnotationResponse - (*UnarchiveAnnotationRequest)(nil), // 20: sift.annotations.v1.UnarchiveAnnotationRequest - (*UnarchiveAnnotationResponse)(nil), // 21: sift.annotations.v1.UnarchiveAnnotationResponse - (*BatchArchiveAnnotationsRequest)(nil), // 22: sift.annotations.v1.BatchArchiveAnnotationsRequest - (*BatchArchiveAnnotationsResponse)(nil), // 23: sift.annotations.v1.BatchArchiveAnnotationsResponse - (*BatchUnarchiveAnnotationsRequest)(nil), // 24: sift.annotations.v1.BatchUnarchiveAnnotationsRequest - (*BatchUnarchiveAnnotationsResponse)(nil), // 25: sift.annotations.v1.BatchUnarchiveAnnotationsResponse - (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp - (*v1.User)(nil), // 27: sift.common.type.v1.User - (*v11.MetadataValue)(nil), // 28: sift.metadata.v1.MetadataValue - (*fieldmaskpb.FieldMask)(nil), // 29: google.protobuf.FieldMask + (*AnnotationLinkedCalculatedChannel)(nil), // 5: sift.annotations.v1.AnnotationLinkedCalculatedChannel + (*AnnotationLinkedChannel)(nil), // 6: sift.annotations.v1.AnnotationLinkedChannel + (*CreateAnnotationRequest)(nil), // 7: sift.annotations.v1.CreateAnnotationRequest + (*CreateAnnotationResponse)(nil), // 8: sift.annotations.v1.CreateAnnotationResponse + (*DeleteAnnotationRequest)(nil), // 9: sift.annotations.v1.DeleteAnnotationRequest + (*DeleteAnnotationResponse)(nil), // 10: sift.annotations.v1.DeleteAnnotationResponse + (*BatchDeleteAnnotationsRequest)(nil), // 11: sift.annotations.v1.BatchDeleteAnnotationsRequest + (*BatchDeleteAnnotationsResponse)(nil), // 12: sift.annotations.v1.BatchDeleteAnnotationsResponse + (*GetAnnotationRequest)(nil), // 13: sift.annotations.v1.GetAnnotationRequest + (*GetAnnotationResponse)(nil), // 14: sift.annotations.v1.GetAnnotationResponse + (*ListAnnotationsRequest)(nil), // 15: sift.annotations.v1.ListAnnotationsRequest + (*ListAnnotationsResponse)(nil), // 16: sift.annotations.v1.ListAnnotationsResponse + (*UpdateAnnotationRequest)(nil), // 17: sift.annotations.v1.UpdateAnnotationRequest + (*UpdateAnnotationResponse)(nil), // 18: sift.annotations.v1.UpdateAnnotationResponse + (*ArchiveAnnotationRequest)(nil), // 19: sift.annotations.v1.ArchiveAnnotationRequest + (*ArchiveAnnotationResponse)(nil), // 20: sift.annotations.v1.ArchiveAnnotationResponse + (*UnarchiveAnnotationRequest)(nil), // 21: sift.annotations.v1.UnarchiveAnnotationRequest + (*UnarchiveAnnotationResponse)(nil), // 22: sift.annotations.v1.UnarchiveAnnotationResponse + (*BatchArchiveAnnotationsRequest)(nil), // 23: sift.annotations.v1.BatchArchiveAnnotationsRequest + (*BatchArchiveAnnotationsResponse)(nil), // 24: sift.annotations.v1.BatchArchiveAnnotationsResponse + (*BatchUnarchiveAnnotationsRequest)(nil), // 25: sift.annotations.v1.BatchUnarchiveAnnotationsRequest + (*BatchUnarchiveAnnotationsResponse)(nil), // 26: sift.annotations.v1.BatchUnarchiveAnnotationsResponse + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (*v1.User)(nil), // 28: sift.common.type.v1.User + (*v11.MetadataValue)(nil), // 29: sift.metadata.v1.MetadataValue + (*fieldmaskpb.FieldMask)(nil), // 30: google.protobuf.FieldMask } var file_sift_annotations_v1_annotations_proto_depIdxs = []int32{ - 26, // 0: sift.annotations.v1.Annotation.start_time:type_name -> google.protobuf.Timestamp - 26, // 1: sift.annotations.v1.Annotation.end_time:type_name -> google.protobuf.Timestamp - 26, // 2: sift.annotations.v1.Annotation.created_date:type_name -> google.protobuf.Timestamp - 26, // 3: sift.annotations.v1.Annotation.modified_date:type_name -> google.protobuf.Timestamp + 27, // 0: sift.annotations.v1.Annotation.start_time:type_name -> google.protobuf.Timestamp + 27, // 1: sift.annotations.v1.Annotation.end_time:type_name -> google.protobuf.Timestamp + 27, // 2: sift.annotations.v1.Annotation.created_date:type_name -> google.protobuf.Timestamp + 27, // 3: sift.annotations.v1.Annotation.modified_date:type_name -> google.protobuf.Timestamp 0, // 4: sift.annotations.v1.Annotation.state:type_name -> sift.annotations.v1.AnnotationState 1, // 5: sift.annotations.v1.Annotation.annotation_type:type_name -> sift.annotations.v1.AnnotationType - 27, // 6: sift.annotations.v1.Annotation.assigned_to_user:type_name -> sift.common.type.v1.User - 26, // 7: sift.annotations.v1.Annotation.deleted_date:type_name -> google.protobuf.Timestamp - 5, // 8: sift.annotations.v1.Annotation.linked_channels:type_name -> sift.annotations.v1.AnnotationLinkedChannel - 28, // 9: sift.annotations.v1.Annotation.metadata:type_name -> sift.metadata.v1.MetadataValue - 26, // 10: sift.annotations.v1.Annotation.archived_date:type_name -> google.protobuf.Timestamp + 28, // 6: sift.annotations.v1.Annotation.assigned_to_user:type_name -> sift.common.type.v1.User + 27, // 7: sift.annotations.v1.Annotation.deleted_date:type_name -> google.protobuf.Timestamp + 6, // 8: sift.annotations.v1.Annotation.linked_channels:type_name -> sift.annotations.v1.AnnotationLinkedChannel + 29, // 9: sift.annotations.v1.Annotation.metadata:type_name -> sift.metadata.v1.MetadataValue + 27, // 10: sift.annotations.v1.Annotation.archived_date:type_name -> google.protobuf.Timestamp 3, // 11: sift.annotations.v1.AnnotationLinkedChannel.channel:type_name -> sift.annotations.v1.AnnotationLinkedChannelsChannel 4, // 12: sift.annotations.v1.AnnotationLinkedChannel.bit_field_element:type_name -> sift.annotations.v1.AnnotationLinkedChannelsBitFieldElement - 26, // 13: sift.annotations.v1.CreateAnnotationRequest.start_time:type_name -> google.protobuf.Timestamp - 26, // 14: sift.annotations.v1.CreateAnnotationRequest.end_time:type_name -> google.protobuf.Timestamp - 5, // 15: sift.annotations.v1.CreateAnnotationRequest.linked_channels:type_name -> sift.annotations.v1.AnnotationLinkedChannel - 0, // 16: sift.annotations.v1.CreateAnnotationRequest.state:type_name -> sift.annotations.v1.AnnotationState - 1, // 17: sift.annotations.v1.CreateAnnotationRequest.annotation_type:type_name -> sift.annotations.v1.AnnotationType - 28, // 18: sift.annotations.v1.CreateAnnotationRequest.metadata:type_name -> sift.metadata.v1.MetadataValue - 2, // 19: sift.annotations.v1.CreateAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation - 2, // 20: sift.annotations.v1.GetAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation - 2, // 21: sift.annotations.v1.ListAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation - 2, // 22: sift.annotations.v1.UpdateAnnotationRequest.annotation:type_name -> sift.annotations.v1.Annotation - 29, // 23: sift.annotations.v1.UpdateAnnotationRequest.update_mask:type_name -> google.protobuf.FieldMask - 2, // 24: sift.annotations.v1.UpdateAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation - 2, // 25: sift.annotations.v1.ArchiveAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation - 2, // 26: sift.annotations.v1.UnarchiveAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation - 2, // 27: sift.annotations.v1.BatchArchiveAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation - 2, // 28: sift.annotations.v1.BatchUnarchiveAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation - 6, // 29: sift.annotations.v1.AnnotationService.CreateAnnotation:input_type -> sift.annotations.v1.CreateAnnotationRequest - 8, // 30: sift.annotations.v1.AnnotationService.DeleteAnnotation:input_type -> sift.annotations.v1.DeleteAnnotationRequest - 18, // 31: sift.annotations.v1.AnnotationService.ArchiveAnnotation:input_type -> sift.annotations.v1.ArchiveAnnotationRequest - 20, // 32: sift.annotations.v1.AnnotationService.UnarchiveAnnotation:input_type -> sift.annotations.v1.UnarchiveAnnotationRequest - 10, // 33: sift.annotations.v1.AnnotationService.BatchDeleteAnnotations:input_type -> sift.annotations.v1.BatchDeleteAnnotationsRequest - 22, // 34: sift.annotations.v1.AnnotationService.BatchArchiveAnnotations:input_type -> sift.annotations.v1.BatchArchiveAnnotationsRequest - 24, // 35: sift.annotations.v1.AnnotationService.BatchUnarchiveAnnotations:input_type -> sift.annotations.v1.BatchUnarchiveAnnotationsRequest - 14, // 36: sift.annotations.v1.AnnotationService.ListAnnotations:input_type -> sift.annotations.v1.ListAnnotationsRequest - 12, // 37: sift.annotations.v1.AnnotationService.GetAnnotation:input_type -> sift.annotations.v1.GetAnnotationRequest - 16, // 38: sift.annotations.v1.AnnotationService.UpdateAnnotation:input_type -> sift.annotations.v1.UpdateAnnotationRequest - 7, // 39: sift.annotations.v1.AnnotationService.CreateAnnotation:output_type -> sift.annotations.v1.CreateAnnotationResponse - 9, // 40: sift.annotations.v1.AnnotationService.DeleteAnnotation:output_type -> sift.annotations.v1.DeleteAnnotationResponse - 19, // 41: sift.annotations.v1.AnnotationService.ArchiveAnnotation:output_type -> sift.annotations.v1.ArchiveAnnotationResponse - 21, // 42: sift.annotations.v1.AnnotationService.UnarchiveAnnotation:output_type -> sift.annotations.v1.UnarchiveAnnotationResponse - 11, // 43: sift.annotations.v1.AnnotationService.BatchDeleteAnnotations:output_type -> sift.annotations.v1.BatchDeleteAnnotationsResponse - 23, // 44: sift.annotations.v1.AnnotationService.BatchArchiveAnnotations:output_type -> sift.annotations.v1.BatchArchiveAnnotationsResponse - 25, // 45: sift.annotations.v1.AnnotationService.BatchUnarchiveAnnotations:output_type -> sift.annotations.v1.BatchUnarchiveAnnotationsResponse - 15, // 46: sift.annotations.v1.AnnotationService.ListAnnotations:output_type -> sift.annotations.v1.ListAnnotationsResponse - 13, // 47: sift.annotations.v1.AnnotationService.GetAnnotation:output_type -> sift.annotations.v1.GetAnnotationResponse - 17, // 48: sift.annotations.v1.AnnotationService.UpdateAnnotation:output_type -> sift.annotations.v1.UpdateAnnotationResponse - 39, // [39:49] is the sub-list for method output_type - 29, // [29:39] is the sub-list for method input_type - 29, // [29:29] is the sub-list for extension type_name - 29, // [29:29] is the sub-list for extension extendee - 0, // [0:29] is the sub-list for field type_name + 5, // 13: sift.annotations.v1.AnnotationLinkedChannel.calculated_channel:type_name -> sift.annotations.v1.AnnotationLinkedCalculatedChannel + 27, // 14: sift.annotations.v1.CreateAnnotationRequest.start_time:type_name -> google.protobuf.Timestamp + 27, // 15: sift.annotations.v1.CreateAnnotationRequest.end_time:type_name -> google.protobuf.Timestamp + 6, // 16: sift.annotations.v1.CreateAnnotationRequest.linked_channels:type_name -> sift.annotations.v1.AnnotationLinkedChannel + 0, // 17: sift.annotations.v1.CreateAnnotationRequest.state:type_name -> sift.annotations.v1.AnnotationState + 1, // 18: sift.annotations.v1.CreateAnnotationRequest.annotation_type:type_name -> sift.annotations.v1.AnnotationType + 29, // 19: sift.annotations.v1.CreateAnnotationRequest.metadata:type_name -> sift.metadata.v1.MetadataValue + 2, // 20: sift.annotations.v1.CreateAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation + 2, // 21: sift.annotations.v1.GetAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation + 2, // 22: sift.annotations.v1.ListAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation + 2, // 23: sift.annotations.v1.UpdateAnnotationRequest.annotation:type_name -> sift.annotations.v1.Annotation + 30, // 24: sift.annotations.v1.UpdateAnnotationRequest.update_mask:type_name -> google.protobuf.FieldMask + 2, // 25: sift.annotations.v1.UpdateAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation + 2, // 26: sift.annotations.v1.ArchiveAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation + 2, // 27: sift.annotations.v1.UnarchiveAnnotationResponse.annotation:type_name -> sift.annotations.v1.Annotation + 2, // 28: sift.annotations.v1.BatchArchiveAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation + 2, // 29: sift.annotations.v1.BatchUnarchiveAnnotationsResponse.annotations:type_name -> sift.annotations.v1.Annotation + 7, // 30: sift.annotations.v1.AnnotationService.CreateAnnotation:input_type -> sift.annotations.v1.CreateAnnotationRequest + 9, // 31: sift.annotations.v1.AnnotationService.DeleteAnnotation:input_type -> sift.annotations.v1.DeleteAnnotationRequest + 19, // 32: sift.annotations.v1.AnnotationService.ArchiveAnnotation:input_type -> sift.annotations.v1.ArchiveAnnotationRequest + 21, // 33: sift.annotations.v1.AnnotationService.UnarchiveAnnotation:input_type -> sift.annotations.v1.UnarchiveAnnotationRequest + 11, // 34: sift.annotations.v1.AnnotationService.BatchDeleteAnnotations:input_type -> sift.annotations.v1.BatchDeleteAnnotationsRequest + 23, // 35: sift.annotations.v1.AnnotationService.BatchArchiveAnnotations:input_type -> sift.annotations.v1.BatchArchiveAnnotationsRequest + 25, // 36: sift.annotations.v1.AnnotationService.BatchUnarchiveAnnotations:input_type -> sift.annotations.v1.BatchUnarchiveAnnotationsRequest + 15, // 37: sift.annotations.v1.AnnotationService.ListAnnotations:input_type -> sift.annotations.v1.ListAnnotationsRequest + 13, // 38: sift.annotations.v1.AnnotationService.GetAnnotation:input_type -> sift.annotations.v1.GetAnnotationRequest + 17, // 39: sift.annotations.v1.AnnotationService.UpdateAnnotation:input_type -> sift.annotations.v1.UpdateAnnotationRequest + 8, // 40: sift.annotations.v1.AnnotationService.CreateAnnotation:output_type -> sift.annotations.v1.CreateAnnotationResponse + 10, // 41: sift.annotations.v1.AnnotationService.DeleteAnnotation:output_type -> sift.annotations.v1.DeleteAnnotationResponse + 20, // 42: sift.annotations.v1.AnnotationService.ArchiveAnnotation:output_type -> sift.annotations.v1.ArchiveAnnotationResponse + 22, // 43: sift.annotations.v1.AnnotationService.UnarchiveAnnotation:output_type -> sift.annotations.v1.UnarchiveAnnotationResponse + 12, // 44: sift.annotations.v1.AnnotationService.BatchDeleteAnnotations:output_type -> sift.annotations.v1.BatchDeleteAnnotationsResponse + 24, // 45: sift.annotations.v1.AnnotationService.BatchArchiveAnnotations:output_type -> sift.annotations.v1.BatchArchiveAnnotationsResponse + 26, // 46: sift.annotations.v1.AnnotationService.BatchUnarchiveAnnotations:output_type -> sift.annotations.v1.BatchUnarchiveAnnotationsResponse + 16, // 47: sift.annotations.v1.AnnotationService.ListAnnotations:output_type -> sift.annotations.v1.ListAnnotationsResponse + 14, // 48: sift.annotations.v1.AnnotationService.GetAnnotation:output_type -> sift.annotations.v1.GetAnnotationResponse + 18, // 49: sift.annotations.v1.AnnotationService.UpdateAnnotation:output_type -> sift.annotations.v1.UpdateAnnotationResponse + 40, // [40:50] is the sub-list for method output_type + 30, // [30:40] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name } func init() { file_sift_annotations_v1_annotations_proto_init() } @@ -2386,7 +2484,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AnnotationLinkedChannel); i { + switch v := v.(*AnnotationLinkedCalculatedChannel); i { case 0: return &v.state case 1: @@ -2398,7 +2496,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAnnotationRequest); i { + switch v := v.(*AnnotationLinkedChannel); i { case 0: return &v.state case 1: @@ -2410,7 +2508,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateAnnotationResponse); i { + switch v := v.(*CreateAnnotationRequest); i { case 0: return &v.state case 1: @@ -2422,7 +2520,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnotationRequest); i { + switch v := v.(*CreateAnnotationResponse); i { case 0: return &v.state case 1: @@ -2434,7 +2532,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteAnnotationResponse); i { + switch v := v.(*DeleteAnnotationRequest); i { case 0: return &v.state case 1: @@ -2446,7 +2544,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchDeleteAnnotationsRequest); i { + switch v := v.(*DeleteAnnotationResponse); i { case 0: return &v.state case 1: @@ -2458,7 +2556,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchDeleteAnnotationsResponse); i { + switch v := v.(*BatchDeleteAnnotationsRequest); i { case 0: return &v.state case 1: @@ -2470,7 +2568,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnotationRequest); i { + switch v := v.(*BatchDeleteAnnotationsResponse); i { case 0: return &v.state case 1: @@ -2482,7 +2580,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetAnnotationResponse); i { + switch v := v.(*GetAnnotationRequest); i { case 0: return &v.state case 1: @@ -2494,7 +2592,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAnnotationsRequest); i { + switch v := v.(*GetAnnotationResponse); i { case 0: return &v.state case 1: @@ -2506,7 +2604,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListAnnotationsResponse); i { + switch v := v.(*ListAnnotationsRequest); i { case 0: return &v.state case 1: @@ -2518,7 +2616,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAnnotationRequest); i { + switch v := v.(*ListAnnotationsResponse); i { case 0: return &v.state case 1: @@ -2530,7 +2628,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateAnnotationResponse); i { + switch v := v.(*UpdateAnnotationRequest); i { case 0: return &v.state case 1: @@ -2542,7 +2640,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveAnnotationRequest); i { + switch v := v.(*UpdateAnnotationResponse); i { case 0: return &v.state case 1: @@ -2554,7 +2652,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveAnnotationResponse); i { + switch v := v.(*ArchiveAnnotationRequest); i { case 0: return &v.state case 1: @@ -2566,7 +2664,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveAnnotationRequest); i { + switch v := v.(*ArchiveAnnotationResponse); i { case 0: return &v.state case 1: @@ -2578,7 +2676,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveAnnotationResponse); i { + switch v := v.(*UnarchiveAnnotationRequest); i { case 0: return &v.state case 1: @@ -2590,7 +2688,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveAnnotationsRequest); i { + switch v := v.(*UnarchiveAnnotationResponse); i { case 0: return &v.state case 1: @@ -2602,7 +2700,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveAnnotationsResponse); i { + switch v := v.(*BatchArchiveAnnotationsRequest); i { case 0: return &v.state case 1: @@ -2614,7 +2712,7 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveAnnotationsRequest); i { + switch v := v.(*BatchArchiveAnnotationsResponse); i { case 0: return &v.state case 1: @@ -2626,6 +2724,18 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*BatchUnarchiveAnnotationsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_annotations_v1_annotations_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BatchUnarchiveAnnotationsResponse); i { case 0: return &v.state @@ -2639,18 +2749,19 @@ func file_sift_annotations_v1_annotations_proto_init() { } } file_sift_annotations_v1_annotations_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_sift_annotations_v1_annotations_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_sift_annotations_v1_annotations_proto_msgTypes[4].OneofWrappers = []interface{}{ (*AnnotationLinkedChannel_Channel)(nil), (*AnnotationLinkedChannel_BitFieldElement)(nil), + (*AnnotationLinkedChannel_CalculatedChannel)(nil), } - file_sift_annotations_v1_annotations_proto_msgTypes[4].OneofWrappers = []interface{}{} + file_sift_annotations_v1_annotations_proto_msgTypes[5].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sift_annotations_v1_annotations_proto_rawDesc, NumEnums: 2, - NumMessages: 24, + NumMessages: 25, NumExtensions: 0, NumServices: 1, }, diff --git a/go/gen/sift/annotations/v1/annotations_vtproto.pb.go b/go/gen/sift/annotations/v1/annotations_vtproto.pb.go index f3ae0e888..8db943732 100644 --- a/go/gen/sift/annotations/v1/annotations_vtproto.pb.go +++ b/go/gen/sift/annotations/v1/annotations_vtproto.pb.go @@ -51,6 +51,8 @@ func (m *Annotation) CloneVT() *Annotation { r.DeletedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.DeletedDate).CloneVT()) r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) r.IsArchived = m.IsArchived + r.BatchedTriggers = m.BatchedTriggers + r.IsNoisyRule = m.IsNoisyRule if rhs := m.RunId; rhs != nil { tmpVal := *rhs r.RunId = &tmpVal @@ -156,6 +158,23 @@ func (m *AnnotationLinkedChannelsBitFieldElement) CloneMessageVT() proto.Message return m.CloneVT() } +func (m *AnnotationLinkedCalculatedChannel) CloneVT() *AnnotationLinkedCalculatedChannel { + if m == nil { + return (*AnnotationLinkedCalculatedChannel)(nil) + } + r := new(AnnotationLinkedCalculatedChannel) + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *AnnotationLinkedCalculatedChannel) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *AnnotationLinkedChannel) CloneVT() *AnnotationLinkedChannel { if m == nil { return (*AnnotationLinkedChannel)(nil) @@ -195,6 +214,15 @@ func (m *AnnotationLinkedChannel_BitFieldElement) CloneVT() isAnnotationLinkedCh return r } +func (m *AnnotationLinkedChannel_CalculatedChannel) CloneVT() isAnnotationLinkedChannel_Type { + if m == nil { + return (*AnnotationLinkedChannel_CalculatedChannel)(nil) + } + r := new(AnnotationLinkedChannel_CalculatedChannel) + r.CalculatedChannel = m.CalculatedChannel.CloneVT() + return r +} + func (m *CreateAnnotationRequest) CloneVT() *CreateAnnotationRequest { if m == nil { return (*CreateAnnotationRequest)(nil) @@ -761,6 +789,12 @@ func (this *Annotation) EqualVT(that *Annotation) bool { if this.IsArchived != that.IsArchived { return false } + if this.BatchedTriggers != that.BatchedTriggers { + return false + } + if this.IsNoisyRule != that.IsNoisyRule { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -812,6 +846,25 @@ func (this *AnnotationLinkedChannelsBitFieldElement) EqualMessageVT(thatMsg prot } return this.EqualVT(that) } +func (this *AnnotationLinkedCalculatedChannel) EqualVT(that *AnnotationLinkedCalculatedChannel) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *AnnotationLinkedCalculatedChannel) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*AnnotationLinkedCalculatedChannel) + if !ok { + return false + } + return this.EqualVT(that) +} func (this *AnnotationLinkedChannel) EqualVT(that *AnnotationLinkedChannel) bool { if this == that { return true @@ -890,6 +943,31 @@ func (this *AnnotationLinkedChannel_BitFieldElement) EqualVT(thatIface isAnnotat return true } +func (this *AnnotationLinkedChannel_CalculatedChannel) EqualVT(thatIface isAnnotationLinkedChannel_Type) bool { + that, ok := thatIface.(*AnnotationLinkedChannel_CalculatedChannel) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CalculatedChannel, that.CalculatedChannel; p != q { + if p == nil { + p = &AnnotationLinkedCalculatedChannel{} + } + if q == nil { + q = &AnnotationLinkedCalculatedChannel{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + func (this *CreateAnnotationRequest) EqualVT(that *CreateAnnotationRequest) bool { if this == that { return true @@ -1915,6 +1993,25 @@ func (m *Annotation) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsNoisyRule { + i-- + if m.IsNoisyRule { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe8 + } + if m.BatchedTriggers != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BatchedTriggers)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe0 + } if m.IsArchived { i-- if m.IsArchived { @@ -2279,6 +2376,46 @@ func (m *AnnotationLinkedChannelsBitFieldElement) MarshalToSizedBufferVT(dAtA [] return len(dAtA) - i, nil } +func (m *AnnotationLinkedCalculatedChannel) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AnnotationLinkedCalculatedChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AnnotationLinkedCalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *AnnotationLinkedChannel) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2359,6 +2496,25 @@ func (m *AnnotationLinkedChannel_BitFieldElement) MarshalToSizedBufferVT(dAtA [] } return len(dAtA) - i, nil } +func (m *AnnotationLinkedChannel_CalculatedChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *AnnotationLinkedChannel_CalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + size, err := m.CalculatedChannel.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} func (m *CreateAnnotationRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -3392,6 +3548,25 @@ func (m *Annotation) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsNoisyRule { + i-- + if m.IsNoisyRule { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe8 + } + if m.BatchedTriggers != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.BatchedTriggers)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xe0 + } if m.IsArchived { i-- if m.IsArchived { @@ -3756,6 +3931,46 @@ func (m *AnnotationLinkedChannelsBitFieldElement) MarshalToSizedBufferVTStrict(d return len(dAtA) - i, nil } +func (m *AnnotationLinkedCalculatedChannel) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *AnnotationLinkedCalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AnnotationLinkedCalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *AnnotationLinkedChannel) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -3786,6 +4001,13 @@ func (m *AnnotationLinkedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.Type.(*AnnotationLinkedChannel_CalculatedChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if msg, ok := m.Type.(*AnnotationLinkedChannel_BitFieldElement); ok { size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -3841,6 +4063,25 @@ func (m *AnnotationLinkedChannel_BitFieldElement) MarshalToSizedBufferVTStrict(d } return len(dAtA) - i, nil } +func (m *AnnotationLinkedChannel_CalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *AnnotationLinkedChannel_CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + size, err := m.CalculatedChannel.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} func (m *CreateAnnotationRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -4974,6 +5215,12 @@ func (m *Annotation) SizeVT() (n int) { if m.IsArchived { n += 3 } + if m.BatchedTriggers != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.BatchedTriggers)) + } + if m.IsNoisyRule { + n += 3 + } n += len(m.unknownFields) return n } @@ -5010,6 +5257,20 @@ func (m *AnnotationLinkedChannelsBitFieldElement) SizeVT() (n int) { return n } +func (m *AnnotationLinkedCalculatedChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelVersionId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + func (m *AnnotationLinkedChannel) SizeVT() (n int) { if m == nil { return 0 @@ -5047,6 +5308,18 @@ func (m *AnnotationLinkedChannel_BitFieldElement) SizeVT() (n int) { } return n } +func (m *AnnotationLinkedChannel_CalculatedChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CalculatedChannel != nil { + l = m.CalculatedChannel.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *CreateAnnotationRequest) SizeVT() (n int) { if m == nil { return 0 @@ -6323,6 +6596,45 @@ func (m *Annotation) UnmarshalVT(dAtA []byte) error { } } m.IsArchived = bool(v != 0) + case 28: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BatchedTriggers", wireType) + } + m.BatchedTriggers = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BatchedTriggers |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 29: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsNoisyRule", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsNoisyRule = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -6543,6 +6855,89 @@ func (m *AnnotationLinkedChannelsBitFieldElement) UnmarshalVT(dAtA []byte) error } return nil } +func (m *AnnotationLinkedCalculatedChannel) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AnnotationLinkedCalculatedChannel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AnnotationLinkedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelVersionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *AnnotationLinkedChannel) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -6654,6 +7049,47 @@ func (m *AnnotationLinkedChannel) UnmarshalVT(dAtA []byte) error { m.Type = &AnnotationLinkedChannel_BitFieldElement{BitFieldElement: v} } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Type.(*AnnotationLinkedChannel_CalculatedChannel); ok { + if err := oneof.CalculatedChannel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &AnnotationLinkedCalculatedChannel{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Type = &AnnotationLinkedChannel_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -9918,6 +10354,45 @@ func (m *Annotation) UnmarshalVTUnsafe(dAtA []byte) error { } } m.IsArchived = bool(v != 0) + case 28: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field BatchedTriggers", wireType) + } + m.BatchedTriggers = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.BatchedTriggers |= int32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 29: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsNoisyRule", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsNoisyRule = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -10150,6 +10625,93 @@ func (m *AnnotationLinkedChannelsBitFieldElement) UnmarshalVTUnsafe(dAtA []byte) } return nil } +func (m *AnnotationLinkedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: AnnotationLinkedCalculatedChannel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: AnnotationLinkedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CalculatedChannelVersionId = stringValue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *AnnotationLinkedChannel) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -10261,6 +10823,47 @@ func (m *AnnotationLinkedChannel) UnmarshalVTUnsafe(dAtA []byte) error { m.Type = &AnnotationLinkedChannel_BitFieldElement{BitFieldElement: v} } iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Type.(*AnnotationLinkedChannel_CalculatedChannel); ok { + if err := oneof.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &AnnotationLinkedCalculatedChannel{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Type = &AnnotationLinkedChannel_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/calculated_channels/v1/calculated_channels.pb.go b/go/gen/sift/calculated_channels/v1/calculated_channels.pb.go index b96dcc94b..ed215d5d8 100644 --- a/go/gen/sift/calculated_channels/v1/calculated_channels.pb.go +++ b/go/gen/sift/calculated_channels/v1/calculated_channels.pb.go @@ -200,6 +200,10 @@ type ExpressionChannelReference struct { ChannelReference string `protobuf:"bytes,1,opt,name=channel_reference,json=channelReference,proto3" json:"channel_reference,omitempty"` ChannelId string `protobuf:"bytes,2,opt,name=channel_id,json=channelId,proto3" json:"channel_id,omitempty"` + // Types that are assignable to CalculatedChannelReference: + // + // *ExpressionChannelReference_CalculatedChannel + CalculatedChannelReference isExpressionChannelReference_CalculatedChannelReference `protobuf_oneof:"calculated_channel_reference"` } func (x *ExpressionChannelReference) Reset() { @@ -248,6 +252,31 @@ func (x *ExpressionChannelReference) GetChannelId() string { return "" } +func (m *ExpressionChannelReference) GetCalculatedChannelReference() isExpressionChannelReference_CalculatedChannelReference { + if m != nil { + return m.CalculatedChannelReference + } + return nil +} + +func (x *ExpressionChannelReference) GetCalculatedChannel() *ExpressionRequest { + if x, ok := x.GetCalculatedChannelReference().(*ExpressionChannelReference_CalculatedChannel); ok { + return x.CalculatedChannel + } + return nil +} + +type isExpressionChannelReference_CalculatedChannelReference interface { + isExpressionChannelReference_CalculatedChannelReference() +} + +type ExpressionChannelReference_CalculatedChannel struct { + CalculatedChannel *ExpressionRequest `protobuf:"bytes,4,opt,name=calculated_channel,json=calculatedChannel,proto3,oneof"` +} + +func (*ExpressionChannelReference_CalculatedChannel) isExpressionChannelReference_CalculatedChannelReference() { +} + type ExpressionRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -773,243 +802,251 @@ var file_sift_calculated_channels_v1_calculated_channels_proto_rawDesc = []byte{ 0x1a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xd8, 0x03, 0x0a, 0x11, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x78, 0x0a, 0x12, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, - 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x1d, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x1b, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, - 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x44, 0x0a, 0x16, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, - 0x01, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x58, - 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa7, - 0x02, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x57, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x22, 0xb6, 0x01, 0x0a, 0x19, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, + 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x1e, 0x0a, 0x1c, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x03, 0x0a, 0x11, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x78, + 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x6d, - 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x54, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, - 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, + 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x1b, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x44, 0x0a, + 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x21, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x58, 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, + 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, + 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0xa7, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4b, 0x0a, 0x1f, + 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x57, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x22, 0xb6, 0x01, 0x0a, 0x19, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, + 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6d, + 0x6f, 0x64, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6b, 0x0a, 0x21, 0x53, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x46, - 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, - 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, - 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x9b, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, - 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x26, 0x0a, 0x22, - 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, - 0x45, 0x4c, 0x10, 0x02, 0x2a, 0xff, 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x62, - 0x72, 0x61, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x29, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, - 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, - 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x45, - 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, - 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x12, 0x26, 0x0a, - 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x49, - 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, + 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x4b, + 0x0a, 0x1f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6b, 0x0a, 0x21, 0x53, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x9b, 0x01, 0x0a, 0x18, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, + 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x26, + 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, + 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x2a, 0xff, 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x29, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, + 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, - 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x46, 0x55, 0x4c, 0x10, - 0x05, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, - 0x52, 0x59, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x06, 0x12, 0x38, 0x0a, 0x34, - 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, - 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x2a, 0xb9, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x1b, 0x45, 0x58, 0x50, - 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x19, - 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, - 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x58, 0x50, - 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, - 0x43, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, - 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x12, 0x23, 0x0a, - 0x1f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, - 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x10, 0x04, 0x32, 0xf1, 0x06, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0xd9, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x3d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, + 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x28, 0x0a, + 0x24, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, + 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, + 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, + 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, 0x12, + 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, + 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, + 0x5f, 0x49, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, 0x45, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, + 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x46, 0x55, + 0x4c, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, + 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x06, 0x12, 0x38, + 0x0a, 0x34, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, + 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, + 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4e, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x2a, 0xb9, 0x01, 0x0a, 0x0e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x1b, 0x45, + 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, + 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, + 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, + 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, + 0x41, 0x4c, 0x43, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, + 0x4c, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, + 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x52, 0x10, 0x03, 0x12, + 0x23, 0x0a, 0x1f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x10, 0x04, 0x32, 0xf1, 0x06, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xd9, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, + 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xbc, 0x01, 0x92, 0x41, 0x7f, 0x12, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, + 0x1a, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0xb0, + 0x02, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xbc, 0x01, - 0x92, 0x41, 0x7f, 0x12, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x1a, 0x62, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0xb0, 0x02, 0x0a, - 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x92, 0x41, 0x6b, 0x12, 0x12, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x55, - 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, 0x2a, 0x22, 0x2f, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0xc4, 0x01, 0x92, 0x41, 0xc0, 0x01, 0x12, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x1a, 0x7e, 0x0a, 0x24, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x12, 0x56, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, - 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, - 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, - 0x34, 0x32, 0x31, 0x31, 0x35, 0x33, 0x42, 0xbb, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, - 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, - 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x26, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, - 0x56, 0x31, 0x92, 0x41, 0x1f, 0x12, 0x1d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x92, 0x41, 0x6b, 0x12, 0x12, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x1a, 0x55, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x73, + 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, 0x2a, + 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x1a, 0xc4, 0x01, 0x92, 0x41, 0xc0, 0x01, 0x12, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x1a, 0x7e, 0x0a, 0x24, 0x52, 0x65, 0x61, 0x64, + 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, + 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, + 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x35, 0x33, 0x42, 0xbb, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, + 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, + 0x43, 0x58, 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x26, 0x53, + 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x1f, 0x12, 0x1d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -1044,27 +1081,28 @@ var file_sift_calculated_channels_v1_calculated_channels_proto_goTypes = []inter (v1.ChannelDataType)(0), // 14: sift.common.type.v1.ChannelDataType } var file_sift_calculated_channels_v1_calculated_channels_proto_depIdxs = []int32{ - 12, // 0: sift.calculated_channels.v1.ExpressionRequest.channel_references:type_name -> sift.calculated_channels.v1.ExpressionRequest.ChannelReferencesEntry - 3, // 1: sift.calculated_channels.v1.ExpressionRequest.expression_channel_references:type_name -> sift.calculated_channels.v1.ExpressionChannelReference - 13, // 2: sift.calculated_channels.v1.ExpressionRequest.function_dependencies:type_name -> sift.common.type.v1.FunctionDependency - 2, // 3: sift.calculated_channels.v1.ListExpressionIdentifiersRequest.mode:type_name -> sift.calculated_channels.v1.ExpressionMode - 7, // 4: sift.calculated_channels.v1.ListExpressionIdentifiersResponse.identifiers:type_name -> sift.calculated_channels.v1.ExpressionIdentifier - 0, // 5: sift.calculated_channels.v1.ExpressionIdentifier.type:type_name -> sift.calculated_channels.v1.ExpressionIdentifierType - 1, // 6: sift.calculated_channels.v1.ExpressionIdentifier.library:type_name -> sift.calculated_channels.v1.ExpressionIdentifierLibrary - 4, // 7: sift.calculated_channels.v1.ValidateExpressionRequest.expression:type_name -> sift.calculated_channels.v1.ExpressionRequest - 2, // 8: sift.calculated_channels.v1.ValidateExpressionRequest.mode:type_name -> sift.calculated_channels.v1.ExpressionMode - 10, // 9: sift.calculated_channels.v1.ValidateExpressionResponse.error:type_name -> sift.calculated_channels.v1.ErrorValidatingExpressionResult - 11, // 10: sift.calculated_channels.v1.ValidateExpressionResponse.success:type_name -> sift.calculated_channels.v1.SuccessValidatingExpressionResult - 14, // 11: sift.calculated_channels.v1.SuccessValidatingExpressionResult.data_type:type_name -> sift.common.type.v1.ChannelDataType - 5, // 12: sift.calculated_channels.v1.CalculatedChannelsService.ListExpressionIdentifiers:input_type -> sift.calculated_channels.v1.ListExpressionIdentifiersRequest - 8, // 13: sift.calculated_channels.v1.CalculatedChannelsService.ValidateExpression:input_type -> sift.calculated_channels.v1.ValidateExpressionRequest - 6, // 14: sift.calculated_channels.v1.CalculatedChannelsService.ListExpressionIdentifiers:output_type -> sift.calculated_channels.v1.ListExpressionIdentifiersResponse - 9, // 15: sift.calculated_channels.v1.CalculatedChannelsService.ValidateExpression:output_type -> sift.calculated_channels.v1.ValidateExpressionResponse - 14, // [14:16] is the sub-list for method output_type - 12, // [12:14] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name + 4, // 0: sift.calculated_channels.v1.ExpressionChannelReference.calculated_channel:type_name -> sift.calculated_channels.v1.ExpressionRequest + 12, // 1: sift.calculated_channels.v1.ExpressionRequest.channel_references:type_name -> sift.calculated_channels.v1.ExpressionRequest.ChannelReferencesEntry + 3, // 2: sift.calculated_channels.v1.ExpressionRequest.expression_channel_references:type_name -> sift.calculated_channels.v1.ExpressionChannelReference + 13, // 3: sift.calculated_channels.v1.ExpressionRequest.function_dependencies:type_name -> sift.common.type.v1.FunctionDependency + 2, // 4: sift.calculated_channels.v1.ListExpressionIdentifiersRequest.mode:type_name -> sift.calculated_channels.v1.ExpressionMode + 7, // 5: sift.calculated_channels.v1.ListExpressionIdentifiersResponse.identifiers:type_name -> sift.calculated_channels.v1.ExpressionIdentifier + 0, // 6: sift.calculated_channels.v1.ExpressionIdentifier.type:type_name -> sift.calculated_channels.v1.ExpressionIdentifierType + 1, // 7: sift.calculated_channels.v1.ExpressionIdentifier.library:type_name -> sift.calculated_channels.v1.ExpressionIdentifierLibrary + 4, // 8: sift.calculated_channels.v1.ValidateExpressionRequest.expression:type_name -> sift.calculated_channels.v1.ExpressionRequest + 2, // 9: sift.calculated_channels.v1.ValidateExpressionRequest.mode:type_name -> sift.calculated_channels.v1.ExpressionMode + 10, // 10: sift.calculated_channels.v1.ValidateExpressionResponse.error:type_name -> sift.calculated_channels.v1.ErrorValidatingExpressionResult + 11, // 11: sift.calculated_channels.v1.ValidateExpressionResponse.success:type_name -> sift.calculated_channels.v1.SuccessValidatingExpressionResult + 14, // 12: sift.calculated_channels.v1.SuccessValidatingExpressionResult.data_type:type_name -> sift.common.type.v1.ChannelDataType + 5, // 13: sift.calculated_channels.v1.CalculatedChannelsService.ListExpressionIdentifiers:input_type -> sift.calculated_channels.v1.ListExpressionIdentifiersRequest + 8, // 14: sift.calculated_channels.v1.CalculatedChannelsService.ValidateExpression:input_type -> sift.calculated_channels.v1.ValidateExpressionRequest + 6, // 15: sift.calculated_channels.v1.CalculatedChannelsService.ListExpressionIdentifiers:output_type -> sift.calculated_channels.v1.ListExpressionIdentifiersResponse + 9, // 16: sift.calculated_channels.v1.CalculatedChannelsService.ValidateExpression:output_type -> sift.calculated_channels.v1.ValidateExpressionResponse + 15, // [15:17] is the sub-list for method output_type + 13, // [13:15] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name } func init() { file_sift_calculated_channels_v1_calculated_channels_proto_init() } @@ -1182,6 +1220,9 @@ func file_sift_calculated_channels_v1_calculated_channels_proto_init() { } } } + file_sift_calculated_channels_v1_calculated_channels_proto_msgTypes[0].OneofWrappers = []interface{}{ + (*ExpressionChannelReference_CalculatedChannel)(nil), + } file_sift_calculated_channels_v1_calculated_channels_proto_msgTypes[3].OneofWrappers = []interface{}{} file_sift_calculated_channels_v1_calculated_channels_proto_msgTypes[6].OneofWrappers = []interface{}{ (*ValidateExpressionResponse_Error)(nil), diff --git a/go/gen/sift/calculated_channels/v1/calculated_channels_vtproto.pb.go b/go/gen/sift/calculated_channels/v1/calculated_channels_vtproto.pb.go index 109a5810f..4fc526bc4 100644 --- a/go/gen/sift/calculated_channels/v1/calculated_channels_vtproto.pb.go +++ b/go/gen/sift/calculated_channels/v1/calculated_channels_vtproto.pb.go @@ -32,6 +32,11 @@ func (m *ExpressionChannelReference) CloneVT() *ExpressionChannelReference { r := new(ExpressionChannelReference) r.ChannelReference = m.ChannelReference r.ChannelId = m.ChannelId + if m.CalculatedChannelReference != nil { + r.CalculatedChannelReference = m.CalculatedChannelReference.(interface { + CloneVT() isExpressionChannelReference_CalculatedChannelReference + }).CloneVT() + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -43,6 +48,15 @@ func (m *ExpressionChannelReference) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *ExpressionChannelReference_CalculatedChannel) CloneVT() isExpressionChannelReference_CalculatedChannelReference { + if m == nil { + return (*ExpressionChannelReference_CalculatedChannel)(nil) + } + r := new(ExpressionChannelReference_CalculatedChannel) + r.CalculatedChannel = m.CalculatedChannel.CloneVT() + return r +} + func (m *ExpressionRequest) CloneVT() *ExpressionRequest { if m == nil { return (*ExpressionRequest)(nil) @@ -249,6 +263,18 @@ func (this *ExpressionChannelReference) EqualVT(that *ExpressionChannelReference } else if this == nil || that == nil { return false } + if this.CalculatedChannelReference == nil && that.CalculatedChannelReference != nil { + return false + } else if this.CalculatedChannelReference != nil { + if that.CalculatedChannelReference == nil { + return false + } + if !this.CalculatedChannelReference.(interface { + EqualVT(isExpressionChannelReference_CalculatedChannelReference) bool + }).EqualVT(that.CalculatedChannelReference) { + return false + } + } if this.ChannelReference != that.ChannelReference { return false } @@ -265,6 +291,31 @@ func (this *ExpressionChannelReference) EqualMessageVT(thatMsg proto.Message) bo } return this.EqualVT(that) } +func (this *ExpressionChannelReference_CalculatedChannel) EqualVT(thatIface isExpressionChannelReference_CalculatedChannelReference) bool { + that, ok := thatIface.(*ExpressionChannelReference_CalculatedChannel) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CalculatedChannel, that.CalculatedChannel; p != q { + if p == nil { + p = &ExpressionRequest{} + } + if q == nil { + q = &ExpressionRequest{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + func (this *ExpressionRequest) EqualVT(that *ExpressionRequest) bool { if this == that { return true @@ -729,6 +780,15 @@ func (m *ExpressionChannelReference) MarshalToSizedBufferVT(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if vtmsg, ok := m.CalculatedChannelReference.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if len(m.ChannelId) > 0 { i -= len(m.ChannelId) copy(dAtA[i:], m.ChannelId) @@ -746,6 +806,25 @@ func (m *ExpressionChannelReference) MarshalToSizedBufferVT(dAtA []byte) (int, e return len(dAtA) - i, nil } +func (m *ExpressionChannelReference_CalculatedChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ExpressionChannelReference_CalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + size, err := m.CalculatedChannel.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} func (m *ExpressionRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1243,6 +1322,13 @@ func (m *ExpressionChannelReference) MarshalToSizedBufferVTStrict(dAtA []byte) ( i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.CalculatedChannelReference.(*ExpressionChannelReference_CalculatedChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if len(m.ChannelId) > 0 { i -= len(m.ChannelId) copy(dAtA[i:], m.ChannelId) @@ -1260,6 +1346,25 @@ func (m *ExpressionChannelReference) MarshalToSizedBufferVTStrict(dAtA []byte) ( return len(dAtA) - i, nil } +func (m *ExpressionChannelReference_CalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ExpressionChannelReference_CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + size, err := m.CalculatedChannel.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} func (m *ExpressionRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -1746,10 +1851,25 @@ func (m *ExpressionChannelReference) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if vtmsg, ok := m.CalculatedChannelReference.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } n += len(m.unknownFields) return n } +func (m *ExpressionChannelReference_CalculatedChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CalculatedChannel != nil { + l = m.CalculatedChannel.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *ExpressionRequest) SizeVT() (n int) { if m == nil { return 0 @@ -2032,6 +2152,47 @@ func (m *ExpressionChannelReference) UnmarshalVT(dAtA []byte) error { } m.ChannelId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.CalculatedChannelReference.(*ExpressionChannelReference_CalculatedChannel); ok { + if err := oneof.CalculatedChannel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpressionRequest{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.CalculatedChannelReference = &ExpressionChannelReference_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3257,6 +3418,47 @@ func (m *ExpressionChannelReference) UnmarshalVTUnsafe(dAtA []byte) error { } m.ChannelId = stringValue iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.CalculatedChannelReference.(*ExpressionChannelReference_CalculatedChannel); ok { + if err := oneof.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ExpressionRequest{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.CalculatedChannelReference = &ExpressionChannelReference_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/calculated_channels/v2/calculated_channels.pb.go b/go/gen/sift/calculated_channels/v2/calculated_channels.pb.go index bb7f95bea..0d48510b6 100644 --- a/go/gen/sift/calculated_channels/v2/calculated_channels.pb.go +++ b/go/gen/sift/calculated_channels/v2/calculated_channels.pb.go @@ -12,6 +12,7 @@ import ( v12 "github.com/sift-stack/sift/go/gen/sift/calculated_channels/v1" v1 "github.com/sift-stack/sift/go/gen/sift/common/type/v1" v11 "github.com/sift-stack/sift/go/gen/sift/metadata/v1" + v13 "github.com/sift-stack/sift/go/gen/sift/rules/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" @@ -52,6 +53,8 @@ type CalculatedChannel struct { Metadata []*v11.MetadataValue `protobuf:"bytes,20,rep,name=metadata,proto3" json:"metadata,omitempty"` // Whether the calculated channel is archived. This is inferred from whether archived_date is set. IsArchived bool `protobuf:"varint,21,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` + // Calculated channels that this channel depends on. + CalculatedChannelDependencies []*CalculatedChannelDependency `protobuf:"bytes,22,rep,name=calculated_channel_dependencies,json=calculatedChannelDependencies,proto3" json:"calculated_channel_dependencies,omitempty"` } func (x *CalculatedChannel) Reset() { @@ -219,6 +222,61 @@ func (x *CalculatedChannel) GetIsArchived() bool { return false } +func (x *CalculatedChannel) GetCalculatedChannelDependencies() []*CalculatedChannelDependency { + if x != nil { + return x.CalculatedChannelDependencies + } + return nil +} + +// A dependency on another calculated channel. +type CalculatedChannelDependency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CalculatedChannelVersionId string `protobuf:"bytes,1,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3" json:"calculated_channel_version_id,omitempty"` +} + +func (x *CalculatedChannelDependency) Reset() { + *x = CalculatedChannelDependency{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CalculatedChannelDependency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalculatedChannelDependency) ProtoMessage() {} + +func (x *CalculatedChannelDependency) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_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 CalculatedChannelDependency.ProtoReflect.Descriptor instead. +func (*CalculatedChannelDependency) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{1} +} + +func (x *CalculatedChannelDependency) GetCalculatedChannelVersionId() string { + if x != nil { + return x.CalculatedChannelVersionId + } + return "" +} + type CalculatedChannelConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -231,7 +289,7 @@ type CalculatedChannelConfiguration struct { func (x *CalculatedChannelConfiguration) Reset() { *x = CalculatedChannelConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[1] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -244,7 +302,7 @@ func (x *CalculatedChannelConfiguration) String() string { func (*CalculatedChannelConfiguration) ProtoMessage() {} func (x *CalculatedChannelConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[1] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -257,7 +315,7 @@ func (x *CalculatedChannelConfiguration) ProtoReflect() protoreflect.Message { // Deprecated: Use CalculatedChannelConfiguration.ProtoReflect.Descriptor instead. func (*CalculatedChannelConfiguration) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{1} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{2} } func (x *CalculatedChannelConfiguration) GetAssetConfiguration() *CalculatedChannelAssetConfiguration { @@ -289,7 +347,7 @@ type CalculatedChannelAssetConfiguration struct { func (x *CalculatedChannelAssetConfiguration) Reset() { *x = CalculatedChannelAssetConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -302,7 +360,7 @@ func (x *CalculatedChannelAssetConfiguration) String() string { func (*CalculatedChannelAssetConfiguration) ProtoMessage() {} func (x *CalculatedChannelAssetConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -315,7 +373,7 @@ func (x *CalculatedChannelAssetConfiguration) ProtoReflect() protoreflect.Messag // Deprecated: Use CalculatedChannelAssetConfiguration.ProtoReflect.Descriptor instead. func (*CalculatedChannelAssetConfiguration) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{2} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{3} } func (m *CalculatedChannelAssetConfiguration) GetAssetScope() isCalculatedChannelAssetConfiguration_AssetScope { @@ -371,7 +429,7 @@ type CalculatedChannelQueryConfiguration struct { func (x *CalculatedChannelQueryConfiguration) Reset() { *x = CalculatedChannelQueryConfiguration{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -384,7 +442,7 @@ func (x *CalculatedChannelQueryConfiguration) String() string { func (*CalculatedChannelQueryConfiguration) ProtoMessage() {} func (x *CalculatedChannelQueryConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -397,7 +455,7 @@ func (x *CalculatedChannelQueryConfiguration) ProtoReflect() protoreflect.Messag // Deprecated: Use CalculatedChannelQueryConfiguration.ProtoReflect.Descriptor instead. func (*CalculatedChannelQueryConfiguration) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{3} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{4} } func (m *CalculatedChannelQueryConfiguration) GetQuery() isCalculatedChannelQueryConfiguration_Query { @@ -429,14 +487,20 @@ type CalculatedChannelAbstractChannelReference struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ChannelReference string `protobuf:"bytes,1,opt,name=channel_reference,json=channelReference,proto3" json:"channel_reference,omitempty"` + ChannelReference string `protobuf:"bytes,1,opt,name=channel_reference,json=channelReference,proto3" json:"channel_reference,omitempty"` + // must use either a channel_identifier or a calculated_channel_reference, not both ChannelIdentifier string `protobuf:"bytes,2,opt,name=channel_identifier,json=channelIdentifier,proto3" json:"channel_identifier,omitempty"` + // Types that are assignable to CalculatedChannelReference: + // + // *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId + // *CalculatedChannelAbstractChannelReference_CalculatedChannel + CalculatedChannelReference isCalculatedChannelAbstractChannelReference_CalculatedChannelReference `protobuf_oneof:"calculated_channel_reference"` } func (x *CalculatedChannelAbstractChannelReference) Reset() { *x = CalculatedChannelAbstractChannelReference{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -449,7 +513,7 @@ func (x *CalculatedChannelAbstractChannelReference) String() string { func (*CalculatedChannelAbstractChannelReference) ProtoMessage() {} func (x *CalculatedChannelAbstractChannelReference) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -462,7 +526,7 @@ func (x *CalculatedChannelAbstractChannelReference) ProtoReflect() protoreflect. // Deprecated: Use CalculatedChannelAbstractChannelReference.ProtoReflect.Descriptor instead. func (*CalculatedChannelAbstractChannelReference) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{4} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{5} } func (x *CalculatedChannelAbstractChannelReference) GetChannelReference() string { @@ -479,6 +543,45 @@ func (x *CalculatedChannelAbstractChannelReference) GetChannelIdentifier() strin return "" } +func (m *CalculatedChannelAbstractChannelReference) GetCalculatedChannelReference() isCalculatedChannelAbstractChannelReference_CalculatedChannelReference { + if m != nil { + return m.CalculatedChannelReference + } + return nil +} + +func (x *CalculatedChannelAbstractChannelReference) GetCalculatedChannelVersionId() string { + if x, ok := x.GetCalculatedChannelReference().(*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId); ok { + return x.CalculatedChannelVersionId + } + return "" +} + +func (x *CalculatedChannelAbstractChannelReference) GetCalculatedChannel() *v12.ExpressionRequest { + if x, ok := x.GetCalculatedChannelReference().(*CalculatedChannelAbstractChannelReference_CalculatedChannel); ok { + return x.CalculatedChannel + } + return nil +} + +type isCalculatedChannelAbstractChannelReference_CalculatedChannelReference interface { + isCalculatedChannelAbstractChannelReference_CalculatedChannelReference() +} + +type CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId struct { + CalculatedChannelVersionId string `protobuf:"bytes,3,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3,oneof"` +} + +type CalculatedChannelAbstractChannelReference_CalculatedChannel struct { + CalculatedChannel *v12.ExpressionRequest `protobuf:"bytes,4,opt,name=calculated_channel,json=calculatedChannel,proto3,oneof"` +} + +func (*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) isCalculatedChannelAbstractChannelReference_CalculatedChannelReference() { +} + +func (*CalculatedChannelAbstractChannelReference_CalculatedChannel) isCalculatedChannelAbstractChannelReference_CalculatedChannelReference() { +} + type CalculatedChannelValidationResult struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -496,7 +599,7 @@ type CalculatedChannelValidationResult struct { func (x *CalculatedChannelValidationResult) Reset() { *x = CalculatedChannelValidationResult{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -509,7 +612,7 @@ func (x *CalculatedChannelValidationResult) String() string { func (*CalculatedChannelValidationResult) ProtoMessage() {} func (x *CalculatedChannelValidationResult) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -522,7 +625,7 @@ func (x *CalculatedChannelValidationResult) ProtoReflect() protoreflect.Message // Deprecated: Use CalculatedChannelValidationResult.ProtoReflect.Descriptor instead. func (*CalculatedChannelValidationResult) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{5} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{6} } func (x *CalculatedChannelValidationResult) GetAssetId() string { @@ -562,15 +665,16 @@ type GetCalculatedChannelRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - CalculatedChannelId string `protobuf:"bytes,1,opt,name=calculated_channel_id,json=calculatedChannelId,proto3" json:"calculated_channel_id,omitempty"` - ClientKey string `protobuf:"bytes,2,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"` - OrganizationId string `protobuf:"bytes,3,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + CalculatedChannelId string `protobuf:"bytes,1,opt,name=calculated_channel_id,json=calculatedChannelId,proto3" json:"calculated_channel_id,omitempty"` + ClientKey string `protobuf:"bytes,2,opt,name=client_key,json=clientKey,proto3" json:"client_key,omitempty"` + OrganizationId string `protobuf:"bytes,3,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` + CalculatedChannelVersionId string `protobuf:"bytes,4,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3" json:"calculated_channel_version_id,omitempty"` } func (x *GetCalculatedChannelRequest) Reset() { *x = GetCalculatedChannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -583,7 +687,7 @@ func (x *GetCalculatedChannelRequest) String() string { func (*GetCalculatedChannelRequest) ProtoMessage() {} func (x *GetCalculatedChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -596,7 +700,7 @@ func (x *GetCalculatedChannelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCalculatedChannelRequest.ProtoReflect.Descriptor instead. func (*GetCalculatedChannelRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{6} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{7} } func (x *GetCalculatedChannelRequest) GetCalculatedChannelId() string { @@ -620,6 +724,13 @@ func (x *GetCalculatedChannelRequest) GetOrganizationId() string { return "" } +func (x *GetCalculatedChannelRequest) GetCalculatedChannelVersionId() string { + if x != nil { + return x.CalculatedChannelVersionId + } + return "" +} + type GetCalculatedChannelResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -631,7 +742,7 @@ type GetCalculatedChannelResponse struct { func (x *GetCalculatedChannelResponse) Reset() { *x = GetCalculatedChannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[7] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -644,7 +755,7 @@ func (x *GetCalculatedChannelResponse) String() string { func (*GetCalculatedChannelResponse) ProtoMessage() {} func (x *GetCalculatedChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[7] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -657,7 +768,7 @@ func (x *GetCalculatedChannelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use GetCalculatedChannelResponse.ProtoReflect.Descriptor instead. func (*GetCalculatedChannelResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{7} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{8} } func (x *GetCalculatedChannelResponse) GetCalculatedChannel() *CalculatedChannel { @@ -684,7 +795,7 @@ type CreateCalculatedChannelRequest struct { func (x *CreateCalculatedChannelRequest) Reset() { *x = CreateCalculatedChannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -697,7 +808,7 @@ func (x *CreateCalculatedChannelRequest) String() string { func (*CreateCalculatedChannelRequest) ProtoMessage() {} func (x *CreateCalculatedChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -710,7 +821,7 @@ func (x *CreateCalculatedChannelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateCalculatedChannelRequest.ProtoReflect.Descriptor instead. func (*CreateCalculatedChannelRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{8} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{9} } func (x *CreateCalculatedChannelRequest) GetName() string { @@ -774,7 +885,7 @@ type CreateCalculatedChannelResponse struct { func (x *CreateCalculatedChannelResponse) Reset() { *x = CreateCalculatedChannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[10] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -787,7 +898,7 @@ func (x *CreateCalculatedChannelResponse) String() string { func (*CreateCalculatedChannelResponse) ProtoMessage() {} func (x *CreateCalculatedChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[10] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -800,7 +911,7 @@ func (x *CreateCalculatedChannelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use CreateCalculatedChannelResponse.ProtoReflect.Descriptor instead. func (*CreateCalculatedChannelResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{9} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{10} } func (x *CreateCalculatedChannelResponse) GetCalculatedChannel() *CalculatedChannel { @@ -852,7 +963,7 @@ type ListCalculatedChannelsRequest struct { func (x *ListCalculatedChannelsRequest) Reset() { *x = ListCalculatedChannelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[10] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[11] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -865,7 +976,7 @@ func (x *ListCalculatedChannelsRequest) String() string { func (*ListCalculatedChannelsRequest) ProtoMessage() {} func (x *ListCalculatedChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[10] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[11] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -878,7 +989,7 @@ func (x *ListCalculatedChannelsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListCalculatedChannelsRequest.ProtoReflect.Descriptor instead. func (*ListCalculatedChannelsRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{10} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{11} } func (x *ListCalculatedChannelsRequest) GetPageSize() uint32 { @@ -929,7 +1040,7 @@ type ListCalculatedChannelsResponse struct { func (x *ListCalculatedChannelsResponse) Reset() { *x = ListCalculatedChannelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[11] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -942,7 +1053,7 @@ func (x *ListCalculatedChannelsResponse) String() string { func (*ListCalculatedChannelsResponse) ProtoMessage() {} func (x *ListCalculatedChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[11] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -955,7 +1066,7 @@ func (x *ListCalculatedChannelsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListCalculatedChannelsResponse.ProtoReflect.Descriptor instead. func (*ListCalculatedChannelsResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{11} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{12} } func (x *ListCalculatedChannelsResponse) GetCalculatedChannels() []*CalculatedChannel { @@ -994,7 +1105,7 @@ type UpdateCalculatedChannelRequest struct { func (x *UpdateCalculatedChannelRequest) Reset() { *x = UpdateCalculatedChannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1007,7 +1118,7 @@ func (x *UpdateCalculatedChannelRequest) String() string { func (*UpdateCalculatedChannelRequest) ProtoMessage() {} func (x *UpdateCalculatedChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1020,7 +1131,7 @@ func (x *UpdateCalculatedChannelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCalculatedChannelRequest.ProtoReflect.Descriptor instead. func (*UpdateCalculatedChannelRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{12} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{13} } func (x *UpdateCalculatedChannelRequest) GetCalculatedChannel() *CalculatedChannel { @@ -1057,7 +1168,7 @@ type UpdateCalculatedChannelResponse struct { func (x *UpdateCalculatedChannelResponse) Reset() { *x = UpdateCalculatedChannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[14] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1070,7 +1181,7 @@ func (x *UpdateCalculatedChannelResponse) String() string { func (*UpdateCalculatedChannelResponse) ProtoMessage() {} func (x *UpdateCalculatedChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[14] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1083,7 +1194,7 @@ func (x *UpdateCalculatedChannelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use UpdateCalculatedChannelResponse.ProtoReflect.Descriptor instead. func (*UpdateCalculatedChannelResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{13} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{14} } func (x *UpdateCalculatedChannelResponse) GetCalculatedChannel() *CalculatedChannel { @@ -1138,7 +1249,7 @@ type ListCalculatedChannelVersionsRequest struct { func (x *ListCalculatedChannelVersionsRequest) Reset() { *x = ListCalculatedChannelVersionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[14] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1151,7 +1262,7 @@ func (x *ListCalculatedChannelVersionsRequest) String() string { func (*ListCalculatedChannelVersionsRequest) ProtoMessage() {} func (x *ListCalculatedChannelVersionsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[14] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1164,7 +1275,7 @@ func (x *ListCalculatedChannelVersionsRequest) ProtoReflect() protoreflect.Messa // Deprecated: Use ListCalculatedChannelVersionsRequest.ProtoReflect.Descriptor instead. func (*ListCalculatedChannelVersionsRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{14} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{15} } func (x *ListCalculatedChannelVersionsRequest) GetCalculatedChannelId() string { @@ -1229,7 +1340,7 @@ type ListCalculatedChannelVersionsResponse struct { func (x *ListCalculatedChannelVersionsResponse) Reset() { *x = ListCalculatedChannelVersionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[15] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1242,7 +1353,7 @@ func (x *ListCalculatedChannelVersionsResponse) String() string { func (*ListCalculatedChannelVersionsResponse) ProtoMessage() {} func (x *ListCalculatedChannelVersionsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[15] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1255,7 +1366,7 @@ func (x *ListCalculatedChannelVersionsResponse) ProtoReflect() protoreflect.Mess // Deprecated: Use ListCalculatedChannelVersionsResponse.ProtoReflect.Descriptor instead. func (*ListCalculatedChannelVersionsResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{15} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{16} } func (x *ListCalculatedChannelVersionsResponse) GetCalculatedChannelVersions() []*CalculatedChannel { @@ -1301,7 +1412,7 @@ type ResolveCalculatedChannelRequest struct { func (x *ResolveCalculatedChannelRequest) Reset() { *x = ResolveCalculatedChannelRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1314,7 +1425,7 @@ func (x *ResolveCalculatedChannelRequest) String() string { func (*ResolveCalculatedChannelRequest) ProtoMessage() {} func (x *ResolveCalculatedChannelRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1327,7 +1438,7 @@ func (x *ResolveCalculatedChannelRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveCalculatedChannelRequest.ProtoReflect.Descriptor instead. func (*ResolveCalculatedChannelRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{16} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{17} } func (m *ResolveCalculatedChannelRequest) GetCalculatedChannel() isResolveCalculatedChannelRequest_CalculatedChannel { @@ -1409,7 +1520,7 @@ type ResolvedCalculatedChannel struct { func (x *ResolvedCalculatedChannel) Reset() { *x = ResolvedCalculatedChannel{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[18] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1422,7 +1533,7 @@ func (x *ResolvedCalculatedChannel) String() string { func (*ResolvedCalculatedChannel) ProtoMessage() {} func (x *ResolvedCalculatedChannel) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[18] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1435,7 +1546,7 @@ func (x *ResolvedCalculatedChannel) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolvedCalculatedChannel.ProtoReflect.Descriptor instead. func (*ResolvedCalculatedChannel) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{17} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{18} } func (x *ResolvedCalculatedChannel) GetAssetName() string { @@ -1480,7 +1591,7 @@ type UnresolvedCalculatedChannel struct { func (x *UnresolvedCalculatedChannel) Reset() { *x = UnresolvedCalculatedChannel{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[18] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1493,7 +1604,7 @@ func (x *UnresolvedCalculatedChannel) String() string { func (*UnresolvedCalculatedChannel) ProtoMessage() {} func (x *UnresolvedCalculatedChannel) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[18] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1506,7 +1617,7 @@ func (x *UnresolvedCalculatedChannel) ProtoReflect() protoreflect.Message { // Deprecated: Use UnresolvedCalculatedChannel.ProtoReflect.Descriptor instead. func (*UnresolvedCalculatedChannel) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{18} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{19} } func (x *UnresolvedCalculatedChannel) GetAssetName() string { @@ -1540,7 +1651,7 @@ type ResolveCalculatedChannelResponse struct { func (x *ResolveCalculatedChannelResponse) Reset() { *x = ResolveCalculatedChannelResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1553,7 +1664,7 @@ func (x *ResolveCalculatedChannelResponse) String() string { func (*ResolveCalculatedChannelResponse) ProtoMessage() {} func (x *ResolveCalculatedChannelResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1566,7 +1677,7 @@ func (x *ResolveCalculatedChannelResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ResolveCalculatedChannelResponse.ProtoReflect.Descriptor instead. func (*ResolveCalculatedChannelResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{19} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{20} } func (x *ResolveCalculatedChannelResponse) GetCalculatedChannelId() string { @@ -1603,7 +1714,7 @@ type BatchResolveCalculatedChannelsRequest struct { func (x *BatchResolveCalculatedChannelsRequest) Reset() { *x = BatchResolveCalculatedChannelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[21] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1616,7 +1727,7 @@ func (x *BatchResolveCalculatedChannelsRequest) String() string { func (*BatchResolveCalculatedChannelsRequest) ProtoMessage() {} func (x *BatchResolveCalculatedChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[21] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1629,7 +1740,7 @@ func (x *BatchResolveCalculatedChannelsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use BatchResolveCalculatedChannelsRequest.ProtoReflect.Descriptor instead. func (*BatchResolveCalculatedChannelsRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{20} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{21} } func (x *BatchResolveCalculatedChannelsRequest) GetRequests() []*ResolveCalculatedChannelRequest { @@ -1652,7 +1763,7 @@ type BatchResolveCalculatedChannelsResponse struct { func (x *BatchResolveCalculatedChannelsResponse) Reset() { *x = BatchResolveCalculatedChannelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[21] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1665,7 +1776,7 @@ func (x *BatchResolveCalculatedChannelsResponse) String() string { func (*BatchResolveCalculatedChannelsResponse) ProtoMessage() {} func (x *BatchResolveCalculatedChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[21] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1678,7 +1789,7 @@ func (x *BatchResolveCalculatedChannelsResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use BatchResolveCalculatedChannelsResponse.ProtoReflect.Descriptor instead. func (*BatchResolveCalculatedChannelsResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{21} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{22} } func (x *BatchResolveCalculatedChannelsResponse) GetResponses() []*ResolveCalculatedChannelResponse { @@ -1723,7 +1834,7 @@ type ListResolvedCalculatedChannelsRequest struct { func (x *ListResolvedCalculatedChannelsRequest) Reset() { *x = ListResolvedCalculatedChannelsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[22] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1736,7 +1847,7 @@ func (x *ListResolvedCalculatedChannelsRequest) String() string { func (*ListResolvedCalculatedChannelsRequest) ProtoMessage() {} func (x *ListResolvedCalculatedChannelsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[22] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1749,7 +1860,7 @@ func (x *ListResolvedCalculatedChannelsRequest) ProtoReflect() protoreflect.Mess // Deprecated: Use ListResolvedCalculatedChannelsRequest.ProtoReflect.Descriptor instead. func (*ListResolvedCalculatedChannelsRequest) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{22} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{23} } func (x *ListResolvedCalculatedChannelsRequest) GetAssetId() string { @@ -1810,7 +1921,7 @@ type CalculatedChannelResolution struct { func (x *CalculatedChannelResolution) Reset() { *x = CalculatedChannelResolution{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1823,7 +1934,7 @@ func (x *CalculatedChannelResolution) String() string { func (*CalculatedChannelResolution) ProtoMessage() {} func (x *CalculatedChannelResolution) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1836,7 +1947,7 @@ func (x *CalculatedChannelResolution) ProtoReflect() protoreflect.Message { // Deprecated: Use CalculatedChannelResolution.ProtoReflect.Descriptor instead. func (*CalculatedChannelResolution) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{23} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{24} } func (x *CalculatedChannelResolution) GetCalculatedChannel() *CalculatedChannel { @@ -1872,7 +1983,7 @@ type ListResolvedCalculatedChannelsResponse struct { func (x *ListResolvedCalculatedChannelsResponse) Reset() { *x = ListResolvedCalculatedChannelsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1885,7 +1996,7 @@ func (x *ListResolvedCalculatedChannelsResponse) String() string { func (*ListResolvedCalculatedChannelsResponse) ProtoMessage() {} func (x *ListResolvedCalculatedChannelsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1898,7 +2009,7 @@ func (x *ListResolvedCalculatedChannelsResponse) ProtoReflect() protoreflect.Mes // Deprecated: Use ListResolvedCalculatedChannelsResponse.ProtoReflect.Descriptor instead. func (*ListResolvedCalculatedChannelsResponse) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{24} + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{25} } func (x *ListResolvedCalculatedChannelsResponse) GetCalculatedChannelResolutions() []*CalculatedChannelResolution { @@ -1915,32 +2026,32 @@ func (x *ListResolvedCalculatedChannelsResponse) GetNextPageToken() string { return "" } -type CalculatedChannelAssetConfiguration_AssetSelection struct { +// The request for a call to `CalculatedChannelService_GetCalculatedChannelVersions` to retrieve versions of calculated channels by their version IDs. +type GetCalculatedChannelVersionsRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - AssetIds []string `protobuf:"bytes,1,rep,name=asset_ids,json=assetIds,proto3" json:"asset_ids,omitempty"` - TagIds []string `protobuf:"bytes,2,rep,name=tag_ids,json=tagIds,proto3" json:"tag_ids,omitempty"` + CalculatedChannelVersionIds []string `protobuf:"bytes,1,rep,name=calculated_channel_version_ids,json=calculatedChannelVersionIds,proto3" json:"calculated_channel_version_ids,omitempty"` } -func (x *CalculatedChannelAssetConfiguration_AssetSelection) Reset() { - *x = CalculatedChannelAssetConfiguration_AssetSelection{} +func (x *GetCalculatedChannelVersionsRequest) Reset() { + *x = GetCalculatedChannelVersionsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[25] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CalculatedChannelAssetConfiguration_AssetSelection) String() string { +func (x *GetCalculatedChannelVersionsRequest) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CalculatedChannelAssetConfiguration_AssetSelection) ProtoMessage() {} +func (*GetCalculatedChannelVersionsRequest) ProtoMessage() {} -func (x *CalculatedChannelAssetConfiguration_AssetSelection) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[25] +func (x *GetCalculatedChannelVersionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1951,52 +2062,44 @@ func (x *CalculatedChannelAssetConfiguration_AssetSelection) ProtoReflect() prot return mi.MessageOf(x) } -// Deprecated: Use CalculatedChannelAssetConfiguration_AssetSelection.ProtoReflect.Descriptor instead. -func (*CalculatedChannelAssetConfiguration_AssetSelection) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{2, 0} -} - -func (x *CalculatedChannelAssetConfiguration_AssetSelection) GetAssetIds() []string { - if x != nil { - return x.AssetIds - } - return nil +// Deprecated: Use GetCalculatedChannelVersionsRequest.ProtoReflect.Descriptor instead. +func (*GetCalculatedChannelVersionsRequest) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{26} } -func (x *CalculatedChannelAssetConfiguration_AssetSelection) GetTagIds() []string { +func (x *GetCalculatedChannelVersionsRequest) GetCalculatedChannelVersionIds() []string { if x != nil { - return x.TagIds + return x.CalculatedChannelVersionIds } return nil } -// Sift Expression Language. -type CalculatedChannelQueryConfiguration_Sel struct { +// The response of a call to `CalculatedChannelService_GetCalculatedChannelVersions`. +type GetCalculatedChannelVersionsResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` - ExpressionChannelReferences []*CalculatedChannelAbstractChannelReference `protobuf:"bytes,2,rep,name=expression_channel_references,json=expressionChannelReferences,proto3" json:"expression_channel_references,omitempty"` + CalculatedChannels []*CalculatedChannel `protobuf:"bytes,1,rep,name=calculated_channels,json=calculatedChannels,proto3" json:"calculated_channels,omitempty"` } -func (x *CalculatedChannelQueryConfiguration_Sel) Reset() { - *x = CalculatedChannelQueryConfiguration_Sel{} +func (x *GetCalculatedChannelVersionsResponse) Reset() { + *x = GetCalculatedChannelVersionsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[26] + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[27] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } } -func (x *CalculatedChannelQueryConfiguration_Sel) String() string { +func (x *GetCalculatedChannelVersionsResponse) String() string { return protoimpl.X.MessageStringOf(x) } -func (*CalculatedChannelQueryConfiguration_Sel) ProtoMessage() {} +func (*GetCalculatedChannelVersionsResponse) ProtoMessage() {} -func (x *CalculatedChannelQueryConfiguration_Sel) ProtoReflect() protoreflect.Message { - mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[26] +func (x *GetCalculatedChannelVersionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[27] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -2007,14 +2110,258 @@ func (x *CalculatedChannelQueryConfiguration_Sel) ProtoReflect() protoreflect.Me return mi.MessageOf(x) } -// Deprecated: Use CalculatedChannelQueryConfiguration_Sel.ProtoReflect.Descriptor instead. -func (*CalculatedChannelQueryConfiguration_Sel) Descriptor() ([]byte, []int) { - return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{3, 0} +// Deprecated: Use GetCalculatedChannelVersionsResponse.ProtoReflect.Descriptor instead. +func (*GetCalculatedChannelVersionsResponse) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{27} } -func (x *CalculatedChannelQueryConfiguration_Sel) GetExpression() string { +func (x *GetCalculatedChannelVersionsResponse) GetCalculatedChannels() []*CalculatedChannel { if x != nil { - return x.Expression + return x.CalculatedChannels + } + return nil +} + +// The request for a call to `CalculatedChannelService_GetCalculatedChannelDependents` to retrieve calculated channels that depend on a given calculated channel. +type GetCalculatedChannelDependentsRequest struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to CalculatedChannel: + // + // *GetCalculatedChannelDependentsRequest_CalculatedChannelId + // *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId + CalculatedChannel isGetCalculatedChannelDependentsRequest_CalculatedChannel `protobuf_oneof:"calculated_channel"` +} + +func (x *GetCalculatedChannelDependentsRequest) Reset() { + *x = GetCalculatedChannelDependentsRequest{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCalculatedChannelDependentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCalculatedChannelDependentsRequest) ProtoMessage() {} + +func (x *GetCalculatedChannelDependentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[28] + 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 GetCalculatedChannelDependentsRequest.ProtoReflect.Descriptor instead. +func (*GetCalculatedChannelDependentsRequest) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{28} +} + +func (m *GetCalculatedChannelDependentsRequest) GetCalculatedChannel() isGetCalculatedChannelDependentsRequest_CalculatedChannel { + if m != nil { + return m.CalculatedChannel + } + return nil +} + +func (x *GetCalculatedChannelDependentsRequest) GetCalculatedChannelId() string { + if x, ok := x.GetCalculatedChannel().(*GetCalculatedChannelDependentsRequest_CalculatedChannelId); ok { + return x.CalculatedChannelId + } + return "" +} + +func (x *GetCalculatedChannelDependentsRequest) GetCalculatedChannelVersionId() string { + if x, ok := x.GetCalculatedChannel().(*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId); ok { + return x.CalculatedChannelVersionId + } + return "" +} + +type isGetCalculatedChannelDependentsRequest_CalculatedChannel interface { + isGetCalculatedChannelDependentsRequest_CalculatedChannel() +} + +type GetCalculatedChannelDependentsRequest_CalculatedChannelId struct { + CalculatedChannelId string `protobuf:"bytes,1,opt,name=calculated_channel_id,json=calculatedChannelId,proto3,oneof"` +} + +type GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId struct { + CalculatedChannelVersionId string `protobuf:"bytes,2,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3,oneof"` +} + +func (*GetCalculatedChannelDependentsRequest_CalculatedChannelId) isGetCalculatedChannelDependentsRequest_CalculatedChannel() { +} + +func (*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) isGetCalculatedChannelDependentsRequest_CalculatedChannel() { +} + +// The response of a call to `CalculatedChannelService_GetCalculatedChannelDependents`. +type GetCalculatedChannelDependentsResponse struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CalculatedChannels []*CalculatedChannel `protobuf:"bytes,1,rep,name=calculated_channels,json=calculatedChannels,proto3" json:"calculated_channels,omitempty"` + Rules []*v13.Rule `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"` +} + +func (x *GetCalculatedChannelDependentsResponse) Reset() { + *x = GetCalculatedChannelDependentsResponse{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *GetCalculatedChannelDependentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCalculatedChannelDependentsResponse) ProtoMessage() {} + +func (x *GetCalculatedChannelDependentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[29] + 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 GetCalculatedChannelDependentsResponse.ProtoReflect.Descriptor instead. +func (*GetCalculatedChannelDependentsResponse) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{29} +} + +func (x *GetCalculatedChannelDependentsResponse) GetCalculatedChannels() []*CalculatedChannel { + if x != nil { + return x.CalculatedChannels + } + return nil +} + +func (x *GetCalculatedChannelDependentsResponse) GetRules() []*v13.Rule { + if x != nil { + return x.Rules + } + return nil +} + +type CalculatedChannelAssetConfiguration_AssetSelection struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AssetIds []string `protobuf:"bytes,1,rep,name=asset_ids,json=assetIds,proto3" json:"asset_ids,omitempty"` + TagIds []string `protobuf:"bytes,2,rep,name=tag_ids,json=tagIds,proto3" json:"tag_ids,omitempty"` +} + +func (x *CalculatedChannelAssetConfiguration_AssetSelection) Reset() { + *x = CalculatedChannelAssetConfiguration_AssetSelection{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CalculatedChannelAssetConfiguration_AssetSelection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalculatedChannelAssetConfiguration_AssetSelection) ProtoMessage() {} + +func (x *CalculatedChannelAssetConfiguration_AssetSelection) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_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 CalculatedChannelAssetConfiguration_AssetSelection.ProtoReflect.Descriptor instead. +func (*CalculatedChannelAssetConfiguration_AssetSelection) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{3, 0} +} + +func (x *CalculatedChannelAssetConfiguration_AssetSelection) GetAssetIds() []string { + if x != nil { + return x.AssetIds + } + return nil +} + +func (x *CalculatedChannelAssetConfiguration_AssetSelection) GetTagIds() []string { + if x != nil { + return x.TagIds + } + return nil +} + +// Sift Expression Language. +type CalculatedChannelQueryConfiguration_Sel struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Expression string `protobuf:"bytes,1,opt,name=expression,proto3" json:"expression,omitempty"` + ExpressionChannelReferences []*CalculatedChannelAbstractChannelReference `protobuf:"bytes,2,rep,name=expression_channel_references,json=expressionChannelReferences,proto3" json:"expression_channel_references,omitempty"` +} + +func (x *CalculatedChannelQueryConfiguration_Sel) Reset() { + *x = CalculatedChannelQueryConfiguration_Sel{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CalculatedChannelQueryConfiguration_Sel) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalculatedChannelQueryConfiguration_Sel) ProtoMessage() {} + +func (x *CalculatedChannelQueryConfiguration_Sel) ProtoReflect() protoreflect.Message { + mi := &file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[31] + 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 CalculatedChannelQueryConfiguration_Sel.ProtoReflect.Descriptor instead. +func (*CalculatedChannelQueryConfiguration_Sel) Descriptor() ([]byte, []int) { + return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *CalculatedChannelQueryConfiguration_Sel) GetExpression() string { + if x != nil { + return x.Expression } return "" } @@ -2059,141 +2406,170 @@ var file_sift_calculated_channels_v2_calculated_channels_proto_rawDesc = []byte{ 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd4, 0x08, 0x0a, - 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, - 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, - 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, - 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x69, + 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x09, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x37, 0x0a, + 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, + 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, + 0x6e, 0x69, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x02, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 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, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, + 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, + 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x12, 0x85, 0x01, 0x0a, 0x1f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1d, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x22, 0x65, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x90, 0x02, + 0x0a, 0x1e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x76, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, 0x71, 0x75, 0x65, 0x72, + 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x61, 0x0a, - 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, - 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x14, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, - 0x69, 0x74, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x1e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, - 0x0a, 0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x71, 0x75, + 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x98, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, + 0x61, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x09, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, - 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x6f, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, + 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x50, 0x0a, 0x0e, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, + 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x23, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x03, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x73, 0x65, 0x6c, 0x1a, 0xbc, 0x01, + 0x0a, 0x03, 0x53, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x50, 0x0a, 0x0e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, - 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x03, 0x73, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x03, - 0x73, 0x65, 0x6c, 0x1a, 0xbc, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x91, 0x01, 0x0a, 0x29, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, + 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x1b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xd7, 0x02, 0x0a, 0x29, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, + 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x43, 0x0a, 0x1d, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x5f, + 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, + 0x1e, 0x0a, 0x1c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x21, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, @@ -2207,7 +2583,7 @@ var file_sift_calculated_channels_v2_calculated_channels_proto_rawDesc = []byte{ 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xa8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0xf0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, @@ -2217,43 +2593,104 @@ var file_sift_calculated_channels_v2_calculated_channels_proto_rawDesc = []byte{ 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, - 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, - 0xb5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, - 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e, - 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x8a, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x1d, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xb5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, + 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, + 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, + 0xfb, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x74, 0x0a, 0x13, 0x69, 0x6e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xd0, 0x01, + 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfe, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, + 0x27, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, @@ -2269,417 +2706,440 @@ var file_sift_calculated_channels_v2_calculated_channels_proto_rawDesc = []byte{ 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x63, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, + 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xc9, 0x01, 0x0a, + 0x25, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x1b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x19, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd3, 0x03, 0x0a, 0x1f, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfe, - 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, - 0xfb, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x74, 0x0a, 0x13, 0x69, 0x6e, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x02, - 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, - 0x0a, 0x1b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xd3, 0x03, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, + 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x03, 0x72, + 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x00, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, - 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x06, - 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x10, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x22, 0x6b, 0x0a, 0x1b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, - 0x02, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, + 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, + 0x42, 0x14, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x98, + 0x02, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x62, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x11, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x1b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, - 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x61, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x15, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, - 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x25, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x8a, 0x01, 0x0a, - 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x25, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x22, 0xd5, 0x02, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x60, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, + 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xd5, 0x02, 0x0a, 0x1b, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x12, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, + 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, + 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x22, 0xdb, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, + 0x0a, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, + 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x22, 0x6f, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x22, 0xc2, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x15, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, + 0x14, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xbe, 0x01, 0x0a, 0x26, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, + 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x64, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x32, 0xa3, 0x19, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xe0, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x38, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0x4c, 0x12, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x34, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, + 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x5a, 0x46, 0x12, 0x44, 0x2f, 0x76, 0x32, + 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x7d, 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xdb, 0x01, 0x0a, 0x26, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, - 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x63, + 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf6, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x92, + 0x41, 0x37, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x1c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, + 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, + 0xa4, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x6a, 0x12, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xa8, 0x14, 0x0a, 0x18, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe0, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x38, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0x4c, 0x12, 0x14, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, - 0x34, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, + 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, + 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x92, + 0x41, 0x53, 0x12, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x38, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, + 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x5a, 0x46, 0x12, 0x44, 0x2f, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xac, 0x03, 0x0a, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x92, 0x41, 0x6a, 0x12, 0x1d, 0x4c, 0x69, 0x73, 0x74, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49, 0x4c, 0x69, 0x73, 0x74, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x5a, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x7d, 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf6, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x65, 0x79, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa6, 0x02, 0x0a, 0x18, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x18, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x3f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x12, 0xcb, 0x02, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x9f, 0x01, 0x92, 0x41, 0x68, 0x12, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x47, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x74, + 0x6f, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x12, 0xcd, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x60, 0x92, 0x41, 0x37, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x1c, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x12, 0xa4, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3a, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x6a, 0x12, 0x16, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, + 0x92, 0x41, 0x72, 0x12, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, + 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x17, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7c, 0x92, 0x41, 0x53, 0x12, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x38, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, - 0x32, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xac, 0x03, - 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x12, 0xaf, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x92, 0x41, 0x6a, 0x12, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49, 0x4c, 0x69, 0x73, - 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x5a, 0x4f, 0x12, - 0x4d, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa6, 0x02, 0x0a, - 0x18, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x18, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x3f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, - 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x12, 0xcb, 0x02, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x9f, 0x01, 0x92, 0x41, 0x68, 0x12, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x47, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, - 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x69, - 0x6e, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x3a, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x12, 0xcd, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x92, 0x41, 0x5a, 0x12, 0x1c, 0x47, + 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x3a, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0xa1, 0x01, 0x92, 0x41, 0x72, 0x12, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, 0x24, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x64, 0x42, 0x99, 0x02, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, - 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, - 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, - 0x32, 0x3b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x1a, - 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x1a, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x26, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x9a, 0x01, 0x92, 0x41, 0x69, 0x12, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x47, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, + 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x42, 0x99, 0x02, 0x0a, + 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, + 0x42, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x53, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, + 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x76, 0x32, + 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x56, 0x32, 0xca, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, + 0xe2, 0x02, 0x26, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, + 0x3a, 0x3a, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -2694,102 +3154,117 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_rawDescGZIP() [] return file_sift_calculated_channels_v2_calculated_channels_proto_rawDescData } -var file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes = make([]protoimpl.MessageInfo, 27) +var file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes = make([]protoimpl.MessageInfo, 32) var file_sift_calculated_channels_v2_calculated_channels_proto_goTypes = []interface{}{ (*CalculatedChannel)(nil), // 0: sift.calculated_channels.v2.CalculatedChannel - (*CalculatedChannelConfiguration)(nil), // 1: sift.calculated_channels.v2.CalculatedChannelConfiguration - (*CalculatedChannelAssetConfiguration)(nil), // 2: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration - (*CalculatedChannelQueryConfiguration)(nil), // 3: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration - (*CalculatedChannelAbstractChannelReference)(nil), // 4: sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference - (*CalculatedChannelValidationResult)(nil), // 5: sift.calculated_channels.v2.CalculatedChannelValidationResult - (*GetCalculatedChannelRequest)(nil), // 6: sift.calculated_channels.v2.GetCalculatedChannelRequest - (*GetCalculatedChannelResponse)(nil), // 7: sift.calculated_channels.v2.GetCalculatedChannelResponse - (*CreateCalculatedChannelRequest)(nil), // 8: sift.calculated_channels.v2.CreateCalculatedChannelRequest - (*CreateCalculatedChannelResponse)(nil), // 9: sift.calculated_channels.v2.CreateCalculatedChannelResponse - (*ListCalculatedChannelsRequest)(nil), // 10: sift.calculated_channels.v2.ListCalculatedChannelsRequest - (*ListCalculatedChannelsResponse)(nil), // 11: sift.calculated_channels.v2.ListCalculatedChannelsResponse - (*UpdateCalculatedChannelRequest)(nil), // 12: sift.calculated_channels.v2.UpdateCalculatedChannelRequest - (*UpdateCalculatedChannelResponse)(nil), // 13: sift.calculated_channels.v2.UpdateCalculatedChannelResponse - (*ListCalculatedChannelVersionsRequest)(nil), // 14: sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest - (*ListCalculatedChannelVersionsResponse)(nil), // 15: sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse - (*ResolveCalculatedChannelRequest)(nil), // 16: sift.calculated_channels.v2.ResolveCalculatedChannelRequest - (*ResolvedCalculatedChannel)(nil), // 17: sift.calculated_channels.v2.ResolvedCalculatedChannel - (*UnresolvedCalculatedChannel)(nil), // 18: sift.calculated_channels.v2.UnresolvedCalculatedChannel - (*ResolveCalculatedChannelResponse)(nil), // 19: sift.calculated_channels.v2.ResolveCalculatedChannelResponse - (*BatchResolveCalculatedChannelsRequest)(nil), // 20: sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest - (*BatchResolveCalculatedChannelsResponse)(nil), // 21: sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse - (*ListResolvedCalculatedChannelsRequest)(nil), // 22: sift.calculated_channels.v2.ListResolvedCalculatedChannelsRequest - (*CalculatedChannelResolution)(nil), // 23: sift.calculated_channels.v2.CalculatedChannelResolution - (*ListResolvedCalculatedChannelsResponse)(nil), // 24: sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse - (*CalculatedChannelAssetConfiguration_AssetSelection)(nil), // 25: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.AssetSelection - (*CalculatedChannelQueryConfiguration_Sel)(nil), // 26: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel - (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp - (*v1.FunctionDependency)(nil), // 28: sift.common.type.v1.FunctionDependency - (*v11.MetadataValue)(nil), // 29: sift.metadata.v1.MetadataValue - (*fieldmaskpb.FieldMask)(nil), // 30: google.protobuf.FieldMask - (*v1.ResourceIdentifier)(nil), // 31: sift.common.type.v1.ResourceIdentifier - (*v1.NamedResources)(nil), // 32: sift.common.type.v1.NamedResources - (*v12.ExpressionRequest)(nil), // 33: sift.calculated_channels.v1.ExpressionRequest - (v1.ChannelDataType)(0), // 34: sift.common.type.v1.ChannelDataType + (*CalculatedChannelDependency)(nil), // 1: sift.calculated_channels.v2.CalculatedChannelDependency + (*CalculatedChannelConfiguration)(nil), // 2: sift.calculated_channels.v2.CalculatedChannelConfiguration + (*CalculatedChannelAssetConfiguration)(nil), // 3: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration + (*CalculatedChannelQueryConfiguration)(nil), // 4: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration + (*CalculatedChannelAbstractChannelReference)(nil), // 5: sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference + (*CalculatedChannelValidationResult)(nil), // 6: sift.calculated_channels.v2.CalculatedChannelValidationResult + (*GetCalculatedChannelRequest)(nil), // 7: sift.calculated_channels.v2.GetCalculatedChannelRequest + (*GetCalculatedChannelResponse)(nil), // 8: sift.calculated_channels.v2.GetCalculatedChannelResponse + (*CreateCalculatedChannelRequest)(nil), // 9: sift.calculated_channels.v2.CreateCalculatedChannelRequest + (*CreateCalculatedChannelResponse)(nil), // 10: sift.calculated_channels.v2.CreateCalculatedChannelResponse + (*ListCalculatedChannelsRequest)(nil), // 11: sift.calculated_channels.v2.ListCalculatedChannelsRequest + (*ListCalculatedChannelsResponse)(nil), // 12: sift.calculated_channels.v2.ListCalculatedChannelsResponse + (*UpdateCalculatedChannelRequest)(nil), // 13: sift.calculated_channels.v2.UpdateCalculatedChannelRequest + (*UpdateCalculatedChannelResponse)(nil), // 14: sift.calculated_channels.v2.UpdateCalculatedChannelResponse + (*ListCalculatedChannelVersionsRequest)(nil), // 15: sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest + (*ListCalculatedChannelVersionsResponse)(nil), // 16: sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse + (*ResolveCalculatedChannelRequest)(nil), // 17: sift.calculated_channels.v2.ResolveCalculatedChannelRequest + (*ResolvedCalculatedChannel)(nil), // 18: sift.calculated_channels.v2.ResolvedCalculatedChannel + (*UnresolvedCalculatedChannel)(nil), // 19: sift.calculated_channels.v2.UnresolvedCalculatedChannel + (*ResolveCalculatedChannelResponse)(nil), // 20: sift.calculated_channels.v2.ResolveCalculatedChannelResponse + (*BatchResolveCalculatedChannelsRequest)(nil), // 21: sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest + (*BatchResolveCalculatedChannelsResponse)(nil), // 22: sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse + (*ListResolvedCalculatedChannelsRequest)(nil), // 23: sift.calculated_channels.v2.ListResolvedCalculatedChannelsRequest + (*CalculatedChannelResolution)(nil), // 24: sift.calculated_channels.v2.CalculatedChannelResolution + (*ListResolvedCalculatedChannelsResponse)(nil), // 25: sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse + (*GetCalculatedChannelVersionsRequest)(nil), // 26: sift.calculated_channels.v2.GetCalculatedChannelVersionsRequest + (*GetCalculatedChannelVersionsResponse)(nil), // 27: sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse + (*GetCalculatedChannelDependentsRequest)(nil), // 28: sift.calculated_channels.v2.GetCalculatedChannelDependentsRequest + (*GetCalculatedChannelDependentsResponse)(nil), // 29: sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse + (*CalculatedChannelAssetConfiguration_AssetSelection)(nil), // 30: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.AssetSelection + (*CalculatedChannelQueryConfiguration_Sel)(nil), // 31: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*v1.FunctionDependency)(nil), // 33: sift.common.type.v1.FunctionDependency + (*v11.MetadataValue)(nil), // 34: sift.metadata.v1.MetadataValue + (*v12.ExpressionRequest)(nil), // 35: sift.calculated_channels.v1.ExpressionRequest + (*fieldmaskpb.FieldMask)(nil), // 36: google.protobuf.FieldMask + (*v1.ResourceIdentifier)(nil), // 37: sift.common.type.v1.ResourceIdentifier + (*v1.NamedResources)(nil), // 38: sift.common.type.v1.NamedResources + (v1.ChannelDataType)(0), // 39: sift.common.type.v1.ChannelDataType + (*v13.Rule)(nil), // 40: sift.rules.v1.Rule } var file_sift_calculated_channels_v2_calculated_channels_proto_depIdxs = []int32{ - 27, // 0: sift.calculated_channels.v2.CalculatedChannel.archived_date:type_name -> google.protobuf.Timestamp - 27, // 1: sift.calculated_channels.v2.CalculatedChannel.created_date:type_name -> google.protobuf.Timestamp - 27, // 2: sift.calculated_channels.v2.CalculatedChannel.modified_date:type_name -> google.protobuf.Timestamp - 1, // 3: sift.calculated_channels.v2.CalculatedChannel.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration - 28, // 4: sift.calculated_channels.v2.CalculatedChannel.function_dependencies:type_name -> sift.common.type.v1.FunctionDependency - 29, // 5: sift.calculated_channels.v2.CalculatedChannel.metadata:type_name -> sift.metadata.v1.MetadataValue - 2, // 6: sift.calculated_channels.v2.CalculatedChannelConfiguration.asset_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelAssetConfiguration - 3, // 7: sift.calculated_channels.v2.CalculatedChannelConfiguration.query_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelQueryConfiguration - 25, // 8: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.selection:type_name -> sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.AssetSelection - 26, // 9: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.sel:type_name -> sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel - 0, // 10: sift.calculated_channels.v2.GetCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel - 1, // 11: sift.calculated_channels.v2.CreateCalculatedChannelRequest.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration - 29, // 12: sift.calculated_channels.v2.CreateCalculatedChannelRequest.metadata:type_name -> sift.metadata.v1.MetadataValue - 0, // 13: sift.calculated_channels.v2.CreateCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel - 5, // 14: sift.calculated_channels.v2.CreateCalculatedChannelResponse.inapplicable_assets:type_name -> sift.calculated_channels.v2.CalculatedChannelValidationResult - 0, // 15: sift.calculated_channels.v2.ListCalculatedChannelsResponse.calculated_channels:type_name -> sift.calculated_channels.v2.CalculatedChannel - 0, // 16: sift.calculated_channels.v2.UpdateCalculatedChannelRequest.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel - 30, // 17: sift.calculated_channels.v2.UpdateCalculatedChannelRequest.update_mask:type_name -> google.protobuf.FieldMask - 0, // 18: sift.calculated_channels.v2.UpdateCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel - 5, // 19: sift.calculated_channels.v2.UpdateCalculatedChannelResponse.inapplicable_assets:type_name -> sift.calculated_channels.v2.CalculatedChannelValidationResult - 0, // 20: sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse.calculated_channel_versions:type_name -> sift.calculated_channels.v2.CalculatedChannel - 31, // 21: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.identifier:type_name -> sift.common.type.v1.ResourceIdentifier - 1, // 22: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration - 32, // 23: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.assets:type_name -> sift.common.type.v1.NamedResources - 31, // 24: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.run:type_name -> sift.common.type.v1.ResourceIdentifier - 33, // 25: sift.calculated_channels.v2.ResolvedCalculatedChannel.expression_request:type_name -> sift.calculated_channels.v1.ExpressionRequest - 34, // 26: sift.calculated_channels.v2.ResolvedCalculatedChannel.output_data_type:type_name -> sift.common.type.v1.ChannelDataType - 17, // 27: sift.calculated_channels.v2.ResolveCalculatedChannelResponse.resolved:type_name -> sift.calculated_channels.v2.ResolvedCalculatedChannel - 18, // 28: sift.calculated_channels.v2.ResolveCalculatedChannelResponse.unresolved:type_name -> sift.calculated_channels.v2.UnresolvedCalculatedChannel - 16, // 29: sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest.requests:type_name -> sift.calculated_channels.v2.ResolveCalculatedChannelRequest - 19, // 30: sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse.responses:type_name -> sift.calculated_channels.v2.ResolveCalculatedChannelResponse - 0, // 31: sift.calculated_channels.v2.CalculatedChannelResolution.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel - 17, // 32: sift.calculated_channels.v2.CalculatedChannelResolution.resolved:type_name -> sift.calculated_channels.v2.ResolvedCalculatedChannel - 18, // 33: sift.calculated_channels.v2.CalculatedChannelResolution.unresolved:type_name -> sift.calculated_channels.v2.UnresolvedCalculatedChannel - 23, // 34: sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse.calculated_channel_resolutions:type_name -> sift.calculated_channels.v2.CalculatedChannelResolution - 4, // 35: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel.expression_channel_references:type_name -> sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference - 6, // 36: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannel:input_type -> sift.calculated_channels.v2.GetCalculatedChannelRequest - 8, // 37: sift.calculated_channels.v2.CalculatedChannelService.CreateCalculatedChannel:input_type -> sift.calculated_channels.v2.CreateCalculatedChannelRequest - 10, // 38: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannels:input_type -> sift.calculated_channels.v2.ListCalculatedChannelsRequest - 12, // 39: sift.calculated_channels.v2.CalculatedChannelService.UpdateCalculatedChannel:input_type -> sift.calculated_channels.v2.UpdateCalculatedChannelRequest - 14, // 40: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannelVersions:input_type -> sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest - 16, // 41: sift.calculated_channels.v2.CalculatedChannelService.ResolveCalculatedChannel:input_type -> sift.calculated_channels.v2.ResolveCalculatedChannelRequest - 20, // 42: sift.calculated_channels.v2.CalculatedChannelService.BatchResolveCalculatedChannels:input_type -> sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest - 22, // 43: sift.calculated_channels.v2.CalculatedChannelService.ListResolvedCalculatedChannels:input_type -> sift.calculated_channels.v2.ListResolvedCalculatedChannelsRequest - 7, // 44: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannel:output_type -> sift.calculated_channels.v2.GetCalculatedChannelResponse - 9, // 45: sift.calculated_channels.v2.CalculatedChannelService.CreateCalculatedChannel:output_type -> sift.calculated_channels.v2.CreateCalculatedChannelResponse - 11, // 46: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannels:output_type -> sift.calculated_channels.v2.ListCalculatedChannelsResponse - 13, // 47: sift.calculated_channels.v2.CalculatedChannelService.UpdateCalculatedChannel:output_type -> sift.calculated_channels.v2.UpdateCalculatedChannelResponse - 15, // 48: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannelVersions:output_type -> sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse - 19, // 49: sift.calculated_channels.v2.CalculatedChannelService.ResolveCalculatedChannel:output_type -> sift.calculated_channels.v2.ResolveCalculatedChannelResponse - 21, // 50: sift.calculated_channels.v2.CalculatedChannelService.BatchResolveCalculatedChannels:output_type -> sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse - 24, // 51: sift.calculated_channels.v2.CalculatedChannelService.ListResolvedCalculatedChannels:output_type -> sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse - 44, // [44:52] is the sub-list for method output_type - 36, // [36:44] is the sub-list for method input_type - 36, // [36:36] is the sub-list for extension type_name - 36, // [36:36] is the sub-list for extension extendee - 0, // [0:36] is the sub-list for field type_name + 32, // 0: sift.calculated_channels.v2.CalculatedChannel.archived_date:type_name -> google.protobuf.Timestamp + 32, // 1: sift.calculated_channels.v2.CalculatedChannel.created_date:type_name -> google.protobuf.Timestamp + 32, // 2: sift.calculated_channels.v2.CalculatedChannel.modified_date:type_name -> google.protobuf.Timestamp + 2, // 3: sift.calculated_channels.v2.CalculatedChannel.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration + 33, // 4: sift.calculated_channels.v2.CalculatedChannel.function_dependencies:type_name -> sift.common.type.v1.FunctionDependency + 34, // 5: sift.calculated_channels.v2.CalculatedChannel.metadata:type_name -> sift.metadata.v1.MetadataValue + 1, // 6: sift.calculated_channels.v2.CalculatedChannel.calculated_channel_dependencies:type_name -> sift.calculated_channels.v2.CalculatedChannelDependency + 3, // 7: sift.calculated_channels.v2.CalculatedChannelConfiguration.asset_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelAssetConfiguration + 4, // 8: sift.calculated_channels.v2.CalculatedChannelConfiguration.query_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelQueryConfiguration + 30, // 9: sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.selection:type_name -> sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.AssetSelection + 31, // 10: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.sel:type_name -> sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel + 35, // 11: sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference.calculated_channel:type_name -> sift.calculated_channels.v1.ExpressionRequest + 0, // 12: sift.calculated_channels.v2.GetCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel + 2, // 13: sift.calculated_channels.v2.CreateCalculatedChannelRequest.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration + 34, // 14: sift.calculated_channels.v2.CreateCalculatedChannelRequest.metadata:type_name -> sift.metadata.v1.MetadataValue + 0, // 15: sift.calculated_channels.v2.CreateCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel + 6, // 16: sift.calculated_channels.v2.CreateCalculatedChannelResponse.inapplicable_assets:type_name -> sift.calculated_channels.v2.CalculatedChannelValidationResult + 0, // 17: sift.calculated_channels.v2.ListCalculatedChannelsResponse.calculated_channels:type_name -> sift.calculated_channels.v2.CalculatedChannel + 0, // 18: sift.calculated_channels.v2.UpdateCalculatedChannelRequest.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel + 36, // 19: sift.calculated_channels.v2.UpdateCalculatedChannelRequest.update_mask:type_name -> google.protobuf.FieldMask + 0, // 20: sift.calculated_channels.v2.UpdateCalculatedChannelResponse.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel + 6, // 21: sift.calculated_channels.v2.UpdateCalculatedChannelResponse.inapplicable_assets:type_name -> sift.calculated_channels.v2.CalculatedChannelValidationResult + 0, // 22: sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse.calculated_channel_versions:type_name -> sift.calculated_channels.v2.CalculatedChannel + 37, // 23: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.identifier:type_name -> sift.common.type.v1.ResourceIdentifier + 2, // 24: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.calculated_channel_configuration:type_name -> sift.calculated_channels.v2.CalculatedChannelConfiguration + 38, // 25: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.assets:type_name -> sift.common.type.v1.NamedResources + 37, // 26: sift.calculated_channels.v2.ResolveCalculatedChannelRequest.run:type_name -> sift.common.type.v1.ResourceIdentifier + 35, // 27: sift.calculated_channels.v2.ResolvedCalculatedChannel.expression_request:type_name -> sift.calculated_channels.v1.ExpressionRequest + 39, // 28: sift.calculated_channels.v2.ResolvedCalculatedChannel.output_data_type:type_name -> sift.common.type.v1.ChannelDataType + 18, // 29: sift.calculated_channels.v2.ResolveCalculatedChannelResponse.resolved:type_name -> sift.calculated_channels.v2.ResolvedCalculatedChannel + 19, // 30: sift.calculated_channels.v2.ResolveCalculatedChannelResponse.unresolved:type_name -> sift.calculated_channels.v2.UnresolvedCalculatedChannel + 17, // 31: sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest.requests:type_name -> sift.calculated_channels.v2.ResolveCalculatedChannelRequest + 20, // 32: sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse.responses:type_name -> sift.calculated_channels.v2.ResolveCalculatedChannelResponse + 0, // 33: sift.calculated_channels.v2.CalculatedChannelResolution.calculated_channel:type_name -> sift.calculated_channels.v2.CalculatedChannel + 18, // 34: sift.calculated_channels.v2.CalculatedChannelResolution.resolved:type_name -> sift.calculated_channels.v2.ResolvedCalculatedChannel + 19, // 35: sift.calculated_channels.v2.CalculatedChannelResolution.unresolved:type_name -> sift.calculated_channels.v2.UnresolvedCalculatedChannel + 24, // 36: sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse.calculated_channel_resolutions:type_name -> sift.calculated_channels.v2.CalculatedChannelResolution + 0, // 37: sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse.calculated_channels:type_name -> sift.calculated_channels.v2.CalculatedChannel + 0, // 38: sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse.calculated_channels:type_name -> sift.calculated_channels.v2.CalculatedChannel + 40, // 39: sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse.rules:type_name -> sift.rules.v1.Rule + 5, // 40: sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.Sel.expression_channel_references:type_name -> sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference + 7, // 41: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannel:input_type -> sift.calculated_channels.v2.GetCalculatedChannelRequest + 9, // 42: sift.calculated_channels.v2.CalculatedChannelService.CreateCalculatedChannel:input_type -> sift.calculated_channels.v2.CreateCalculatedChannelRequest + 11, // 43: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannels:input_type -> sift.calculated_channels.v2.ListCalculatedChannelsRequest + 13, // 44: sift.calculated_channels.v2.CalculatedChannelService.UpdateCalculatedChannel:input_type -> sift.calculated_channels.v2.UpdateCalculatedChannelRequest + 15, // 45: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannelVersions:input_type -> sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest + 17, // 46: sift.calculated_channels.v2.CalculatedChannelService.ResolveCalculatedChannel:input_type -> sift.calculated_channels.v2.ResolveCalculatedChannelRequest + 21, // 47: sift.calculated_channels.v2.CalculatedChannelService.BatchResolveCalculatedChannels:input_type -> sift.calculated_channels.v2.BatchResolveCalculatedChannelsRequest + 23, // 48: sift.calculated_channels.v2.CalculatedChannelService.ListResolvedCalculatedChannels:input_type -> sift.calculated_channels.v2.ListResolvedCalculatedChannelsRequest + 26, // 49: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannelVersions:input_type -> sift.calculated_channels.v2.GetCalculatedChannelVersionsRequest + 28, // 50: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannelDependents:input_type -> sift.calculated_channels.v2.GetCalculatedChannelDependentsRequest + 8, // 51: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannel:output_type -> sift.calculated_channels.v2.GetCalculatedChannelResponse + 10, // 52: sift.calculated_channels.v2.CalculatedChannelService.CreateCalculatedChannel:output_type -> sift.calculated_channels.v2.CreateCalculatedChannelResponse + 12, // 53: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannels:output_type -> sift.calculated_channels.v2.ListCalculatedChannelsResponse + 14, // 54: sift.calculated_channels.v2.CalculatedChannelService.UpdateCalculatedChannel:output_type -> sift.calculated_channels.v2.UpdateCalculatedChannelResponse + 16, // 55: sift.calculated_channels.v2.CalculatedChannelService.ListCalculatedChannelVersions:output_type -> sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse + 20, // 56: sift.calculated_channels.v2.CalculatedChannelService.ResolveCalculatedChannel:output_type -> sift.calculated_channels.v2.ResolveCalculatedChannelResponse + 22, // 57: sift.calculated_channels.v2.CalculatedChannelService.BatchResolveCalculatedChannels:output_type -> sift.calculated_channels.v2.BatchResolveCalculatedChannelsResponse + 25, // 58: sift.calculated_channels.v2.CalculatedChannelService.ListResolvedCalculatedChannels:output_type -> sift.calculated_channels.v2.ListResolvedCalculatedChannelsResponse + 27, // 59: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannelVersions:output_type -> sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse + 29, // 60: sift.calculated_channels.v2.CalculatedChannelService.GetCalculatedChannelDependents:output_type -> sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse + 51, // [51:61] is the sub-list for method output_type + 41, // [41:51] is the sub-list for method input_type + 41, // [41:41] is the sub-list for extension type_name + 41, // [41:41] is the sub-list for extension extendee + 0, // [0:41] is the sub-list for field type_name } func init() { file_sift_calculated_channels_v2_calculated_channels_proto_init() } @@ -2811,7 +3286,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelConfiguration); i { + switch v := v.(*CalculatedChannelDependency); i { case 0: return &v.state case 1: @@ -2823,7 +3298,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelAssetConfiguration); i { + switch v := v.(*CalculatedChannelConfiguration); i { case 0: return &v.state case 1: @@ -2835,7 +3310,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelQueryConfiguration); i { + switch v := v.(*CalculatedChannelAssetConfiguration); i { case 0: return &v.state case 1: @@ -2847,7 +3322,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelAbstractChannelReference); i { + switch v := v.(*CalculatedChannelQueryConfiguration); i { case 0: return &v.state case 1: @@ -2859,7 +3334,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelValidationResult); i { + switch v := v.(*CalculatedChannelAbstractChannelReference); i { case 0: return &v.state case 1: @@ -2871,7 +3346,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCalculatedChannelRequest); i { + switch v := v.(*CalculatedChannelValidationResult); i { case 0: return &v.state case 1: @@ -2883,7 +3358,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetCalculatedChannelResponse); i { + switch v := v.(*GetCalculatedChannelRequest); i { case 0: return &v.state case 1: @@ -2895,7 +3370,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateCalculatedChannelRequest); i { + switch v := v.(*GetCalculatedChannelResponse); i { case 0: return &v.state case 1: @@ -2907,7 +3382,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateCalculatedChannelResponse); i { + switch v := v.(*CreateCalculatedChannelRequest); i { case 0: return &v.state case 1: @@ -2919,7 +3394,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListCalculatedChannelsRequest); i { + switch v := v.(*CreateCalculatedChannelResponse); i { case 0: return &v.state case 1: @@ -2931,7 +3406,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListCalculatedChannelsResponse); i { + switch v := v.(*ListCalculatedChannelsRequest); i { case 0: return &v.state case 1: @@ -2943,7 +3418,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCalculatedChannelRequest); i { + switch v := v.(*ListCalculatedChannelsResponse); i { case 0: return &v.state case 1: @@ -2955,7 +3430,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateCalculatedChannelResponse); i { + switch v := v.(*UpdateCalculatedChannelRequest); i { case 0: return &v.state case 1: @@ -2967,7 +3442,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListCalculatedChannelVersionsRequest); i { + switch v := v.(*UpdateCalculatedChannelResponse); i { case 0: return &v.state case 1: @@ -2979,7 +3454,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListCalculatedChannelVersionsResponse); i { + switch v := v.(*ListCalculatedChannelVersionsRequest); i { case 0: return &v.state case 1: @@ -2991,7 +3466,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResolveCalculatedChannelRequest); i { + switch v := v.(*ListCalculatedChannelVersionsResponse); i { case 0: return &v.state case 1: @@ -3003,7 +3478,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResolvedCalculatedChannel); i { + switch v := v.(*ResolveCalculatedChannelRequest); i { case 0: return &v.state case 1: @@ -3015,7 +3490,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnresolvedCalculatedChannel); i { + switch v := v.(*ResolvedCalculatedChannel); i { case 0: return &v.state case 1: @@ -3027,7 +3502,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResolveCalculatedChannelResponse); i { + switch v := v.(*UnresolvedCalculatedChannel); i { case 0: return &v.state case 1: @@ -3039,7 +3514,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchResolveCalculatedChannelsRequest); i { + switch v := v.(*ResolveCalculatedChannelResponse); i { case 0: return &v.state case 1: @@ -3051,7 +3526,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchResolveCalculatedChannelsResponse); i { + switch v := v.(*BatchResolveCalculatedChannelsRequest); i { case 0: return &v.state case 1: @@ -3063,7 +3538,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResolvedCalculatedChannelsRequest); i { + switch v := v.(*BatchResolveCalculatedChannelsResponse); i { case 0: return &v.state case 1: @@ -3075,7 +3550,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelResolution); i { + switch v := v.(*ListResolvedCalculatedChannelsRequest); i { case 0: return &v.state case 1: @@ -3087,7 +3562,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResolvedCalculatedChannelsResponse); i { + switch v := v.(*CalculatedChannelResolution); i { case 0: return &v.state case 1: @@ -3099,7 +3574,7 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CalculatedChannelAssetConfiguration_AssetSelection); i { + switch v := v.(*ListResolvedCalculatedChannelsResponse); i { case 0: return &v.state case 1: @@ -3111,6 +3586,66 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCalculatedChannelVersionsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCalculatedChannelVersionsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCalculatedChannelDependentsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*GetCalculatedChannelDependentsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CalculatedChannelAssetConfiguration_AssetSelection); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CalculatedChannelQueryConfiguration_Sel); i { case 0: return &v.state @@ -3124,29 +3659,37 @@ func file_sift_calculated_channels_v2_calculated_channels_proto_init() { } } file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[2].OneofWrappers = []interface{}{ + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3].OneofWrappers = []interface{}{ (*CalculatedChannelAssetConfiguration_AllAssets)(nil), (*CalculatedChannelAssetConfiguration_Selection)(nil), } - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[3].OneofWrappers = []interface{}{ + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[4].OneofWrappers = []interface{}{ (*CalculatedChannelQueryConfiguration_Sel_)(nil), } - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5].OneofWrappers = []interface{}{} - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[8].OneofWrappers = []interface{}{} - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[16].OneofWrappers = []interface{}{ + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[5].OneofWrappers = []interface{}{ + (*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId)(nil), + (*CalculatedChannelAbstractChannelReference_CalculatedChannel)(nil), + } + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[6].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[9].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[13].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[17].OneofWrappers = []interface{}{ (*ResolveCalculatedChannelRequest_Identifier)(nil), (*ResolveCalculatedChannelRequest_CalculatedChannelConfiguration)(nil), } - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[19].OneofWrappers = []interface{}{} - file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[23].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[24].OneofWrappers = []interface{}{} + file_sift_calculated_channels_v2_calculated_channels_proto_msgTypes[28].OneofWrappers = []interface{}{ + (*GetCalculatedChannelDependentsRequest_CalculatedChannelId)(nil), + (*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId)(nil), + } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sift_calculated_channels_v2_calculated_channels_proto_rawDesc, NumEnums: 0, - NumMessages: 27, + NumMessages: 32, NumExtensions: 0, NumServices: 1, }, diff --git a/go/gen/sift/calculated_channels/v2/calculated_channels.pb.gw.go b/go/gen/sift/calculated_channels/v2/calculated_channels.pb.gw.go index eed38fa97..bb9ab1581 100644 --- a/go/gen/sift/calculated_channels/v2/calculated_channels.pb.gw.go +++ b/go/gen/sift/calculated_channels/v2/calculated_channels.pb.gw.go @@ -559,6 +559,78 @@ func local_request_CalculatedChannelService_ListResolvedCalculatedChannels_0(ctx } +var ( + filter_CalculatedChannelService_GetCalculatedChannelVersions_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_CalculatedChannelService_GetCalculatedChannelVersions_0(ctx context.Context, marshaler runtime.Marshaler, client CalculatedChannelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCalculatedChannelVersionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CalculatedChannelService_GetCalculatedChannelVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetCalculatedChannelVersions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CalculatedChannelService_GetCalculatedChannelVersions_0(ctx context.Context, marshaler runtime.Marshaler, server CalculatedChannelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCalculatedChannelVersionsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CalculatedChannelService_GetCalculatedChannelVersions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetCalculatedChannelVersions(ctx, &protoReq) + return msg, metadata, err + +} + +var ( + filter_CalculatedChannelService_GetCalculatedChannelDependents_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} +) + +func request_CalculatedChannelService_GetCalculatedChannelDependents_0(ctx context.Context, marshaler runtime.Marshaler, client CalculatedChannelServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCalculatedChannelDependentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CalculatedChannelService_GetCalculatedChannelDependents_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := client.GetCalculatedChannelDependents(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err + +} + +func local_request_CalculatedChannelService_GetCalculatedChannelDependents_0(ctx context.Context, marshaler runtime.Marshaler, server CalculatedChannelServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var protoReq GetCalculatedChannelDependentsRequest + var metadata runtime.ServerMetadata + + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_CalculatedChannelService_GetCalculatedChannelDependents_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + + msg, err := server.GetCalculatedChannelDependents(ctx, &protoReq) + return msg, metadata, err + +} + // RegisterCalculatedChannelServiceHandlerServer registers the http handlers for service CalculatedChannelService to "mux". // UnaryRPC :call CalculatedChannelServiceServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -815,6 +887,56 @@ func RegisterCalculatedChannelServiceHandlerServer(ctx context.Context, mux *run }) + mux.Handle("GET", pattern_CalculatedChannelService_GetCalculatedChannelVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions", runtime.WithHTTPPathPattern("/api/v2/calculated-channels/versions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CalculatedChannelService_GetCalculatedChannelVersions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CalculatedChannelService_GetCalculatedChannelVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CalculatedChannelService_GetCalculatedChannelDependents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents", runtime.WithHTTPPathPattern("/api/v2/calculated-channels/dependents")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_CalculatedChannelService_GetCalculatedChannelDependents_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CalculatedChannelService_GetCalculatedChannelDependents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1076,6 +1198,50 @@ func RegisterCalculatedChannelServiceHandlerClient(ctx context.Context, mux *run }) + mux.Handle("GET", pattern_CalculatedChannelService_GetCalculatedChannelVersions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions", runtime.WithHTTPPathPattern("/api/v2/calculated-channels/versions")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CalculatedChannelService_GetCalculatedChannelVersions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CalculatedChannelService_GetCalculatedChannelVersions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + + mux.Handle("GET", pattern_CalculatedChannelService_GetCalculatedChannelDependents_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + var err error + var annotatedContext context.Context + annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents", runtime.WithHTTPPathPattern("/api/v2/calculated-channels/dependents")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_CalculatedChannelService_GetCalculatedChannelDependents_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + + forward_CalculatedChannelService_GetCalculatedChannelDependents_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + + }) + return nil } @@ -1099,6 +1265,10 @@ var ( pattern_CalculatedChannelService_BatchResolveCalculatedChannels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "calculated-channels", "resolve"}, "batch")) pattern_CalculatedChannelService_ListResolvedCalculatedChannels_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "calculated-channels", "resolved"}, "")) + + pattern_CalculatedChannelService_GetCalculatedChannelVersions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "calculated-channels", "versions"}, "")) + + pattern_CalculatedChannelService_GetCalculatedChannelDependents_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v2", "calculated-channels", "dependents"}, "")) ) var ( @@ -1121,4 +1291,8 @@ var ( forward_CalculatedChannelService_BatchResolveCalculatedChannels_0 = runtime.ForwardResponseMessage forward_CalculatedChannelService_ListResolvedCalculatedChannels_0 = runtime.ForwardResponseMessage + + forward_CalculatedChannelService_GetCalculatedChannelVersions_0 = runtime.ForwardResponseMessage + + forward_CalculatedChannelService_GetCalculatedChannelDependents_0 = runtime.ForwardResponseMessage ) diff --git a/go/gen/sift/calculated_channels/v2/calculated_channels_vtproto.pb.go b/go/gen/sift/calculated_channels/v2/calculated_channels_vtproto.pb.go index e07f5ae6b..d23e86b68 100644 --- a/go/gen/sift/calculated_channels/v2/calculated_channels_vtproto.pb.go +++ b/go/gen/sift/calculated_channels/v2/calculated_channels_vtproto.pb.go @@ -13,6 +13,7 @@ import ( v12 "github.com/sift-stack/sift/go/gen/sift/calculated_channels/v1" v1 "github.com/sift-stack/sift/go/gen/sift/common/type/v1" v11 "github.com/sift-stack/sift/go/gen/sift/metadata/v1" + v13 "github.com/sift-stack/sift/go/gen/sift/rules/v1" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -81,6 +82,13 @@ func (m *CalculatedChannel) CloneVT() *CalculatedChannel { } r.Metadata = tmpContainer } + if rhs := m.CalculatedChannelDependencies; rhs != nil { + tmpContainer := make([]*CalculatedChannelDependency, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.CalculatedChannelDependencies = tmpContainer + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -92,6 +100,23 @@ func (m *CalculatedChannel) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *CalculatedChannelDependency) CloneVT() *CalculatedChannelDependency { + if m == nil { + return (*CalculatedChannelDependency)(nil) + } + r := new(CalculatedChannelDependency) + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *CalculatedChannelDependency) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *CalculatedChannelConfiguration) CloneVT() *CalculatedChannelConfiguration { if m == nil { return (*CalculatedChannelConfiguration)(nil) @@ -236,6 +261,11 @@ func (m *CalculatedChannelAbstractChannelReference) CloneVT() *CalculatedChannel r := new(CalculatedChannelAbstractChannelReference) r.ChannelReference = m.ChannelReference r.ChannelIdentifier = m.ChannelIdentifier + if m.CalculatedChannelReference != nil { + r.CalculatedChannelReference = m.CalculatedChannelReference.(interface { + CloneVT() isCalculatedChannelAbstractChannelReference_CalculatedChannelReference + }).CloneVT() + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -247,6 +277,30 @@ func (m *CalculatedChannelAbstractChannelReference) CloneMessageVT() proto.Messa return m.CloneVT() } +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) CloneVT() isCalculatedChannelAbstractChannelReference_CalculatedChannelReference { + if m == nil { + return (*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId)(nil) + } + r := new(CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId + return r +} + +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) CloneVT() isCalculatedChannelAbstractChannelReference_CalculatedChannelReference { + if m == nil { + return (*CalculatedChannelAbstractChannelReference_CalculatedChannel)(nil) + } + r := new(CalculatedChannelAbstractChannelReference_CalculatedChannel) + if rhs := m.CalculatedChannel; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *v12.ExpressionRequest }); ok { + r.CalculatedChannel = vtpb.CloneVT() + } else { + r.CalculatedChannel = proto.Clone(rhs).(*v12.ExpressionRequest) + } + } + return r +} + func (m *CalculatedChannelValidationResult) CloneVT() *CalculatedChannelValidationResult { if m == nil { return (*CalculatedChannelValidationResult)(nil) @@ -286,6 +340,7 @@ func (m *GetCalculatedChannelRequest) CloneVT() *GetCalculatedChannelRequest { r.CalculatedChannelId = m.CalculatedChannelId r.ClientKey = m.ClientKey r.OrganizationId = m.OrganizationId + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -776,6 +831,123 @@ func (m *ListResolvedCalculatedChannelsResponse) CloneMessageVT() proto.Message return m.CloneVT() } +func (m *GetCalculatedChannelVersionsRequest) CloneVT() *GetCalculatedChannelVersionsRequest { + if m == nil { + return (*GetCalculatedChannelVersionsRequest)(nil) + } + r := new(GetCalculatedChannelVersionsRequest) + if rhs := m.CalculatedChannelVersionIds; rhs != nil { + tmpContainer := make([]string, len(rhs)) + copy(tmpContainer, rhs) + r.CalculatedChannelVersionIds = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *GetCalculatedChannelVersionsRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *GetCalculatedChannelVersionsResponse) CloneVT() *GetCalculatedChannelVersionsResponse { + if m == nil { + return (*GetCalculatedChannelVersionsResponse)(nil) + } + r := new(GetCalculatedChannelVersionsResponse) + if rhs := m.CalculatedChannels; rhs != nil { + tmpContainer := make([]*CalculatedChannel, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.CalculatedChannels = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *GetCalculatedChannelVersionsResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *GetCalculatedChannelDependentsRequest) CloneVT() *GetCalculatedChannelDependentsRequest { + if m == nil { + return (*GetCalculatedChannelDependentsRequest)(nil) + } + r := new(GetCalculatedChannelDependentsRequest) + if m.CalculatedChannel != nil { + r.CalculatedChannel = m.CalculatedChannel.(interface { + CloneVT() isGetCalculatedChannelDependentsRequest_CalculatedChannel + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *GetCalculatedChannelDependentsRequest) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) CloneVT() isGetCalculatedChannelDependentsRequest_CalculatedChannel { + if m == nil { + return (*GetCalculatedChannelDependentsRequest_CalculatedChannelId)(nil) + } + r := new(GetCalculatedChannelDependentsRequest_CalculatedChannelId) + r.CalculatedChannelId = m.CalculatedChannelId + return r +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) CloneVT() isGetCalculatedChannelDependentsRequest_CalculatedChannel { + if m == nil { + return (*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId)(nil) + } + r := new(GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId + return r +} + +func (m *GetCalculatedChannelDependentsResponse) CloneVT() *GetCalculatedChannelDependentsResponse { + if m == nil { + return (*GetCalculatedChannelDependentsResponse)(nil) + } + r := new(GetCalculatedChannelDependentsResponse) + if rhs := m.CalculatedChannels; rhs != nil { + tmpContainer := make([]*CalculatedChannel, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.CalculatedChannels = tmpContainer + } + if rhs := m.Rules; rhs != nil { + tmpContainer := make([]*v13.Rule, len(rhs)) + for k, v := range rhs { + if vtpb, ok := interface{}(v).(interface{ CloneVT() *v13.Rule }); ok { + tmpContainer[k] = vtpb.CloneVT() + } else { + tmpContainer[k] = proto.Clone(v).(*v13.Rule) + } + } + r.Rules = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *GetCalculatedChannelDependentsResponse) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (this *CalculatedChannel) EqualVT(that *CalculatedChannel) bool { if this == that { return true @@ -877,6 +1049,23 @@ func (this *CalculatedChannel) EqualVT(that *CalculatedChannel) bool { if this.IsArchived != that.IsArchived { return false } + if len(this.CalculatedChannelDependencies) != len(that.CalculatedChannelDependencies) { + return false + } + for i, vx := range this.CalculatedChannelDependencies { + vy := that.CalculatedChannelDependencies[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &CalculatedChannelDependency{} + } + if q == nil { + q = &CalculatedChannelDependency{} + } + if !p.EqualVT(q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } @@ -887,6 +1076,25 @@ func (this *CalculatedChannel) EqualMessageVT(thatMsg proto.Message) bool { } return this.EqualVT(that) } +func (this *CalculatedChannelDependency) EqualVT(that *CalculatedChannelDependency) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *CalculatedChannelDependency) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*CalculatedChannelDependency) + if !ok { + return false + } + return this.EqualVT(that) +} func (this *CalculatedChannelConfiguration) EqualVT(that *CalculatedChannelConfiguration) bool { if this == that { return true @@ -1108,6 +1316,18 @@ func (this *CalculatedChannelAbstractChannelReference) EqualVT(that *CalculatedC } else if this == nil || that == nil { return false } + if this.CalculatedChannelReference == nil && that.CalculatedChannelReference != nil { + return false + } else if this.CalculatedChannelReference != nil { + if that.CalculatedChannelReference == nil { + return false + } + if !this.CalculatedChannelReference.(interface { + EqualVT(isCalculatedChannelAbstractChannelReference_CalculatedChannelReference) bool + }).EqualVT(that.CalculatedChannelReference) { + return false + } + } if this.ChannelReference != that.ChannelReference { return false } @@ -1124,6 +1344,54 @@ func (this *CalculatedChannelAbstractChannelReference) EqualMessageVT(thatMsg pr } return this.EqualVT(that) } +func (this *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) EqualVT(thatIface isCalculatedChannelAbstractChannelReference_CalculatedChannelReference) bool { + that, ok := thatIface.(*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } + return true +} + +func (this *CalculatedChannelAbstractChannelReference_CalculatedChannel) EqualVT(thatIface isCalculatedChannelAbstractChannelReference_CalculatedChannelReference) bool { + that, ok := thatIface.(*CalculatedChannelAbstractChannelReference_CalculatedChannel) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.CalculatedChannel, that.CalculatedChannel; p != q { + if p == nil { + p = &v12.ExpressionRequest{} + } + if q == nil { + q = &v12.ExpressionRequest{} + } + if equal, ok := interface{}(p).(interface { + EqualVT(*v12.ExpressionRequest) bool + }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + return true +} + func (this *CalculatedChannelValidationResult) EqualVT(that *CalculatedChannelValidationResult) bool { if this == that { return true @@ -1179,6 +1447,9 @@ func (this *GetCalculatedChannelRequest) EqualVT(that *GetCalculatedChannelReque if this.OrganizationId != that.OrganizationId { return false } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1901,61 +2172,239 @@ func (this *ListResolvedCalculatedChannelsResponse) EqualMessageVT(thatMsg proto } return this.EqualVT(that) } - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// CalculatedChannelServiceClient is the client API for CalculatedChannelService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type CalculatedChannelServiceClient interface { - // Retrieve the latest version of a calculated channel - GetCalculatedChannel(ctx context.Context, in *GetCalculatedChannelRequest, opts ...grpc.CallOption) (*GetCalculatedChannelResponse, error) - // Create a calculated channel. - CreateCalculatedChannel(ctx context.Context, in *CreateCalculatedChannelRequest, opts ...grpc.CallOption) (*CreateCalculatedChannelResponse, error) - // Retrieve the latest versions of calculated channels based on an optional filter. - ListCalculatedChannels(ctx context.Context, in *ListCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelsResponse, error) - // Update and create a new version of a calculated channel. - UpdateCalculatedChannel(ctx context.Context, in *UpdateCalculatedChannelRequest, opts ...grpc.CallOption) (*UpdateCalculatedChannelResponse, error) - // List versions of a particular calculated channel with an optional filter. - ListCalculatedChannelVersions(ctx context.Context, in *ListCalculatedChannelVersionsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelVersionsResponse, error) - // Resolve a calculated channel into an expression with references. - ResolveCalculatedChannel(ctx context.Context, in *ResolveCalculatedChannelRequest, opts ...grpc.CallOption) (*ResolveCalculatedChannelResponse, error) - // Resolve a batch of calculated channels into expressions with references. - BatchResolveCalculatedChannels(ctx context.Context, in *BatchResolveCalculatedChannelsRequest, opts ...grpc.CallOption) (*BatchResolveCalculatedChannelsResponse, error) - // Retrieve the latest versions of calculated channels based on an optional filter. - ListResolvedCalculatedChannels(ctx context.Context, in *ListResolvedCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListResolvedCalculatedChannelsResponse, error) -} - -type calculatedChannelServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewCalculatedChannelServiceClient(cc grpc.ClientConnInterface) CalculatedChannelServiceClient { - return &calculatedChannelServiceClient{cc} -} - -func (c *calculatedChannelServiceClient) GetCalculatedChannel(ctx context.Context, in *GetCalculatedChannelRequest, opts ...grpc.CallOption) (*GetCalculatedChannelResponse, error) { - out := new(GetCalculatedChannelResponse) - err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannel", in, out, opts...) - if err != nil { - return nil, err +func (this *GetCalculatedChannelVersionsRequest) EqualVT(that *GetCalculatedChannelVersionsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false } - return out, nil + if len(this.CalculatedChannelVersionIds) != len(that.CalculatedChannelVersionIds) { + return false + } + for i, vx := range this.CalculatedChannelVersionIds { + vy := that.CalculatedChannelVersionIds[i] + if vx != vy { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) } -func (c *calculatedChannelServiceClient) CreateCalculatedChannel(ctx context.Context, in *CreateCalculatedChannelRequest, opts ...grpc.CallOption) (*CreateCalculatedChannelResponse, error) { - out := new(CreateCalculatedChannelResponse) - err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/CreateCalculatedChannel", in, out, opts...) - if err != nil { - return nil, err +func (this *GetCalculatedChannelVersionsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*GetCalculatedChannelVersionsRequest) + if !ok { + return false } - return out, nil + return this.EqualVT(that) } - -func (c *calculatedChannelServiceClient) ListCalculatedChannels(ctx context.Context, in *ListCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelsResponse, error) { +func (this *GetCalculatedChannelVersionsResponse) EqualVT(that *GetCalculatedChannelVersionsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.CalculatedChannels) != len(that.CalculatedChannels) { + return false + } + for i, vx := range this.CalculatedChannels { + vy := that.CalculatedChannels[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &CalculatedChannel{} + } + if q == nil { + q = &CalculatedChannel{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *GetCalculatedChannelVersionsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*GetCalculatedChannelVersionsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *GetCalculatedChannelDependentsRequest) EqualVT(that *GetCalculatedChannelDependentsRequest) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.CalculatedChannel == nil && that.CalculatedChannel != nil { + return false + } else if this.CalculatedChannel != nil { + if that.CalculatedChannel == nil { + return false + } + if !this.CalculatedChannel.(interface { + EqualVT(isGetCalculatedChannelDependentsRequest_CalculatedChannel) bool + }).EqualVT(that.CalculatedChannel) { + return false + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *GetCalculatedChannelDependentsRequest) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*GetCalculatedChannelDependentsRequest) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *GetCalculatedChannelDependentsRequest_CalculatedChannelId) EqualVT(thatIface isGetCalculatedChannelDependentsRequest_CalculatedChannel) bool { + that, ok := thatIface.(*GetCalculatedChannelDependentsRequest_CalculatedChannelId) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.CalculatedChannelId != that.CalculatedChannelId { + return false + } + return true +} + +func (this *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) EqualVT(thatIface isGetCalculatedChannelDependentsRequest_CalculatedChannel) bool { + that, ok := thatIface.(*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } + return true +} + +func (this *GetCalculatedChannelDependentsResponse) EqualVT(that *GetCalculatedChannelDependentsResponse) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.CalculatedChannels) != len(that.CalculatedChannels) { + return false + } + for i, vx := range this.CalculatedChannels { + vy := that.CalculatedChannels[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &CalculatedChannel{} + } + if q == nil { + q = &CalculatedChannel{} + } + if !p.EqualVT(q) { + return false + } + } + } + if len(this.Rules) != len(that.Rules) { + return false + } + for i, vx := range this.Rules { + vy := that.Rules[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &v13.Rule{} + } + if q == nil { + q = &v13.Rule{} + } + if equal, ok := interface{}(p).(interface{ EqualVT(*v13.Rule) bool }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *GetCalculatedChannelDependentsResponse) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*GetCalculatedChannelDependentsResponse) + if !ok { + return false + } + return this.EqualVT(that) +} + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.32.0 or later. +const _ = grpc.SupportPackageIsVersion7 + +// CalculatedChannelServiceClient is the client API for CalculatedChannelService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +type CalculatedChannelServiceClient interface { + // Retrieve the latest version of a calculated channel + GetCalculatedChannel(ctx context.Context, in *GetCalculatedChannelRequest, opts ...grpc.CallOption) (*GetCalculatedChannelResponse, error) + // Create a calculated channel. + CreateCalculatedChannel(ctx context.Context, in *CreateCalculatedChannelRequest, opts ...grpc.CallOption) (*CreateCalculatedChannelResponse, error) + // Retrieve the latest versions of calculated channels based on an optional filter. + ListCalculatedChannels(ctx context.Context, in *ListCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelsResponse, error) + // Update and create a new version of a calculated channel. + UpdateCalculatedChannel(ctx context.Context, in *UpdateCalculatedChannelRequest, opts ...grpc.CallOption) (*UpdateCalculatedChannelResponse, error) + // List versions of a particular calculated channel with an optional filter. + ListCalculatedChannelVersions(ctx context.Context, in *ListCalculatedChannelVersionsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelVersionsResponse, error) + // Resolve a calculated channel into an expression with references. + ResolveCalculatedChannel(ctx context.Context, in *ResolveCalculatedChannelRequest, opts ...grpc.CallOption) (*ResolveCalculatedChannelResponse, error) + // Resolve a batch of calculated channels into expressions with references. + BatchResolveCalculatedChannels(ctx context.Context, in *BatchResolveCalculatedChannelsRequest, opts ...grpc.CallOption) (*BatchResolveCalculatedChannelsResponse, error) + // Retrieve the latest versions of calculated channels based on an optional filter. + ListResolvedCalculatedChannels(ctx context.Context, in *ListResolvedCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListResolvedCalculatedChannelsResponse, error) + // Retrieve calculated channel versions by their version IDs. + GetCalculatedChannelVersions(ctx context.Context, in *GetCalculatedChannelVersionsRequest, opts ...grpc.CallOption) (*GetCalculatedChannelVersionsResponse, error) + // Retrieve calculated channels that depend on a given calculated channel. + GetCalculatedChannelDependents(ctx context.Context, in *GetCalculatedChannelDependentsRequest, opts ...grpc.CallOption) (*GetCalculatedChannelDependentsResponse, error) +} + +type calculatedChannelServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewCalculatedChannelServiceClient(cc grpc.ClientConnInterface) CalculatedChannelServiceClient { + return &calculatedChannelServiceClient{cc} +} + +func (c *calculatedChannelServiceClient) GetCalculatedChannel(ctx context.Context, in *GetCalculatedChannelRequest, opts ...grpc.CallOption) (*GetCalculatedChannelResponse, error) { + out := new(GetCalculatedChannelResponse) + err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *calculatedChannelServiceClient) CreateCalculatedChannel(ctx context.Context, in *CreateCalculatedChannelRequest, opts ...grpc.CallOption) (*CreateCalculatedChannelResponse, error) { + out := new(CreateCalculatedChannelResponse) + err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/CreateCalculatedChannel", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *calculatedChannelServiceClient) ListCalculatedChannels(ctx context.Context, in *ListCalculatedChannelsRequest, opts ...grpc.CallOption) (*ListCalculatedChannelsResponse, error) { out := new(ListCalculatedChannelsResponse) err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/ListCalculatedChannels", in, out, opts...) if err != nil { @@ -2009,6 +2458,24 @@ func (c *calculatedChannelServiceClient) ListResolvedCalculatedChannels(ctx cont return out, nil } +func (c *calculatedChannelServiceClient) GetCalculatedChannelVersions(ctx context.Context, in *GetCalculatedChannelVersionsRequest, opts ...grpc.CallOption) (*GetCalculatedChannelVersionsResponse, error) { + out := new(GetCalculatedChannelVersionsResponse) + err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *calculatedChannelServiceClient) GetCalculatedChannelDependents(ctx context.Context, in *GetCalculatedChannelDependentsRequest, opts ...grpc.CallOption) (*GetCalculatedChannelDependentsResponse, error) { + out := new(GetCalculatedChannelDependentsResponse) + err := c.cc.Invoke(ctx, "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents", in, out, opts...) + if err != nil { + return nil, err + } + return out, nil +} + // CalculatedChannelServiceServer is the server API for CalculatedChannelService service. // All implementations must embed UnimplementedCalculatedChannelServiceServer // for forward compatibility @@ -2029,6 +2496,10 @@ type CalculatedChannelServiceServer interface { BatchResolveCalculatedChannels(context.Context, *BatchResolveCalculatedChannelsRequest) (*BatchResolveCalculatedChannelsResponse, error) // Retrieve the latest versions of calculated channels based on an optional filter. ListResolvedCalculatedChannels(context.Context, *ListResolvedCalculatedChannelsRequest) (*ListResolvedCalculatedChannelsResponse, error) + // Retrieve calculated channel versions by their version IDs. + GetCalculatedChannelVersions(context.Context, *GetCalculatedChannelVersionsRequest) (*GetCalculatedChannelVersionsResponse, error) + // Retrieve calculated channels that depend on a given calculated channel. + GetCalculatedChannelDependents(context.Context, *GetCalculatedChannelDependentsRequest) (*GetCalculatedChannelDependentsResponse, error) mustEmbedUnimplementedCalculatedChannelServiceServer() } @@ -2060,6 +2531,12 @@ func (UnimplementedCalculatedChannelServiceServer) BatchResolveCalculatedChannel func (UnimplementedCalculatedChannelServiceServer) ListResolvedCalculatedChannels(context.Context, *ListResolvedCalculatedChannelsRequest) (*ListResolvedCalculatedChannelsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method ListResolvedCalculatedChannels not implemented") } +func (UnimplementedCalculatedChannelServiceServer) GetCalculatedChannelVersions(context.Context, *GetCalculatedChannelVersionsRequest) (*GetCalculatedChannelVersionsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCalculatedChannelVersions not implemented") +} +func (UnimplementedCalculatedChannelServiceServer) GetCalculatedChannelDependents(context.Context, *GetCalculatedChannelDependentsRequest) (*GetCalculatedChannelDependentsResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method GetCalculatedChannelDependents not implemented") +} func (UnimplementedCalculatedChannelServiceServer) mustEmbedUnimplementedCalculatedChannelServiceServer() { } @@ -2218,6 +2695,42 @@ func _CalculatedChannelService_ListResolvedCalculatedChannels_Handler(srv interf return interceptor(ctx, in, info, handler) } +func _CalculatedChannelService_GetCalculatedChannelVersions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCalculatedChannelVersionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CalculatedChannelServiceServer).GetCalculatedChannelVersions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CalculatedChannelServiceServer).GetCalculatedChannelVersions(ctx, req.(*GetCalculatedChannelVersionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _CalculatedChannelService_GetCalculatedChannelDependents_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCalculatedChannelDependentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(CalculatedChannelServiceServer).GetCalculatedChannelDependents(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents", + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(CalculatedChannelServiceServer).GetCalculatedChannelDependents(ctx, req.(*GetCalculatedChannelDependentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + // CalculatedChannelService_ServiceDesc is the grpc.ServiceDesc for CalculatedChannelService service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -2257,6 +2770,14 @@ var CalculatedChannelService_ServiceDesc = grpc.ServiceDesc{ MethodName: "ListResolvedCalculatedChannels", Handler: _CalculatedChannelService_ListResolvedCalculatedChannels_Handler, }, + { + MethodName: "GetCalculatedChannelVersions", + Handler: _CalculatedChannelService_GetCalculatedChannelVersions_Handler, + }, + { + MethodName: "GetCalculatedChannelDependents", + Handler: _CalculatedChannelService_GetCalculatedChannelDependents_Handler, + }, }, Streams: []grpc.StreamDesc{}, Metadata: "sift/calculated_channels/v2/calculated_channels.proto", @@ -2292,6 +2813,20 @@ func (m *CalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.CalculatedChannelDependencies) > 0 { + for iNdEx := len(m.CalculatedChannelDependencies) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannelDependencies[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + } + } if m.IsArchived { i-- if m.IsArchived { @@ -2487,7 +3022,7 @@ func (m *CalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *CalculatedChannelConfiguration) MarshalVT() (dAtA []byte, err error) { +func (m *CalculatedChannelDependency) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2500,12 +3035,12 @@ func (m *CalculatedChannelConfiguration) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CalculatedChannelConfiguration) MarshalToVT(dAtA []byte) (int, error) { +func (m *CalculatedChannelDependency) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CalculatedChannelConfiguration) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *CalculatedChannelDependency) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2517,23 +3052,63 @@ func (m *CalculatedChannelConfiguration) MarshalToSizedBufferVT(dAtA []byte) (in i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.QueryConfiguration != nil { - size, err := m.QueryConfiguration.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) i-- - dAtA[i] = 0x12 + dAtA[i] = 0xa } - if m.AssetConfiguration != nil { - size, err := m.AssetConfiguration.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + return len(dAtA) - i, nil +} + +func (m *CalculatedChannelConfiguration) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CalculatedChannelConfiguration) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CalculatedChannelConfiguration) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.QueryConfiguration != nil { + size, err := m.QueryConfiguration.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 + } + if m.AssetConfiguration != nil { + size, err := m.AssetConfiguration.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- dAtA[i] = 0xa } @@ -2812,6 +3387,15 @@ func (m *CalculatedChannelAbstractChannelReference) MarshalToSizedBufferVT(dAtA i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if vtmsg, ok := m.CalculatedChannelReference.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if len(m.ChannelIdentifier) > 0 { i -= len(m.ChannelIdentifier) copy(dAtA[i:], m.ChannelIdentifier) @@ -2829,6 +3413,51 @@ func (m *CalculatedChannelAbstractChannelReference) MarshalToSizedBufferVT(dAtA return len(dAtA) - i, nil } +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x1a + return len(dAtA) - i, nil +} +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + if vtmsg, ok := interface{}(m.CalculatedChannel).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.CalculatedChannel) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} func (m *CalculatedChannelValidationResult) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2924,6 +3553,13 @@ func (m *GetCalculatedChannelRequest) MarshalToSizedBufferVT(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x22 + } if len(m.OrganizationId) > 0 { i -= len(m.OrganizationId) copy(dAtA[i:], m.OrganizationId) @@ -4123,25 +4759,25 @@ func (m *ListResolvedCalculatedChannelsResponse) MarshalToSizedBufferVT(dAtA []b return len(dAtA) - i, nil } -func (m *CalculatedChannel) MarshalVTStrict() (dAtA []byte, err error) { +func (m *GetCalculatedChannelVersionsRequest) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } size := m.SizeVT() dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) if err != nil { return nil, err } return dAtA[:n], nil } -func (m *CalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *GetCalculatedChannelVersionsRequest) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *GetCalculatedChannelVersionsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4153,31 +4789,176 @@ func (m *CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 + if len(m.CalculatedChannelVersionIds) > 0 { + for iNdEx := len(m.CalculatedChannelVersionIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CalculatedChannelVersionIds[iNdEx]) + copy(dAtA[i:], m.CalculatedChannelVersionIds[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionIds[iNdEx]))) + i-- + dAtA[i] = 0xa } - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xa8 } - if len(m.Metadata) > 0 { - for iNdEx := len(m.Metadata) - 1; iNdEx >= 0; iNdEx-- { - if vtmsg, ok := interface{}(m.Metadata[iNdEx]).(interface { - MarshalToSizedBufferVTStrict([]byte) (int, error) + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannels) > 0 { + for iNdEx := len(m.CalculatedChannels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannels[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if vtmsg, ok := m.CalculatedChannel.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelId) + copy(dAtA[i:], m.CalculatedChannelId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelId))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x12 + return len(dAtA) - i, nil +} +func (m *GetCalculatedChannelDependentsResponse) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelDependentsResponse) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Rules) > 0 { + for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Rules[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) }); ok { - size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) } else { - encoded, err := proto.Marshal(m.Metadata[iNdEx]) + encoded, err := proto.Marshal(m.Rules[iNdEx]) if err != nil { return 0, err } @@ -4186,13 +4967,108 @@ func (m *CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, erro i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0xa2 + dAtA[i] = 0x12 } } - if len(m.FunctionDependencies) > 0 { - for iNdEx := len(m.FunctionDependencies) - 1; iNdEx >= 0; iNdEx-- { + if len(m.CalculatedChannels) > 0 { + for iNdEx := len(m.CalculatedChannels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannels[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *CalculatedChannel) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelDependencies) > 0 { + for iNdEx := len(m.CalculatedChannelDependencies) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannelDependencies[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xb2 + } + } + if m.IsArchived { + i-- + if m.IsArchived { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa8 + } + if len(m.Metadata) > 0 { + for iNdEx := len(m.Metadata) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Metadata[iNdEx]).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Metadata[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa2 + } + } + if len(m.FunctionDependencies) > 0 { + for iNdEx := len(m.FunctionDependencies) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.FunctionDependencies[iNdEx]).(interface { MarshalToSizedBufferVTStrict([]byte) (int, error) }); ok { @@ -4348,6 +5224,46 @@ func (m *CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, erro return len(dAtA) - i, nil } +func (m *CalculatedChannelDependency) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CalculatedChannelDependency) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CalculatedChannelDependency) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *CalculatedChannelConfiguration) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -4676,6 +5592,20 @@ func (m *CalculatedChannelAbstractChannelReference) MarshalToSizedBufferVTStrict i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if msg, ok := m.CalculatedChannelReference.(*CalculatedChannelAbstractChannelReference_CalculatedChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.CalculatedChannelReference.(*CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } if len(m.ChannelIdentifier) > 0 { i -= len(m.ChannelIdentifier) copy(dAtA[i:], m.ChannelIdentifier) @@ -4693,6 +5623,51 @@ func (m *CalculatedChannelAbstractChannelReference) MarshalToSizedBufferVTStrict return len(dAtA) - i, nil } +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x1a + return len(dAtA) - i, nil +} +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.CalculatedChannel != nil { + if vtmsg, ok := interface{}(m.CalculatedChannel).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.CalculatedChannel) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} func (m *CalculatedChannelValidationResult) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -4788,6 +5763,13 @@ func (m *GetCalculatedChannelRequest) MarshalToSizedBufferVTStrict(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x22 + } if len(m.OrganizationId) > 0 { i -= len(m.OrganizationId) copy(dAtA[i:], m.OrganizationId) @@ -5992,42 +6974,273 @@ func (m *ListResolvedCalculatedChannelsResponse) MarshalToSizedBufferVTStrict(dA return len(dAtA) - i, nil } -func (m *CalculatedChannel) SizeVT() (n int) { +func (m *GetCalculatedChannelVersionsRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - l = len(m.CalculatedChannelId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelVersionsRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelVersionsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - if m.ClientKey != nil { - l = len(*m.ClientKey) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.CalculatedChannelVersionIds) > 0 { + for iNdEx := len(m.CalculatedChannelVersionIds) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.CalculatedChannelVersionIds[iNdEx]) + copy(dAtA[i:], m.CalculatedChannelVersionIds[iNdEx]) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionIds[iNdEx]))) + i-- + dAtA[i] = 0xa + } } - l = len(m.VersionId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil } - if m.Version != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelVersionsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannels) > 0 { + for iNdEx := len(m.CalculatedChannels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannels[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if msg, ok := m.CalculatedChannel.(*GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if msg, ok := m.CalculatedChannel.(*GetCalculatedChannelDependentsRequest_CalculatedChannelId); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + return len(dAtA) - i, nil +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelId) + copy(dAtA[i:], m.CalculatedChannelId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelId))) + i-- + dAtA[i] = 0xa + return len(dAtA) - i, nil +} +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x12 + return len(dAtA) - i, nil +} +func (m *GetCalculatedChannelDependentsResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetCalculatedChannelDependentsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetCalculatedChannelDependentsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Rules) > 0 { + for iNdEx := len(m.Rules) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.Rules[iNdEx]).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Rules[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x12 + } + } + if len(m.CalculatedChannels) > 0 { + for iNdEx := len(m.CalculatedChannels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.CalculatedChannels[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *CalculatedChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.OrganizationId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ClientKey != nil { + l = len(*m.ClientKey) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ArchivedDate != nil { + l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.VersionId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Version != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Version)) + } + l = len(m.Name) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Description) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } l = len(m.ChangeMessage) if l > 0 { @@ -6088,6 +7301,26 @@ func (m *CalculatedChannel) SizeVT() (n int) { if m.IsArchived { n += 3 } + if len(m.CalculatedChannelDependencies) > 0 { + for _, e := range m.CalculatedChannelDependencies { + l = e.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *CalculatedChannelDependency) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelVersionId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -6225,10 +7458,41 @@ func (m *CalculatedChannelAbstractChannelReference) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if vtmsg, ok := m.CalculatedChannelReference.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } n += len(m.unknownFields) return n } +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelVersionId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *CalculatedChannelAbstractChannelReference_CalculatedChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CalculatedChannel != nil { + if size, ok := interface{}(m.CalculatedChannel).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.CalculatedChannel) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} func (m *CalculatedChannelValidationResult) SizeVT() (n int) { if m == nil { return 0 @@ -6277,6 +7541,10 @@ func (m *GetCalculatedChannelRequest) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + l = len(m.CalculatedChannelVersionId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -6762,41 +8030,134 @@ func (m *ListResolvedCalculatedChannelsResponse) SizeVT() (n int) { return n } -func (m *CalculatedChannel) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannel: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) +func (m *GetCalculatedChannelVersionsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CalculatedChannelVersionIds) > 0 { + for _, s := range m.CalculatedChannelVersionIds { + l = len(s) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { + } + n += len(m.unknownFields) + return n +} + +func (m *GetCalculatedChannelVersionsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CalculatedChannels) > 0 { + for _, e := range m.CalculatedChannels { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *GetCalculatedChannelDependentsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if vtmsg, ok := m.CalculatedChannel.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelId) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelVersionId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return n +} +func (m *GetCalculatedChannelDependentsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.CalculatedChannels) > 0 { + for _, e := range m.CalculatedChannels { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if len(m.Rules) > 0 { + for _, e := range m.Rules { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *CalculatedChannel) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow } @@ -7412,6 +8773,123 @@ func (m *CalculatedChannel) UnmarshalVT(dAtA []byte) error { } } m.IsArchived = bool(v != 0) + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelDependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelDependencies = append(m.CalculatedChannelDependencies, &CalculatedChannelDependency{}) + if err := m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelDependency) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelDependency: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelDependency: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelVersionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -8087,28 +9565,117 @@ func (m *CalculatedChannelAbstractChannelReference) UnmarshalVT(dAtA []byte) err } m.ChannelIdentifier = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} + m.CalculatedChannelReference = &CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId{CalculatedChannelVersionId: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.CalculatedChannelReference.(*CalculatedChannelAbstractChannelReference_CalculatedChannel); ok { + if unmarshal, ok := interface{}(oneof.CalculatedChannel).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.CalculatedChannel); err != nil { + return err + } + } + } else { + v := &v12.ExpressionRequest{} + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.CalculatedChannelReference = &CalculatedChannelAbstractChannelReference_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *CalculatedChannelValidationResult) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -8414,6 +9981,38 @@ func (m *GetCalculatedChannelRequest) UnmarshalVT(dAtA []byte) error { } m.OrganizationId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelVersionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -11292,7 +12891,7 @@ func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVT(dAtA []byte) error } return nil } -func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *GetCalculatedChannelVersionsRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -11315,15 +12914,15 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannel: wiretype end group for non-group") + return fmt.Errorf("proto: GetCalculatedChannelVersionsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetCalculatedChannelVersionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionIds", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11351,17 +12950,64 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CalculatedChannelId = stringValue + m.CalculatedChannelVersionIds = append(m.CalculatedChannelVersionIds, string(dAtA[iNdEx:postIndex])) iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetCalculatedChannelVersionsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetCalculatedChannelVersionsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetCalculatedChannelVersionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11371,31 +13017,80 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) + if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.OrganizationId = stringValue iNdEx = postIndex - case 3: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetCalculatedChannelDependentsRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11423,18 +13118,13 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.ClientKey = &s + m.CalculatedChannel = &GetCalculatedChannelDependentsRequest_CalculatedChannelId{CalculatedChannelId: string(dAtA[iNdEx:postIndex])} iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11444,33 +13134,80 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.CalculatedChannel = &GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId{CalculatedChannelVersionId: string(dAtA[iNdEx:postIndex])} + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 5: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetCalculatedChannelDependentsResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11480,52 +13217,31 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) + if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.VersionId = stringValue iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - m.Version = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Version |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11535,31 +13251,88 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.Rules = append(m.Rules, &v13.Rule{}) + if unmarshal, ok := interface{}(m.Rules[len(m.Rules)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Rules[len(m.Rules)-1]); err != nil { + return err + } } - m.Name = stringValue iNdEx = postIndex - case 8: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11591,11 +13364,11 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Description = stringValue + m.CalculatedChannelId = stringValue iNdEx = postIndex - case 9: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChangeMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11627,11 +13400,11 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.ChangeMessage = stringValue + m.OrganizationId = stringValue iNdEx = postIndex - case 10: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11663,11 +13436,12 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.UserNotes = stringValue + s := stringValue + m.ClientKey = &s iNdEx = postIndex - case 11: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11694,18 +13468,18 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} + if m.ArchivedDate == nil { + m.ArchivedDate = ×tamppb.Timestamp{} } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 12: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field VersionId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11715,33 +13489,33 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.VersionId = stringValue iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) } - var msglen int + m.Version = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11751,31 +13525,14 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Version |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CalculatedChannelConfiguration == nil { - m.CalculatedChannelConfiguration = &CalculatedChannelConfiguration{} - } - if err := m.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 16: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11807,11 +13564,11 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.CreatedByUserId = stringValue + m.Name = stringValue iNdEx = postIndex - case 17: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11843,11 +13600,263 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.ModifiedByUserId = stringValue + m.Description = stringValue iNdEx = postIndex - case 18: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChangeMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ChangeMessage = stringValue + iNdEx = postIndex + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.UserNotes = stringValue + iNdEx = postIndex + case 11: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CreatedDate == nil { + m.CreatedDate = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 12: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ModifiedDate == nil { + m.ModifiedDate = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CalculatedChannelConfiguration == nil { + m.CalculatedChannelConfiguration = &CalculatedChannelConfiguration{} + } + if err := m.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CreatedByUserId = stringValue + iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ModifiedByUserId = stringValue + iNdEx = postIndex + case 18: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -11884,7 +13893,763 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { iNdEx = postIndex case 19: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FunctionDependencies", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FunctionDependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.FunctionDependencies = append(m.FunctionDependencies, &v1.FunctionDependency{}) + if unmarshal, ok := interface{}(m.FunctionDependencies[len(m.FunctionDependencies)-1]).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.FunctionDependencies[len(m.FunctionDependencies)-1]); err != nil { + return err + } + } + iNdEx = postIndex + case 20: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = append(m.Metadata, &v11.MetadataValue{}) + if unmarshal, ok := interface{}(m.Metadata[len(m.Metadata)-1]).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata[len(m.Metadata)-1]); err != nil { + return err + } + } + iNdEx = postIndex + case 21: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.IsArchived = bool(v != 0) + case 22: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelDependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelDependencies = append(m.CalculatedChannelDependencies, &CalculatedChannelDependency{}) + if err := m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelDependency) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelDependency: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelDependency: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CalculatedChannelVersionId = stringValue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelConfiguration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetConfiguration", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.AssetConfiguration == nil { + m.AssetConfiguration = &CalculatedChannelAssetConfiguration{} + } + if err := m.AssetConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field QueryConfiguration", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.QueryConfiguration == nil { + m.QueryConfiguration = &CalculatedChannelQueryConfiguration{} + } + if err := m.QueryConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelAssetConfiguration_AssetSelection) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelAssetConfiguration_AssetSelection: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelAssetConfiguration_AssetSelection: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.AssetIds = append(m.AssetIds, stringValue) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TagIds", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.TagIds = append(m.TagIds, stringValue) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelAssetConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelAssetConfiguration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelAssetConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field AllAssets", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.AssetScope = &CalculatedChannelAssetConfiguration_AllAssets{AllAssets: b} + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Selection", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.AssetScope.(*CalculatedChannelAssetConfiguration_Selection); ok { + if err := oneof.Selection.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &CalculatedChannelAssetConfiguration_AssetSelection{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.AssetScope = &CalculatedChannelAssetConfiguration_Selection{Selection: v} + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelQueryConfiguration_Sel) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelQueryConfiguration_Sel: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelQueryConfiguration_Sel: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Expression = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpressionChannelReferences", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ExpressionChannelReferences = append(m.ExpressionChannelReferences, &CalculatedChannelAbstractChannelReference{}) + if err := m.ExpressionChannelReferences[len(m.ExpressionChannelReferences)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelQueryConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelQueryConfiguration: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelQueryConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Sel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -11911,24 +14676,74 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.FunctionDependencies = append(m.FunctionDependencies, &v1.FunctionDependency{}) - if unmarshal, ok := interface{}(m.FunctionDependencies[len(m.FunctionDependencies)-1]).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if oneof, ok := m.Query.(*CalculatedChannelQueryConfiguration_Sel_); ok { + if err := oneof.Sel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.FunctionDependencies[len(m.FunctionDependencies)-1]); err != nil { + v := &CalculatedChannelQueryConfiguration_Sel{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } + m.Query = &CalculatedChannelQueryConfiguration_Sel_{Sel: v} } iNdEx = postIndex - case 20: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelAbstractChannelReference) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelAbstractChannelReference: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelAbstractChannelReference: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChannelReference", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11938,39 +14753,69 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Metadata = append(m.Metadata, &v11.MetadataValue{}) - if unmarshal, ok := interface{}(m.Metadata[len(m.Metadata)-1]).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ChannelReference = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelIdentifier", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata[len(m.Metadata)-1]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ChannelIdentifier = stringValue iNdEx = postIndex - case 21: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -11980,12 +14825,85 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - m.IsArchived = bool(v != 0) + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CalculatedChannelReference = &CalculatedChannelAbstractChannelReference_CalculatedChannelVersionId{CalculatedChannelVersionId: stringValue} + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.CalculatedChannelReference.(*CalculatedChannelAbstractChannelReference_CalculatedChannel); ok { + if unmarshal, ok := interface{}(oneof.CalculatedChannel).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.CalculatedChannel); err != nil { + return err + } + } + } else { + v := &v12.ExpressionRequest{} + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } + } + m.CalculatedChannelReference = &CalculatedChannelAbstractChannelReference_CalculatedChannel{CalculatedChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -12008,7 +14926,7 @@ func (m *CalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CalculatedChannelConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12031,17 +14949,17 @@ func (m *CalculatedChannelConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelConfiguration: wiretype end group for non-group") + return fmt.Errorf("proto: CalculatedChannelValidationResult: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CalculatedChannelValidationResult: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetConfiguration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12051,33 +14969,33 @@ func (m *CalculatedChannelConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.AssetConfiguration == nil { - m.AssetConfiguration = &CalculatedChannelAssetConfiguration{} - } - if err := m.AssetConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.AssetId = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field QueryConfiguration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12087,82 +15005,32 @@ func (m *CalculatedChannelConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.QueryConfiguration == nil { - m.QueryConfiguration = &CalculatedChannelQueryConfiguration{} - } - if err := m.QueryConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + s := stringValue + m.AssetName = &s iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CalculatedChannelAssetConfiguration_AssetSelection) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelAssetConfiguration_AssetSelection: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelAssetConfiguration_AssetSelection: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TagNames", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12194,11 +15062,11 @@ func (m *CalculatedChannelAssetConfiguration_AssetSelection) UnmarshalVTUnsafe(d if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.AssetIds = append(m.AssetIds, stringValue) + m.TagNames = append(m.TagNames, stringValue) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TagIds", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MissingChannels", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12230,7 +15098,7 @@ func (m *CalculatedChannelAssetConfiguration_AssetSelection) UnmarshalVTUnsafe(d if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.TagIds = append(m.TagIds, stringValue) + m.MissingChannels = append(m.MissingChannels, stringValue) iNdEx = postIndex default: iNdEx = preIndex @@ -12254,7 +15122,7 @@ func (m *CalculatedChannelAssetConfiguration_AssetSelection) UnmarshalVTUnsafe(d } return nil } -func (m *CalculatedChannelAssetConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12277,17 +15145,17 @@ func (m *CalculatedChannelAssetConfiguration) UnmarshalVTUnsafe(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelAssetConfiguration: wiretype end group for non-group") + return fmt.Errorf("proto: GetCalculatedChannelRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelAssetConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field AllAssets", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } - var v int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12297,18 +15165,33 @@ func (m *CalculatedChannelAssetConfiguration) UnmarshalVTUnsafe(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - b := bool(v != 0) - m.AssetScope = &CalculatedChannelAssetConfiguration_AllAssets{AllAssets: b} + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CalculatedChannelId = stringValue + iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Selection", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12318,87 +15201,31 @@ func (m *CalculatedChannelAssetConfiguration) UnmarshalVTUnsafe(dAtA []byte) err } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.AssetScope.(*CalculatedChannelAssetConfiguration_Selection); ok { - if err := oneof.Selection.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &CalculatedChannelAssetConfiguration_AssetSelection{} - if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.AssetScope = &CalculatedChannelAssetConfiguration_Selection{Selection: v} + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.ClientKey = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CalculatedChannelQueryConfiguration_Sel) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelQueryConfiguration_Sel: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelQueryConfiguration_Sel: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Expression", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12430,13 +15257,13 @@ func (m *CalculatedChannelQueryConfiguration_Sel) UnmarshalVTUnsafe(dAtA []byte) if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Expression = stringValue + m.OrganizationId = stringValue iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpressionChannelReferences", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12446,25 +15273,27 @@ func (m *CalculatedChannelQueryConfiguration_Sel) UnmarshalVTUnsafe(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ExpressionChannelReferences = append(m.ExpressionChannelReferences, &CalculatedChannelAbstractChannelReference{}) - if err := m.ExpressionChannelReferences[len(m.ExpressionChannelReferences)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.CalculatedChannelVersionId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -12488,7 +15317,7 @@ func (m *CalculatedChannelQueryConfiguration_Sel) UnmarshalVTUnsafe(dAtA []byte) } return nil } -func (m *CalculatedChannelQueryConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *GetCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12511,15 +15340,15 @@ func (m *CalculatedChannelQueryConfiguration) UnmarshalVTUnsafe(dAtA []byte) err fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelQueryConfiguration: wiretype end group for non-group") + return fmt.Errorf("proto: GetCalculatedChannelResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelQueryConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Sel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -12546,16 +15375,11 @@ func (m *CalculatedChannelQueryConfiguration) UnmarshalVTUnsafe(dAtA []byte) err if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Query.(*CalculatedChannelQueryConfiguration_Sel_); ok { - if err := oneof.Sel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &CalculatedChannelQueryConfiguration_Sel{} - if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Query = &CalculatedChannelQueryConfiguration_Sel_{Sel: v} + if m.CalculatedChannel == nil { + m.CalculatedChannel = &CalculatedChannel{} + } + if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -12580,7 +15404,7 @@ func (m *CalculatedChannelQueryConfiguration) UnmarshalVTUnsafe(dAtA []byte) err } return nil } -func (m *CalculatedChannelAbstractChannelReference) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12603,15 +15427,15 @@ func (m *CalculatedChannelAbstractChannelReference) UnmarshalVTUnsafe(dAtA []byt fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelAbstractChannelReference: wiretype end group for non-group") + return fmt.Errorf("proto: CreateCalculatedChannelRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelAbstractChannelReference: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChannelReference", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12643,11 +15467,11 @@ func (m *CalculatedChannelAbstractChannelReference) UnmarshalVTUnsafe(dAtA []byt if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.ChannelReference = stringValue + m.Name = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChannelIdentifier", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12679,62 +15503,11 @@ func (m *CalculatedChannelAbstractChannelReference) UnmarshalVTUnsafe(dAtA []byt if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.ChannelIdentifier = stringValue + m.Description = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelValidationResult: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelValidationResult: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12766,11 +15539,11 @@ func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.AssetId = stringValue + m.UserNotes = stringValue iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12803,11 +15576,47 @@ func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } s := stringValue - m.AssetName = &s + m.ClientKey = &s iNdEx = postIndex - case 3: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TagNames", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CalculatedChannelConfiguration == nil { + m.CalculatedChannelConfiguration = &CalculatedChannelConfiguration{} + } + if err := m.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12839,13 +15648,143 @@ func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.TagNames = append(m.TagNames, stringValue) + s := stringValue + m.Units = &s iNdEx = postIndex - case 4: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field MissingChannels", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metadata = append(m.Metadata, &v11.MetadataValue{}) + if unmarshal, ok := interface{}(m.Metadata[len(m.Metadata)-1]).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata[len(m.Metadata)-1]); err != nil { + return err + } + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateCalculatedChannelResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CalculatedChannel == nil { + m.CalculatedChannel = &CalculatedChannel{} + } + if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field InapplicableAssets", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -12855,27 +15794,25 @@ func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.InapplicableAssets = append(m.InapplicableAssets, &CalculatedChannelValidationResult{}) + if err := m.InapplicableAssets[len(m.InapplicableAssets)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.MissingChannels = append(m.MissingChannels, stringValue) iNdEx = postIndex default: iNdEx = preIndex @@ -12899,7 +15836,7 @@ func (m *CalculatedChannelValidationResult) UnmarshalVTUnsafe(dAtA []byte) error } return nil } -func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -12922,15 +15859,34 @@ func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetCalculatedChannelRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ListCalculatedChannelsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) + } + m.PageSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PageSize |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12962,11 +15918,11 @@ func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.CalculatedChannelId = stringValue + m.PageToken = stringValue iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -12998,9 +15954,9 @@ func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.ClientKey = stringValue + m.Filter = stringValue iNdEx = postIndex - case 3: + case 4: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) } @@ -13036,62 +15992,11 @@ func (m *GetCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } m.OrganizationId = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetCalculatedChannelResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13101,27 +16006,27 @@ func (m *GetCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CalculatedChannel == nil { - m.CalculatedChannel = &CalculatedChannel{} - } - if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.OrderBy = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -13145,7 +16050,7 @@ func (m *GetCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13168,17 +16073,17 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateCalculatedChannelRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ListCalculatedChannelsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13188,31 +16093,29 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) + if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.Name = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13244,84 +16147,62 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Description = stringValue + m.NextPageToken = stringValue iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserNotes = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - s := stringValue - m.ClientKey = &s - iNdEx = postIndex - case 5: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: UpdateCalculatedChannelRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: UpdateCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -13348,18 +16229,18 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CalculatedChannelConfiguration == nil { - m.CalculatedChannelConfiguration = &CalculatedChannelConfiguration{} + if m.CalculatedChannel == nil { + m.CalculatedChannel = &CalculatedChannel{} } - if err := m.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Units", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13369,34 +16250,33 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if m.UpdateMask == nil { + m.UpdateMask = &fieldmaskpb.FieldMask{} + } + if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - s := stringValue - m.Units = &s iNdEx = postIndex - case 8: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Metadata", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13406,33 +16286,28 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Metadata = append(m.Metadata, &v11.MetadataValue{}) - if unmarshal, ok := interface{}(m.Metadata[len(m.Metadata)-1]).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Metadata[len(m.Metadata)-1]); err != nil { - return err - } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + s := stringValue + m.UserNotes = &s iNdEx = postIndex default: iNdEx = preIndex @@ -13456,7 +16331,7 @@ func (m *CreateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CreateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13479,10 +16354,10 @@ func (m *CreateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateCalculatedChannelResponse: wiretype end group for non-group") + return fmt.Errorf("proto: UpdateCalculatedChannelResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UpdateCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -13577,7 +16452,7 @@ func (m *CreateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ListCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -13600,106 +16475,15 @@ func (m *ListCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListCalculatedChannelsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ListCalculatedChannelVersionsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListCalculatedChannelVersionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13731,11 +16515,11 @@ func (m *ListCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.OrganizationId = stringValue + m.CalculatedChannelId = stringValue iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13767,64 +16551,13 @@ func (m *ListCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.OrderBy = stringValue + m.ClientKey = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListCalculatedChannelsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) } - var msglen int + m.PageSize = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13834,29 +16567,14 @@ func (m *ListCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.PageSize |= uint32(b&0x7F) << shift if b < 0x80 { break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) - if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + } } - iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -13888,64 +16606,13 @@ func (m *ListCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.NextPageToken = stringValue + m.PageToken = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateCalculatedChannelRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13955,33 +16622,33 @@ func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CalculatedChannel == nil { - m.CalculatedChannel = &CalculatedChannel{} - } - if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.Filter = stringValue iNdEx = postIndex - case 2: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -13991,31 +16658,31 @@ func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.OrganizationId = stringValue iNdEx = postIndex - case 3: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserNotes", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14047,8 +16714,7 @@ func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - s := stringValue - m.UserNotes = &s + m.OrderBy = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -14072,7 +16738,7 @@ func (m *UpdateCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14095,15 +16761,15 @@ func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UpdateCalculatedChannelResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ListCalculatedChannelVersionsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListCalculatedChannelVersionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersions", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14130,18 +16796,16 @@ func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CalculatedChannel == nil { - m.CalculatedChannel = &CalculatedChannel{} - } - if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.CalculatedChannelVersions = append(m.CalculatedChannelVersions, &CalculatedChannel{}) + if err := m.CalculatedChannelVersions[len(m.CalculatedChannelVersions)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InapplicableAssets", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14151,25 +16815,27 @@ func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.InapplicableAssets = append(m.InapplicableAssets, &CalculatedChannelValidationResult{}) - if err := m.InapplicableAssets[len(m.InapplicableAssets)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.NextPageToken = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -14193,7 +16859,7 @@ func (m *UpdateCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14216,17 +16882,17 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListCalculatedChannelVersionsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ResolveCalculatedChannelRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListCalculatedChannelVersionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResolveCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14236,88 +16902,54 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CalculatedChannelId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ClientKey", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if oneof, ok := m.CalculatedChannel.(*ResolveCalculatedChannelRequest_Identifier); ok { + if unmarshal, ok := interface{}(oneof.Identifier).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Identifier); err != nil { + return err + } } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break + } else { + v := &v1.ResourceIdentifier{} + if unmarshal, ok := interface{}(v).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { + return err + } } + m.CalculatedChannel = &ResolveCalculatedChannelRequest_Identifier{Identifier: v} } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ClientKey = stringValue iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14327,31 +16959,36 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if oneof, ok := m.CalculatedChannel.(*ResolveCalculatedChannelRequest_CalculatedChannelConfiguration); ok { + if err := oneof.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &CalculatedChannelConfiguration{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.CalculatedChannel = &ResolveCalculatedChannelRequest_CalculatedChannelConfiguration{CalculatedChannelConfiguration: v} } - m.PageToken = stringValue iNdEx = postIndex - case 5: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14383,13 +17020,13 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Filter = stringValue + m.OrganizationId = stringValue iNdEx = postIndex - case 6: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Assets", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14399,33 +17036,41 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if m.Assets == nil { + m.Assets = &v1.NamedResources{} + } + if unmarshal, ok := interface{}(m.Assets).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Assets); err != nil { + return err + } } - m.OrganizationId = stringValue iNdEx = postIndex - case 7: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Run", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14435,27 +17080,35 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if m.Run == nil { + m.Run = &v1.ResourceIdentifier{} + } + if unmarshal, ok := interface{}(m.Run).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Run); err != nil { + return err + } } - m.OrderBy = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -14479,7 +17132,7 @@ func (m *ListCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) er } return nil } -func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14502,15 +17155,51 @@ func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListCalculatedChannelVersionsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ResolvedCalculatedChannel: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListCalculatedChannelVersionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ResolvedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.AssetName = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ExpressionRequest", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14537,14 +17226,43 @@ func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - m.CalculatedChannelVersions = append(m.CalculatedChannelVersions, &CalculatedChannel{}) - if err := m.CalculatedChannelVersions[len(m.CalculatedChannelVersions)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + if m.ExpressionRequest == nil { + m.ExpressionRequest = &v12.ExpressionRequest{} + } + if unmarshal, ok := interface{}(m.ExpressionRequest).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExpressionRequest); err != nil { + return err + } } iNdEx = postIndex - case 2: + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field OutputDataType", wireType) + } + m.OutputDataType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.OutputDataType |= v1.ChannelDataType(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14576,7 +17294,7 @@ func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) e if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.NextPageToken = stringValue + m.AssetId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -14600,7 +17318,7 @@ func (m *ListCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) e } return nil } -func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *UnresolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14623,17 +17341,17 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResolveCalculatedChannelRequest: wiretype end group for non-group") + return fmt.Errorf("proto: UnresolvedCalculatedChannel: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResolveCalculatedChannelRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: UnresolvedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Identifier", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14643,54 +17361,33 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.CalculatedChannel.(*ResolveCalculatedChannelRequest_Identifier); ok { - if unmarshal, ok := interface{}(oneof.Identifier).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], oneof.Identifier); err != nil { - return err - } - } - } else { - v := &v1.ResourceIdentifier{} - if unmarshal, ok := interface{}(v).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], v); err != nil { - return err - } - } - m.CalculatedChannel = &ResolveCalculatedChannelRequest_Identifier{Identifier: v} + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.AssetName = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelConfiguration", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14700,36 +17397,82 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ErrorMessage = stringValue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - if oneof, ok := m.CalculatedChannel.(*ResolveCalculatedChannelRequest_CalculatedChannelConfiguration); ok { - if err := oneof.CalculatedChannelConfiguration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &CalculatedChannelConfiguration{} - if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.CalculatedChannel = &ResolveCalculatedChannelRequest_CalculatedChannelConfiguration{CalculatedChannelConfiguration: v} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 3: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ResolveCalculatedChannelResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ResolveCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -14761,11 +17504,12 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.OrganizationId = stringValue + s := stringValue + m.CalculatedChannelId = &s iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Assets", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Resolved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14792,24 +17536,14 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Assets == nil { - m.Assets = &v1.NamedResources{} - } - if unmarshal, ok := interface{}(m.Assets).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Assets); err != nil { - return err - } + m.Resolved = append(m.Resolved, &ResolvedCalculatedChannel{}) + if err := m.Resolved[len(m.Resolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex - case 5: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Run", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Unresolved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -14836,19 +17570,9 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Run == nil { - m.Run = &v1.ResourceIdentifier{} - } - if unmarshal, ok := interface{}(m.Run).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Run); err != nil { - return err - } + m.Unresolved = append(m.Unresolved, &UnresolvedCalculatedChannel{}) + if err := m.Unresolved[len(m.Unresolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -14873,7 +17597,7 @@ func (m *ResolveCalculatedChannelRequest) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *BatchResolveCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -14896,17 +17620,17 @@ func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ResolvedCalculatedChannel: wiretype end group for non-group") + return fmt.Errorf("proto: BatchResolveCalculatedChannelsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ResolvedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: BatchResolveCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -14916,96 +17640,82 @@ func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.Requests = append(m.Requests, &ResolveCalculatedChannelRequest{}) + if err := m.Requests[len(m.Requests)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.AssetName = stringValue iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ExpressionRequest", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.ExpressionRequest == nil { - m.ExpressionRequest = &v12.ExpressionRequest{} - } - if unmarshal, ok := interface{}(m.ExpressionRequest).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ExpressionRequest); err != nil { - return err - } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *BatchResolveCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field OutputDataType", wireType) + if iNdEx >= l { + return io.ErrUnexpectedEOF } - m.OutputDataType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.OutputDataType |= v1.ChannelDataType(b&0x7F) << shift - if b < 0x80 { - break - } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - case 4: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: BatchResolveCalculatedChannelsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: BatchResolveCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Responses", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15015,27 +17725,25 @@ func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.Responses = append(m.Responses, &ResolveCalculatedChannelResponse{}) + if err := m.Responses[len(m.Responses)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.AssetId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -15059,7 +17767,7 @@ func (m *ResolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *UnresolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15082,15 +17790,15 @@ func (m *UnresolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: UnresolvedCalculatedChannel: wiretype end group for non-group") + return fmt.Errorf("proto: ListResolvedCalculatedChannelsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: UnresolvedCalculatedChannel: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListResolvedCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15122,11 +17830,11 @@ func (m *UnresolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.AssetName = stringValue + m.AssetId = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15143,77 +17851,45 @@ func (m *UnresolvedCalculatedChannel) UnmarshalVTUnsafe(dAtA []byte) error { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ErrorMessage = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - if (skippy < 0) || (iNdEx+skippy) < 0 { + postIndex := iNdEx + intStringLen + if postIndex < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - if iNdEx >= l { - return io.ErrUnexpectedEOF + m.RunId = stringValue + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.PageSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PageSize |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResolveCalculatedChannelResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResolveCalculatedChannelResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15245,14 +17921,13 @@ func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - s := stringValue - m.CalculatedChannelId = &s + m.PageToken = stringValue iNdEx = postIndex - case 2: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resolved", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15262,31 +17937,33 @@ func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Resolved = append(m.Resolved, &ResolvedCalculatedChannel{}) - if err := m.Resolved[len(m.Resolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.Filter = stringValue iNdEx = postIndex - case 3: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Unresolved", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15296,25 +17973,27 @@ func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Unresolved = append(m.Unresolved, &UnresolvedCalculatedChannel{}) - if err := m.Unresolved[len(m.Unresolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.OrderBy = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -15338,7 +18017,7 @@ func (m *ResolveCalculatedChannelResponse) UnmarshalVTUnsafe(dAtA []byte) error } return nil } -func (m *BatchResolveCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15361,15 +18040,15 @@ func (m *BatchResolveCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: BatchResolveCalculatedChannelsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: CalculatedChannelResolution: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: BatchResolveCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CalculatedChannelResolution: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Requests", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15396,65 +18075,50 @@ func (m *BatchResolveCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e if postIndex > l { return io.ErrUnexpectedEOF } - m.Requests = append(m.Requests, &ResolveCalculatedChannelRequest{}) - if err := m.Requests[len(m.Requests)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if m.CalculatedChannel == nil { + m.CalculatedChannel = &CalculatedChannel{} + } + if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Resolved", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchResolveCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.Resolved = append(m.Resolved, &ResolvedCalculatedChannel{}) + if err := m.Resolved[len(m.Resolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchResolveCalculatedChannelsResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchResolveCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Responses", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Unresolved", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15481,8 +18145,8 @@ func (m *BatchResolveCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - m.Responses = append(m.Responses, &ResolveCalculatedChannelResponse{}) - if err := m.Responses[len(m.Responses)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.Unresolved = append(m.Unresolved, &UnresolvedCalculatedChannel{}) + if err := m.Unresolved[len(m.Unresolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -15508,7 +18172,7 @@ func (m *BatchResolveCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) } return nil } -func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15526,58 +18190,22 @@ func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e wire |= uint64(b&0x7F) << shift if b < 0x80 { break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResolvedCalculatedChannelsRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResolvedCalculatedChannelsRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.AssetId = stringValue - iNdEx = postIndex - case 2: + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ListResolvedCalculatedChannelsResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ListResolvedCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelResolutions", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15587,50 +18215,29 @@ func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.CalculatedChannelResolutions = append(m.CalculatedChannelResolutions, &CalculatedChannelResolution{}) + if err := m.CalculatedChannelResolutions[len(m.CalculatedChannelResolutions)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.RunId = stringValue iNdEx = postIndex case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15662,47 +18269,62 @@ func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.PageToken = stringValue + m.NextPageToken = stringValue iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetCalculatedChannelVersionsRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - m.Filter = stringValue - iNdEx = postIndex - case 6: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetCalculatedChannelVersionsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetCalculatedChannelVersionsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionIds", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -15734,7 +18356,7 @@ func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.OrderBy = stringValue + m.CalculatedChannelVersionIds = append(m.CalculatedChannelVersionIds, stringValue) iNdEx = postIndex default: iNdEx = preIndex @@ -15758,7 +18380,7 @@ func (m *ListResolvedCalculatedChannelsRequest) UnmarshalVTUnsafe(dAtA []byte) e } return nil } -func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *GetCalculatedChannelVersionsResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15781,15 +18403,15 @@ func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CalculatedChannelResolution: wiretype end group for non-group") + return fmt.Errorf("proto: GetCalculatedChannelVersionsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CalculatedChannelResolution: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetCalculatedChannelVersionsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannel", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15816,18 +18438,67 @@ func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CalculatedChannel == nil { - m.CalculatedChannel = &CalculatedChannel{} - } - if err := m.CalculatedChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) + if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetCalculatedChannelDependentsRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetCalculatedChannelDependentsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Resolved", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15837,31 +18508,33 @@ func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Resolved = append(m.Resolved, &ResolvedCalculatedChannel{}) - if err := m.Resolved[len(m.Resolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.CalculatedChannel = &GetCalculatedChannelDependentsRequest_CalculatedChannelId{CalculatedChannelId: stringValue} iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Unresolved", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15871,25 +18544,27 @@ func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Unresolved = append(m.Unresolved, &UnresolvedCalculatedChannel{}) - if err := m.Unresolved[len(m.Unresolved)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.CalculatedChannel = &GetCalculatedChannelDependentsRequest_CalculatedChannelVersionId{CalculatedChannelVersionId: stringValue} iNdEx = postIndex default: iNdEx = preIndex @@ -15913,7 +18588,7 @@ func (m *CalculatedChannelResolution) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *GetCalculatedChannelDependentsResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -15936,15 +18611,15 @@ func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListResolvedCalculatedChannelsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: GetCalculatedChannelDependentsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListResolvedCalculatedChannelsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: GetCalculatedChannelDependentsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelResolutions", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannels", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -15971,16 +18646,16 @@ func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) if postIndex > l { return io.ErrUnexpectedEOF } - m.CalculatedChannelResolutions = append(m.CalculatedChannelResolutions, &CalculatedChannelResolution{}) - if err := m.CalculatedChannelResolutions[len(m.CalculatedChannelResolutions)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.CalculatedChannels = append(m.CalculatedChannels, &CalculatedChannel{}) + if err := m.CalculatedChannels[len(m.CalculatedChannels)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Rules", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -15990,27 +18665,33 @@ func (m *ListResolvedCalculatedChannelsResponse) UnmarshalVTUnsafe(dAtA []byte) } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.Rules = append(m.Rules, &v13.Rule{}) + if unmarshal, ok := interface{}(m.Rules[len(m.Rules)-1]).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Rules[len(m.Rules)-1]); err != nil { + return err + } } - m.NextPageToken = stringValue iNdEx = postIndex default: iNdEx = preIndex diff --git a/go/gen/sift/channels/v2/channels.pb.go b/go/gen/sift/channels/v2/channels.pb.go index a7995d322..b6ccf3aa1 100644 --- a/go/gen/sift/channels/v2/channels.pb.go +++ b/go/gen/sift/channels/v2/channels.pb.go @@ -296,7 +296,7 @@ type ListChannelsRequest struct { // the call that provided the page token. Optional. PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description`, `active`, + // Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description` // `run_id`, `run_name`, `run_client_key`, `created_date`, and `modified_date`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. @@ -304,7 +304,7 @@ type ListChannelsRequest struct { // This field is only required if your user belongs to multiple organizations. OrganizationId string `protobuf:"bytes,4,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` // How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` and `modified_date`. + // Available fields to order_by are `created_date` and `modified_date`, `active`. // If left empty, items are ordered by `created_date` in ascending order (oldest-first). // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) // Example: "created_date desc,modified_date" diff --git a/go/gen/sift/channels/v3/channels.pb.go b/go/gen/sift/channels/v3/channels.pb.go index 93fef7e5c..942d46339 100644 --- a/go/gen/sift/channels/v3/channels.pb.go +++ b/go/gen/sift/channels/v3/channels.pb.go @@ -306,13 +306,13 @@ type ListChannelsRequest struct { // the call that provided the page token. Optional. PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `channel_id`, `asset_id`, `name`, `description`, `active`, + // Available fields to filter by are `channel_id`, `asset_id`, `name`, `description` // `run_id`, `run_name`, `run_client_key`, `created_date`, `modified_date`, `created_by_user_id`, and `modified_by_user_id`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` // How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `name`, `created_date` and `modified_date`. + // Available fields to order_by are `name`, `created_date` and `modified_date`, `active`. // If left empty, items are ordered by `created_date` in ascending order (oldest-first). // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) // Example: "created_date desc,modified_date" diff --git a/go/gen/sift/common/type/v1/calculated_channels.pb.go b/go/gen/sift/common/type/v1/calculated_channels.pb.go new file mode 100644 index 000000000..0865c7919 --- /dev/null +++ b/go/gen/sift/common/type/v1/calculated_channels.pb.go @@ -0,0 +1,169 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc (unknown) +// source: sift/common/type/v1/calculated_channels.proto + +package typev1 + +import ( + _ "github.com/sift-stack/sift/go/gen/buf/validate" + _ "github.com/sift-stack/sift/go/gen/google/api" + 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) +) + +// A dependency on another calculated channel. +type CalculatedChannelDependency struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CalculatedChannelVersionId string `protobuf:"bytes,1,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3" json:"calculated_channel_version_id,omitempty"` +} + +func (x *CalculatedChannelDependency) Reset() { + *x = CalculatedChannelDependency{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_common_type_v1_calculated_channels_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *CalculatedChannelDependency) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalculatedChannelDependency) ProtoMessage() {} + +func (x *CalculatedChannelDependency) ProtoReflect() protoreflect.Message { + mi := &file_sift_common_type_v1_calculated_channels_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 CalculatedChannelDependency.ProtoReflect.Descriptor instead. +func (*CalculatedChannelDependency) Descriptor() ([]byte, []int) { + return file_sift_common_type_v1_calculated_channels_proto_rawDescGZIP(), []int{0} +} + +func (x *CalculatedChannelDependency) GetCalculatedChannelVersionId() string { + if x != nil { + return x.CalculatedChannelVersionId + } + return "" +} + +var File_sift_common_type_v1_calculated_channels_proto protoreflect.FileDescriptor + +var file_sift_common_type_v1_calculated_channels_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 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, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x79, 0x12, 0x4e, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, + 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x42, 0xdf, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, + 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x3b, + 0x74, 0x79, 0x70, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, + 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, + 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, + 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sift_common_type_v1_calculated_channels_proto_rawDescOnce sync.Once + file_sift_common_type_v1_calculated_channels_proto_rawDescData = file_sift_common_type_v1_calculated_channels_proto_rawDesc +) + +func file_sift_common_type_v1_calculated_channels_proto_rawDescGZIP() []byte { + file_sift_common_type_v1_calculated_channels_proto_rawDescOnce.Do(func() { + file_sift_common_type_v1_calculated_channels_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_common_type_v1_calculated_channels_proto_rawDescData) + }) + return file_sift_common_type_v1_calculated_channels_proto_rawDescData +} + +var file_sift_common_type_v1_calculated_channels_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_sift_common_type_v1_calculated_channels_proto_goTypes = []interface{}{ + (*CalculatedChannelDependency)(nil), // 0: sift.common.type.v1.CalculatedChannelDependency +} +var file_sift_common_type_v1_calculated_channels_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_sift_common_type_v1_calculated_channels_proto_init() } +func file_sift_common_type_v1_calculated_channels_proto_init() { + if File_sift_common_type_v1_calculated_channels_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_sift_common_type_v1_calculated_channels_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*CalculatedChannelDependency); 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_sift_common_type_v1_calculated_channels_proto_rawDesc, + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sift_common_type_v1_calculated_channels_proto_goTypes, + DependencyIndexes: file_sift_common_type_v1_calculated_channels_proto_depIdxs, + MessageInfos: file_sift_common_type_v1_calculated_channels_proto_msgTypes, + }.Build() + File_sift_common_type_v1_calculated_channels_proto = out.File + file_sift_common_type_v1_calculated_channels_proto_rawDesc = nil + file_sift_common_type_v1_calculated_channels_proto_goTypes = nil + file_sift_common_type_v1_calculated_channels_proto_depIdxs = nil +} diff --git a/go/gen/sift/common/type/v1/calculated_channels_vtproto.pb.go b/go/gen/sift/common/type/v1/calculated_channels_vtproto.pb.go new file mode 100644 index 000000000..3c1501d82 --- /dev/null +++ b/go/gen/sift/common/type/v1/calculated_channels_vtproto.pb.go @@ -0,0 +1,322 @@ +// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. +// protoc-gen-go-vtproto version: v0.6.0 +// source: sift/common/type/v1/calculated_channels.proto + +package typev1 + +import ( + fmt "fmt" + protohelpers "github.com/planetscale/vtprotobuf/protohelpers" + proto "google.golang.org/protobuf/proto" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + io "io" + unsafe "unsafe" +) + +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) +) + +func (m *CalculatedChannelDependency) CloneVT() *CalculatedChannelDependency { + if m == nil { + return (*CalculatedChannelDependency)(nil) + } + r := new(CalculatedChannelDependency) + r.CalculatedChannelVersionId = m.CalculatedChannelVersionId + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *CalculatedChannelDependency) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (this *CalculatedChannelDependency) EqualVT(that *CalculatedChannelDependency) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.CalculatedChannelVersionId != that.CalculatedChannelVersionId { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *CalculatedChannelDependency) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*CalculatedChannelDependency) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *CalculatedChannelDependency) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CalculatedChannelDependency) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *CalculatedChannelDependency) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CalculatedChannelDependency) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CalculatedChannelDependency) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CalculatedChannelDependency) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.CalculatedChannelVersionId) > 0 { + i -= len(m.CalculatedChannelVersionId) + copy(dAtA[i:], m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CalculatedChannelDependency) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.CalculatedChannelVersionId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *CalculatedChannelDependency) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelDependency: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelDependency: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelVersionId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CalculatedChannelDependency) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CalculatedChannelDependency: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CalculatedChannelDependency: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.CalculatedChannelVersionId = stringValue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/go/gen/sift/common/type/v1/organization.pb.go b/go/gen/sift/common/type/v1/organization.pb.go index 13e78b3e5..628a4e70c 100644 --- a/go/gen/sift/common/type/v1/organization.pb.go +++ b/go/gen/sift/common/type/v1/organization.pb.go @@ -28,6 +28,7 @@ type Organization struct { OrganizationId string `protobuf:"bytes,1,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` OrganizationName string `protobuf:"bytes,2,opt,name=organization_name,json=organizationName,proto3" json:"organization_name,omitempty"` + IsAbacEnabled *bool `protobuf:"varint,3,opt,name=is_abac_enabled,json=isAbacEnabled,proto3,oneof" json:"is_abac_enabled,omitempty"` } func (x *Organization) Reset() { @@ -76,6 +77,13 @@ func (x *Organization) GetOrganizationName() string { return "" } +func (x *Organization) GetIsAbacEnabled() bool { + if x != nil && x.IsAbacEnabled != nil { + return *x.IsAbacEnabled + } + return false +} + var File_sift_common_type_v1_organization_proto protoreflect.FileDescriptor var file_sift_common_type_v1_organization_proto_rawDesc = []byte{ @@ -84,29 +92,33 @@ var file_sift_common_type_v1_organization_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6e, - 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, - 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, 0x11, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xd9, - 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, - 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x74, 0x79, 0x70, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, - 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, - 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, - 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb4, + 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x30, 0x0a, + 0x11, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x30, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x63, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x0d, 0x69, 0x73, 0x41, 0x62, 0x61, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, + 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x63, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0xd9, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x42, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, + 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x74, 0x79, + 0x70, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, + 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, + 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, + 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -152,6 +164,7 @@ func file_sift_common_type_v1_organization_proto_init() { } } } + file_sift_common_type_v1_organization_proto_msgTypes[0].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ diff --git a/go/gen/sift/common/type/v1/organization_vtproto.pb.go b/go/gen/sift/common/type/v1/organization_vtproto.pb.go index 69a29a032..9f8cf6bdb 100644 --- a/go/gen/sift/common/type/v1/organization_vtproto.pb.go +++ b/go/gen/sift/common/type/v1/organization_vtproto.pb.go @@ -27,6 +27,10 @@ func (m *Organization) CloneVT() *Organization { r := new(Organization) r.OrganizationId = m.OrganizationId r.OrganizationName = m.OrganizationName + if rhs := m.IsAbacEnabled; rhs != nil { + tmpVal := *rhs + r.IsAbacEnabled = &tmpVal + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -50,6 +54,9 @@ func (this *Organization) EqualVT(that *Organization) bool { if this.OrganizationName != that.OrganizationName { return false } + if p, q := this.IsAbacEnabled, that.IsAbacEnabled; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -90,6 +97,16 @@ func (m *Organization) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsAbacEnabled != nil { + i-- + if *m.IsAbacEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if len(m.OrganizationName) > 0 { i -= len(m.OrganizationName) copy(dAtA[i:], m.OrganizationName) @@ -137,6 +154,16 @@ func (m *Organization) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.IsAbacEnabled != nil { + i-- + if *m.IsAbacEnabled { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x18 + } if len(m.OrganizationName) > 0 { i -= len(m.OrganizationName) copy(dAtA[i:], m.OrganizationName) @@ -168,6 +195,9 @@ func (m *Organization) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.IsAbacEnabled != nil { + n += 2 + } n += len(m.unknownFields) return n } @@ -265,6 +295,27 @@ func (m *Organization) UnmarshalVT(dAtA []byte) error { } m.OrganizationName = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsAbacEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.IsAbacEnabled = &b default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -388,6 +439,27 @@ func (m *Organization) UnmarshalVTUnsafe(dAtA []byte) error { } m.OrganizationName = stringValue iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field IsAbacEnabled", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.IsAbacEnabled = &b default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/common/v1/action_type.pb.go b/go/gen/sift/common/v1/action_type.pb.go new file mode 100644 index 000000000..c977f93f4 --- /dev/null +++ b/go/gen/sift/common/v1/action_type.pb.go @@ -0,0 +1,191 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc (unknown) +// source: sift/common/v1/action_type.proto + +package commonv1 + +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) +) + +// ActionType represents the type of action being performed on a resource +// Granular ABAC actions, broken up by CRUD. +type ActionType int32 + +const ( + ActionType_ACTION_TYPE_UNSPECIFIED ActionType = 0 + // Create actions (reserving 100 for generic create) + ActionType_ACTION_TYPE_INGEST_DATA ActionType = 110 + ActionType_ACTION_TYPE_CREATE_RUN ActionType = 120 + // Read actions + // Lowest-level read action type. If this is denied, all other read actions should be denied. + // Used for view/search/index metadata and overview details pages. + ActionType_ACTION_TYPE_VIEW_DETAILS ActionType = 200 + // Read telemetry data values from channels/runs/assets. + // Keep ACTION_TYPE_VIEW_DETAILS for non-telemetry "view details" style access. + ActionType_ACTION_TYPE_VIEW_DATA ActionType = 205 + ActionType_ACTION_TYPE_EXPORT ActionType = 210 + // Update/Edit actions (reserving 300 for generic edit) + // Name, Description, Units + ActionType_ACTION_TYPE_EDIT_DETAILS ActionType = 310 + ActionType_ACTION_TYPE_EDIT_TAGS ActionType = 312 + ActionType_ACTION_TYPE_EDIT_METADATA ActionType = 313 + // Delete actions + ActionType_ACTION_TYPE_ARCHIVE ActionType = 400 +) + +// Enum value maps for ActionType. +var ( + ActionType_name = map[int32]string{ + 0: "ACTION_TYPE_UNSPECIFIED", + 110: "ACTION_TYPE_INGEST_DATA", + 120: "ACTION_TYPE_CREATE_RUN", + 200: "ACTION_TYPE_VIEW_DETAILS", + 205: "ACTION_TYPE_VIEW_DATA", + 210: "ACTION_TYPE_EXPORT", + 310: "ACTION_TYPE_EDIT_DETAILS", + 312: "ACTION_TYPE_EDIT_TAGS", + 313: "ACTION_TYPE_EDIT_METADATA", + 400: "ACTION_TYPE_ARCHIVE", + } + ActionType_value = map[string]int32{ + "ACTION_TYPE_UNSPECIFIED": 0, + "ACTION_TYPE_INGEST_DATA": 110, + "ACTION_TYPE_CREATE_RUN": 120, + "ACTION_TYPE_VIEW_DETAILS": 200, + "ACTION_TYPE_VIEW_DATA": 205, + "ACTION_TYPE_EXPORT": 210, + "ACTION_TYPE_EDIT_DETAILS": 310, + "ACTION_TYPE_EDIT_TAGS": 312, + "ACTION_TYPE_EDIT_METADATA": 313, + "ACTION_TYPE_ARCHIVE": 400, + } +) + +func (x ActionType) Enum() *ActionType { + p := new(ActionType) + *p = x + return p +} + +func (x ActionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActionType) Descriptor() protoreflect.EnumDescriptor { + return file_sift_common_v1_action_type_proto_enumTypes[0].Descriptor() +} + +func (ActionType) Type() protoreflect.EnumType { + return &file_sift_common_v1_action_type_proto_enumTypes[0] +} + +func (x ActionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActionType.Descriptor instead. +func (ActionType) EnumDescriptor() ([]byte, []int) { + return file_sift_common_v1_action_type_proto_rawDescGZIP(), []int{0} +} + +var File_sift_common_v1_action_type_proto protoreflect.FileDescriptor + +var file_sift_common_v1_action_type_proto_rawDesc = []byte{ + 0x0a, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x12, 0x0e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2a, 0xab, 0x02, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, + 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, + 0x47, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x6e, 0x12, 0x1a, 0x0a, 0x16, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, 0x45, 0x41, 0x54, + 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x78, 0x12, 0x1d, 0x0a, 0x18, 0x41, 0x43, 0x54, 0x49, 0x4f, + 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, 0x45, 0x54, 0x41, + 0x49, 0x4c, 0x53, 0x10, 0xc8, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, + 0xcd, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xd2, 0x01, 0x12, 0x1d, 0x0a, 0x18, 0x41, + 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, + 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0xb6, 0x02, 0x12, 0x1a, 0x0a, 0x15, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x54, + 0x41, 0x47, 0x53, 0x10, 0xb8, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, + 0x41, 0x54, 0x41, 0x10, 0xb9, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, 0x10, 0x90, 0x03, + 0x42, 0xba, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, + 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, + 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x0e, 0x53, 0x69, + 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0e, 0x53, + 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1a, + 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, 0x69, 0x66, + 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sift_common_v1_action_type_proto_rawDescOnce sync.Once + file_sift_common_v1_action_type_proto_rawDescData = file_sift_common_v1_action_type_proto_rawDesc +) + +func file_sift_common_v1_action_type_proto_rawDescGZIP() []byte { + file_sift_common_v1_action_type_proto_rawDescOnce.Do(func() { + file_sift_common_v1_action_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_common_v1_action_type_proto_rawDescData) + }) + return file_sift_common_v1_action_type_proto_rawDescData +} + +var file_sift_common_v1_action_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sift_common_v1_action_type_proto_goTypes = []interface{}{ + (ActionType)(0), // 0: sift.common.v1.ActionType +} +var file_sift_common_v1_action_type_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_sift_common_v1_action_type_proto_init() } +func file_sift_common_v1_action_type_proto_init() { + if File_sift_common_v1_action_type_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sift_common_v1_action_type_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sift_common_v1_action_type_proto_goTypes, + DependencyIndexes: file_sift_common_v1_action_type_proto_depIdxs, + EnumInfos: file_sift_common_v1_action_type_proto_enumTypes, + }.Build() + File_sift_common_v1_action_type_proto = out.File + file_sift_common_v1_action_type_proto_rawDesc = nil + file_sift_common_v1_action_type_proto_goTypes = nil + file_sift_common_v1_action_type_proto_depIdxs = nil +} diff --git a/go/gen/sift/common/v1/resource_type.pb.go b/go/gen/sift/common/v1/resource_type.pb.go new file mode 100644 index 000000000..a2f0cec52 --- /dev/null +++ b/go/gen/sift/common/v1/resource_type.pb.go @@ -0,0 +1,202 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.28.1 +// protoc (unknown) +// source: sift/common/v1/resource_type.proto + +package commonv1 + +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) +) + +// ResourceType represents the type of resource being accessed. +type ResourceType int32 + +const ( + ResourceType_RESOURCE_TYPE_UNSPECIFIED ResourceType = 0 + ResourceType_RESOURCE_TYPE_ASSET ResourceType = 1 + ResourceType_RESOURCE_TYPE_CHANNEL ResourceType = 2 + ResourceType_RESOURCE_TYPE_RUN ResourceType = 3 + ResourceType_RESOURCE_TYPE_ANNOTATION ResourceType = 4 + ResourceType_RESOURCE_TYPE_CAMPAIGN ResourceType = 5 + ResourceType_RESOURCE_TYPE_REPORT ResourceType = 6 + ResourceType_RESOURCE_TYPE_RULE ResourceType = 7 + ResourceType_RESOURCE_TYPE_RULE_VERSION ResourceType = 8 + ResourceType_RESOURCE_TYPE_USER_DEFINED_FUNCTION ResourceType = 9 + ResourceType_RESOURCE_TYPE_CALCULATED_CHANNEL ResourceType = 10 + ResourceType_RESOURCE_TYPE_REPORT_TEMPLATE ResourceType = 11 + ResourceType_RESOURCE_TYPE_TEST_REPORT ResourceType = 12 + // Special type for a resource that doesn't yet exist (eg. creating an asset) + ResourceType_RESOURCE_TYPE_SIFT_APP ResourceType = 1000 +) + +// Enum value maps for ResourceType. +var ( + ResourceType_name = map[int32]string{ + 0: "RESOURCE_TYPE_UNSPECIFIED", + 1: "RESOURCE_TYPE_ASSET", + 2: "RESOURCE_TYPE_CHANNEL", + 3: "RESOURCE_TYPE_RUN", + 4: "RESOURCE_TYPE_ANNOTATION", + 5: "RESOURCE_TYPE_CAMPAIGN", + 6: "RESOURCE_TYPE_REPORT", + 7: "RESOURCE_TYPE_RULE", + 8: "RESOURCE_TYPE_RULE_VERSION", + 9: "RESOURCE_TYPE_USER_DEFINED_FUNCTION", + 10: "RESOURCE_TYPE_CALCULATED_CHANNEL", + 11: "RESOURCE_TYPE_REPORT_TEMPLATE", + 12: "RESOURCE_TYPE_TEST_REPORT", + 1000: "RESOURCE_TYPE_SIFT_APP", + } + ResourceType_value = map[string]int32{ + "RESOURCE_TYPE_UNSPECIFIED": 0, + "RESOURCE_TYPE_ASSET": 1, + "RESOURCE_TYPE_CHANNEL": 2, + "RESOURCE_TYPE_RUN": 3, + "RESOURCE_TYPE_ANNOTATION": 4, + "RESOURCE_TYPE_CAMPAIGN": 5, + "RESOURCE_TYPE_REPORT": 6, + "RESOURCE_TYPE_RULE": 7, + "RESOURCE_TYPE_RULE_VERSION": 8, + "RESOURCE_TYPE_USER_DEFINED_FUNCTION": 9, + "RESOURCE_TYPE_CALCULATED_CHANNEL": 10, + "RESOURCE_TYPE_REPORT_TEMPLATE": 11, + "RESOURCE_TYPE_TEST_REPORT": 12, + "RESOURCE_TYPE_SIFT_APP": 1000, + } +) + +func (x ResourceType) Enum() *ResourceType { + p := new(ResourceType) + *p = x + return p +} + +func (x ResourceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ResourceType) Descriptor() protoreflect.EnumDescriptor { + return file_sift_common_v1_resource_type_proto_enumTypes[0].Descriptor() +} + +func (ResourceType) Type() protoreflect.EnumType { + return &file_sift_common_v1_resource_type_proto_enumTypes[0] +} + +func (x ResourceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ResourceType.Descriptor instead. +func (ResourceType) EnumDescriptor() ([]byte, []int) { + return file_sift_common_v1_resource_type_proto_rawDescGZIP(), []int{0} +} + +var File_sift_common_v1_resource_type_proto protoreflect.FileDescriptor + +var file_sift_common_v1_resource_type_proto_rawDesc = []byte{ + 0x0a, 0x22, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2a, 0xb2, 0x03, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, + 0x15, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, + 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x52, 0x45, 0x53, 0x4f, + 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x03, 0x12, + 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x1a, 0x0a, + 0x16, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, + 0x41, 0x4d, 0x50, 0x41, 0x49, 0x47, 0x4e, 0x10, 0x05, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x45, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, + 0x54, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4c, + 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, 0x08, 0x12, 0x27, 0x0a, 0x23, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, + 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x43, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, + 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, 0x45, 0x10, 0x0b, 0x12, 0x1d, 0x0a, + 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, + 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x16, + 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, + 0x46, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x10, 0xe8, 0x07, 0x42, 0xbc, 0x01, 0x0a, 0x12, 0x63, 0x6f, + 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x42, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, + 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x31, + 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_sift_common_v1_resource_type_proto_rawDescOnce sync.Once + file_sift_common_v1_resource_type_proto_rawDescData = file_sift_common_v1_resource_type_proto_rawDesc +) + +func file_sift_common_v1_resource_type_proto_rawDescGZIP() []byte { + file_sift_common_v1_resource_type_proto_rawDescOnce.Do(func() { + file_sift_common_v1_resource_type_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_common_v1_resource_type_proto_rawDescData) + }) + return file_sift_common_v1_resource_type_proto_rawDescData +} + +var file_sift_common_v1_resource_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sift_common_v1_resource_type_proto_goTypes = []interface{}{ + (ResourceType)(0), // 0: sift.common.v1.ResourceType +} +var file_sift_common_v1_resource_type_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_sift_common_v1_resource_type_proto_init() } +func file_sift_common_v1_resource_type_proto_init() { + if File_sift_common_v1_resource_type_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_sift_common_v1_resource_type_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_sift_common_v1_resource_type_proto_goTypes, + DependencyIndexes: file_sift_common_v1_resource_type_proto_depIdxs, + EnumInfos: file_sift_common_v1_resource_type_proto_enumTypes, + }.Build() + File_sift_common_v1_resource_type_proto = out.File + file_sift_common_v1_resource_type_proto_rawDesc = nil + file_sift_common_v1_resource_type_proto_goTypes = nil + file_sift_common_v1_resource_type_proto_depIdxs = nil +} diff --git a/go/gen/sift/data/v2/data.pb.go b/go/gen/sift/data/v2/data.pb.go index 85f4e0138..9aa5e64fc 100644 --- a/go/gen/sift/data/v2/data.pb.go +++ b/go/gen/sift/data/v2/data.pb.go @@ -11,7 +11,6 @@ import ( _ "github.com/sift-stack/sift/go/gen/protoc-gen-openapiv2/options" v1 "github.com/sift-stack/sift/go/gen/sift/calculated_channels/v1" v11 "github.com/sift-stack/sift/go/gen/sift/common/type/v1" - _ "github.com/sift-stack/sift/go/gen/sift/options/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" anypb "google.golang.org/protobuf/types/known/anypb" @@ -2054,311 +2053,308 @@ var file_sift_data_v2_data_proto_rawDesc = []byte{ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, - 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x90, 0x02, 0x0a, 0x0e, - 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, - 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x12, 0x1b, 0x0a, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x04, 0x80, 0x97, 0x22, 0x01, 0x22, 0x9f, - 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x12, 0x55, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, - 0x22, 0x54, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, - 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, - 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, - 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x06, - 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, - 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x6f, 0x64, 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, - 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, - 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, - 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0xa1, 0x06, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, - 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, - 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, - 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x72, - 0x75, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x01, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x88, 0x01, 0x01, 0x1a, 0x40, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, - 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x03, 0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, - 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x1a, 0xeb, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, - 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, - 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, - 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x62, - 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, - 0x4f, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x07, 0x71, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, + 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, + 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, + 0x36, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x07, + 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x54, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, + 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x53, + 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, + 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, + 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, + 0x02, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, + 0x61, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, + 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, + 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x02, 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, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x06, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x4d, 0x73, + 0x12, 0x37, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x75, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, + 0x75, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x01, 0x52, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x1a, 0x40, 0x0a, 0x05, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, + 0x03, 0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, + 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xeb, 0x02, 0x0a, 0x07, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, + 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x55, 0x6e, 0x69, 0x74, + 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x62, + 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, + 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x62, 0x62, 0x72, 0x65, + 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, + 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x42, + 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x67, 0x0a, 0x0b, 0x44, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x75, + 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, + 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, + 0x65, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, + 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6a, + 0x0a, 0x15, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, - 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x67, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, - 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, + 0x12, 0x38, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x42, + 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, - 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x7b, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x7b, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, - 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6a, 0x0a, 0x15, 0x42, 0x69, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x40, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x65, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, - 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, 0x6c, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, - 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, - 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, - 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, - 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, - 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, - 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x32, 0xba, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, - 0x92, 0x41, 0x2c, 0x12, 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x0a, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1a, 0x92, 0x41, 0x17, 0x12, 0x15, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x42, 0xb9, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, - 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x61, 0x74, 0x61, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x53, 0x44, - 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x32, - 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0xe2, - 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, - 0x74, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x3a, 0x56, 0x32, 0x92, 0x41, 0x10, 0x12, 0x0e, - 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, + 0x0b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x32, 0xba, 0x01, 0x0a, + 0x0b, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8e, 0x01, 0x0a, + 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x2c, 0x12, 0x07, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x1a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, + 0x15, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, + 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1a, 0x92, + 0x41, 0x17, 0x12, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x42, 0xb9, 0x01, 0x0a, 0x10, 0x63, 0x6f, + 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x09, + 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, + 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x3b, 0x64, 0x61, 0x74, 0x61, + 0x76, 0x32, 0xa2, 0x02, 0x03, 0x53, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, + 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, + 0x74, 0x61, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x3a, + 0x56, 0x32, 0x92, 0x41, 0x10, 0x12, 0x0e, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/go/gen/sift/data_imports/v2/data_imports.pb.go b/go/gen/sift/data_imports/v2/data_imports.pb.go index d9c8c6a7e..6e872ad5d 100644 --- a/go/gen/sift/data_imports/v2/data_imports.pb.go +++ b/go/gen/sift/data_imports/v2/data_imports.pb.go @@ -107,11 +107,13 @@ type DataTypeKey int32 const ( // Deprecated: Do not use. - DataTypeKey_DATA_TYPE_KEY_UNSPECIFIED DataTypeKey = 0 - DataTypeKey_DATA_TYPE_KEY_CSV DataTypeKey = 1 - DataTypeKey_DATA_TYPE_KEY_TDMS DataTypeKey = 2 - DataTypeKey_DATA_TYPE_KEY_CH10 DataTypeKey = 3 - DataTypeKey_DATA_TYPE_KEY_PARQUET_FLATDATASET DataTypeKey = 4 + DataTypeKey_DATA_TYPE_KEY_UNSPECIFIED DataTypeKey = 0 + DataTypeKey_DATA_TYPE_KEY_CSV DataTypeKey = 1 + DataTypeKey_DATA_TYPE_KEY_TDMS DataTypeKey = 2 + DataTypeKey_DATA_TYPE_KEY_CH10 DataTypeKey = 3 + DataTypeKey_DATA_TYPE_KEY_PARQUET_FLATDATASET DataTypeKey = 4 + DataTypeKey_DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW DataTypeKey = 5 + DataTypeKey_DATA_TYPE_KEY_HDF5 DataTypeKey = 6 ) // Enum value maps for DataTypeKey. @@ -122,13 +124,17 @@ var ( 2: "DATA_TYPE_KEY_TDMS", 3: "DATA_TYPE_KEY_CH10", 4: "DATA_TYPE_KEY_PARQUET_FLATDATASET", + 5: "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW", + 6: "DATA_TYPE_KEY_HDF5", } DataTypeKey_value = map[string]int32{ - "DATA_TYPE_KEY_UNSPECIFIED": 0, - "DATA_TYPE_KEY_CSV": 1, - "DATA_TYPE_KEY_TDMS": 2, - "DATA_TYPE_KEY_CH10": 3, - "DATA_TYPE_KEY_PARQUET_FLATDATASET": 4, + "DATA_TYPE_KEY_UNSPECIFIED": 0, + "DATA_TYPE_KEY_CSV": 1, + "DATA_TYPE_KEY_TDMS": 2, + "DATA_TYPE_KEY_CH10": 3, + "DATA_TYPE_KEY_PARQUET_FLATDATASET": 4, + "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW": 5, + "DATA_TYPE_KEY_HDF5": 6, } ) @@ -287,6 +293,7 @@ type CreateDataImportFromUrlRequest struct { Ch10Config *Ch10Config `protobuf:"bytes,3,opt,name=ch10_config,json=ch10Config,proto3" json:"ch10_config,omitempty"` TdmsConfig *TDMSConfig `protobuf:"bytes,4,opt,name=tdms_config,json=tdmsConfig,proto3" json:"tdms_config,omitempty"` ParquetConfig *ParquetConfig `protobuf:"bytes,5,opt,name=parquet_config,json=parquetConfig,proto3" json:"parquet_config,omitempty"` + Hdf5Config *Hdf5Config `protobuf:"bytes,6,opt,name=hdf5_config,json=hdf5Config,proto3" json:"hdf5_config,omitempty"` } func (x *CreateDataImportFromUrlRequest) Reset() { @@ -356,6 +363,13 @@ func (x *CreateDataImportFromUrlRequest) GetParquetConfig() *ParquetConfig { return nil } +func (x *CreateDataImportFromUrlRequest) GetHdf5Config() *Hdf5Config { + if x != nil { + return x.Hdf5Config + } + return nil +} + type CreateDataImportFromUrlResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -506,6 +520,7 @@ type CreateDataImportFromUploadRequest struct { Ch10Config *Ch10Config `protobuf:"bytes,3,opt,name=ch10_config,json=ch10Config,proto3" json:"ch10_config,omitempty"` TdmsConfig *TDMSConfig `protobuf:"bytes,4,opt,name=tdms_config,json=tdmsConfig,proto3" json:"tdms_config,omitempty"` ParquetConfig *ParquetConfig `protobuf:"bytes,5,opt,name=parquet_config,json=parquetConfig,proto3" json:"parquet_config,omitempty"` + Hdf5Config *Hdf5Config `protobuf:"bytes,6,opt,name=hdf5_config,json=hdf5Config,proto3" json:"hdf5_config,omitempty"` } func (x *CreateDataImportFromUploadRequest) Reset() { @@ -568,6 +583,13 @@ func (x *CreateDataImportFromUploadRequest) GetParquetConfig() *ParquetConfig { return nil } +func (x *CreateDataImportFromUploadRequest) GetHdf5Config() *Hdf5Config { + if x != nil { + return x.Hdf5Config + } + return nil +} + type CreateDataImportFromUploadResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -849,6 +871,7 @@ type DetectConfigResponse struct { CsvConfig *CsvConfig `protobuf:"bytes,1,opt,name=csv_config,json=csvConfig,proto3" json:"csv_config,omitempty"` ParquetConfig *ParquetConfig `protobuf:"bytes,2,opt,name=parquet_config,json=parquetConfig,proto3" json:"parquet_config,omitempty"` + Hdf5Config *Hdf5Config `protobuf:"bytes,3,opt,name=hdf5_config,json=hdf5Config,proto3" json:"hdf5_config,omitempty"` } func (x *DetectConfigResponse) Reset() { @@ -897,6 +920,13 @@ func (x *DetectConfigResponse) GetParquetConfig() *ParquetConfig { return nil } +func (x *DetectConfigResponse) GetHdf5Config() *Hdf5Config { + if x != nil { + return x.Hdf5Config + } + return nil +} + type Ch10Config struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1162,6 +1192,61 @@ func (x *ParquetDataColumn) GetChannelConfig() *v1.ChannelConfig { return nil } +type ParquetColumn struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"` + ColumnConfig *v1.ChannelConfig `protobuf:"bytes,2,opt,name=column_config,json=columnConfig,proto3" json:"column_config,omitempty"` +} + +func (x *ParquetColumn) Reset() { + *x = ParquetColumn{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParquetColumn) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParquetColumn) ProtoMessage() {} + +func (x *ParquetColumn) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 ParquetColumn.ProtoReflect.Descriptor instead. +func (*ParquetColumn) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{14} +} + +func (x *ParquetColumn) GetPath() string { + if x != nil { + return x.Path + } + return "" +} + +func (x *ParquetColumn) GetColumnConfig() *v1.ChannelConfig { + if x != nil { + return x.ColumnConfig + } + return nil +} + type ParquetFlatDatasetConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1174,7 +1259,7 @@ type ParquetFlatDatasetConfig struct { func (x *ParquetFlatDatasetConfig) Reset() { *x = ParquetFlatDatasetConfig{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[14] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[15] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1187,7 +1272,7 @@ func (x *ParquetFlatDatasetConfig) String() string { func (*ParquetFlatDatasetConfig) ProtoMessage() {} func (x *ParquetFlatDatasetConfig) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[14] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[15] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1200,7 +1285,7 @@ func (x *ParquetFlatDatasetConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ParquetFlatDatasetConfig.ProtoReflect.Descriptor instead. func (*ParquetFlatDatasetConfig) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{14} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{15} } func (x *ParquetFlatDatasetConfig) GetTimeColumn() *ParquetTimeColumn { @@ -1217,6 +1302,217 @@ func (x *ParquetFlatDatasetConfig) GetDataColumns() []*ParquetDataColumn { return nil } +type ParquetSingleChannelPerRowMultiChannelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + NamePath string `protobuf:"bytes,1,opt,name=name_path,json=namePath,proto3" json:"name_path,omitempty"` + DataPath string `protobuf:"bytes,2,opt,name=data_path,json=dataPath,proto3" json:"data_path,omitempty"` +} + +func (x *ParquetSingleChannelPerRowMultiChannelConfig) Reset() { + *x = ParquetSingleChannelPerRowMultiChannelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParquetSingleChannelPerRowMultiChannelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParquetSingleChannelPerRowMultiChannelConfig) ProtoMessage() {} + +func (x *ParquetSingleChannelPerRowMultiChannelConfig) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 ParquetSingleChannelPerRowMultiChannelConfig.ProtoReflect.Descriptor instead. +func (*ParquetSingleChannelPerRowMultiChannelConfig) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{16} +} + +func (x *ParquetSingleChannelPerRowMultiChannelConfig) GetNamePath() string { + if x != nil { + return x.NamePath + } + return "" +} + +func (x *ParquetSingleChannelPerRowMultiChannelConfig) GetDataPath() string { + if x != nil { + return x.DataPath + } + return "" +} + +type ParquetSingleChannelPerRowSingleChannelConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + DataPath string `protobuf:"bytes,1,opt,name=data_path,json=dataPath,proto3" json:"data_path,omitempty"` + Channel *v1.ChannelConfig `protobuf:"bytes,2,opt,name=channel,proto3" json:"channel,omitempty"` +} + +func (x *ParquetSingleChannelPerRowSingleChannelConfig) Reset() { + *x = ParquetSingleChannelPerRowSingleChannelConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParquetSingleChannelPerRowSingleChannelConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParquetSingleChannelPerRowSingleChannelConfig) ProtoMessage() {} + +func (x *ParquetSingleChannelPerRowSingleChannelConfig) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 ParquetSingleChannelPerRowSingleChannelConfig.ProtoReflect.Descriptor instead. +func (*ParquetSingleChannelPerRowSingleChannelConfig) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{17} +} + +func (x *ParquetSingleChannelPerRowSingleChannelConfig) GetDataPath() string { + if x != nil { + return x.DataPath + } + return "" +} + +func (x *ParquetSingleChannelPerRowSingleChannelConfig) GetChannel() *v1.ChannelConfig { + if x != nil { + return x.Channel + } + return nil +} + +type ParquetSingleChannelPerRowConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Timestamp column configuration. + TimeColumn *ParquetTimeColumn `protobuf:"bytes,1,opt,name=time_column,json=timeColumn,proto3" json:"time_column,omitempty"` + // Detected columns. + Columns []*ParquetColumn `protobuf:"bytes,2,rep,name=columns,proto3" json:"columns,omitempty"` + // Types that are assignable to Config: + // + // *ParquetSingleChannelPerRowConfig_SingleChannel + // *ParquetSingleChannelPerRowConfig_MultiChannel + Config isParquetSingleChannelPerRowConfig_Config `protobuf_oneof:"config"` +} + +func (x *ParquetSingleChannelPerRowConfig) Reset() { + *x = ParquetSingleChannelPerRowConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ParquetSingleChannelPerRowConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ParquetSingleChannelPerRowConfig) ProtoMessage() {} + +func (x *ParquetSingleChannelPerRowConfig) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 ParquetSingleChannelPerRowConfig.ProtoReflect.Descriptor instead. +func (*ParquetSingleChannelPerRowConfig) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{18} +} + +func (x *ParquetSingleChannelPerRowConfig) GetTimeColumn() *ParquetTimeColumn { + if x != nil { + return x.TimeColumn + } + return nil +} + +func (x *ParquetSingleChannelPerRowConfig) GetColumns() []*ParquetColumn { + if x != nil { + return x.Columns + } + return nil +} + +func (m *ParquetSingleChannelPerRowConfig) GetConfig() isParquetSingleChannelPerRowConfig_Config { + if m != nil { + return m.Config + } + return nil +} + +func (x *ParquetSingleChannelPerRowConfig) GetSingleChannel() *ParquetSingleChannelPerRowSingleChannelConfig { + if x, ok := x.GetConfig().(*ParquetSingleChannelPerRowConfig_SingleChannel); ok { + return x.SingleChannel + } + return nil +} + +func (x *ParquetSingleChannelPerRowConfig) GetMultiChannel() *ParquetSingleChannelPerRowMultiChannelConfig { + if x, ok := x.GetConfig().(*ParquetSingleChannelPerRowConfig_MultiChannel); ok { + return x.MultiChannel + } + return nil +} + +type isParquetSingleChannelPerRowConfig_Config interface { + isParquetSingleChannelPerRowConfig_Config() +} + +type ParquetSingleChannelPerRowConfig_SingleChannel struct { + // Single channel per file configuration. + SingleChannel *ParquetSingleChannelPerRowSingleChannelConfig `protobuf:"bytes,3,opt,name=single_channel,json=singleChannel,proto3,oneof"` +} + +type ParquetSingleChannelPerRowConfig_MultiChannel struct { + // Multi-channel per file configuration. + MultiChannel *ParquetSingleChannelPerRowMultiChannelConfig `protobuf:"bytes,4,opt,name=multi_channel,json=multiChannel,proto3,oneof"` +} + +func (*ParquetSingleChannelPerRowConfig_SingleChannel) isParquetSingleChannelPerRowConfig_Config() {} + +func (*ParquetSingleChannelPerRowConfig_MultiChannel) isParquetSingleChannelPerRowConfig_Config() {} + type ParquetConfig struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1229,6 +1525,7 @@ type ParquetConfig struct { // Types that are assignable to Config: // // *ParquetConfig_FlatDataset + // *ParquetConfig_SingleChannelPerRow Config isParquetConfig_Config `protobuf_oneof:"config"` FooterOffset uint64 `protobuf:"varint,5,opt,name=footer_offset,json=footerOffset,proto3" json:"footer_offset,omitempty"` FooterLength uint32 `protobuf:"varint,6,opt,name=footer_length,json=footerLength,proto3" json:"footer_length,omitempty"` @@ -1238,7 +1535,7 @@ type ParquetConfig struct { func (x *ParquetConfig) Reset() { *x = ParquetConfig{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[15] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[19] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1251,7 +1548,7 @@ func (x *ParquetConfig) String() string { func (*ParquetConfig) ProtoMessage() {} func (x *ParquetConfig) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[15] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[19] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1264,7 +1561,7 @@ func (x *ParquetConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use ParquetConfig.ProtoReflect.Descriptor instead. func (*ParquetConfig) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{15} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{19} } func (x *ParquetConfig) GetAssetName() string { @@ -1302,6 +1599,13 @@ func (x *ParquetConfig) GetFlatDataset() *ParquetFlatDatasetConfig { return nil } +func (x *ParquetConfig) GetSingleChannelPerRow() *ParquetSingleChannelPerRowConfig { + if x, ok := x.GetConfig().(*ParquetConfig_SingleChannelPerRow); ok { + return x.SingleChannelPerRow + } + return nil +} + func (x *ParquetConfig) GetFooterOffset() uint64 { if x != nil { return x.FooterOffset @@ -1331,8 +1635,198 @@ type ParquetConfig_FlatDataset struct { FlatDataset *ParquetFlatDatasetConfig `protobuf:"bytes,4,opt,name=flat_dataset,json=flatDataset,proto3,oneof"` } +type ParquetConfig_SingleChannelPerRow struct { + SingleChannelPerRow *ParquetSingleChannelPerRowConfig `protobuf:"bytes,8,opt,name=single_channel_per_row,json=singleChannelPerRow,proto3,oneof"` +} + func (*ParquetConfig_FlatDataset) isParquetConfig_Config() {} +func (*ParquetConfig_SingleChannelPerRow) isParquetConfig_Config() {} + +type Hdf5DataConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TimeDataset string `protobuf:"bytes,1,opt,name=time_dataset,json=timeDataset,proto3" json:"time_dataset,omitempty"` + TimeIndex uint64 `protobuf:"varint,2,opt,name=time_index,json=timeIndex,proto3" json:"time_index,omitempty"` + ValueDataset string `protobuf:"bytes,3,opt,name=value_dataset,json=valueDataset,proto3" json:"value_dataset,omitempty"` + ValueIndex uint64 `protobuf:"varint,4,opt,name=value_index,json=valueIndex,proto3" json:"value_index,omitempty"` + ChannelConfig *v1.ChannelConfig `protobuf:"bytes,5,opt,name=channel_config,json=channelConfig,proto3" json:"channel_config,omitempty"` + // For compound types, allow specifying which fields to use. + TimeField *string `protobuf:"bytes,6,opt,name=time_field,json=timeField,proto3,oneof" json:"time_field,omitempty"` + ValueField *string `protobuf:"bytes,7,opt,name=value_field,json=valueField,proto3,oneof" json:"value_field,omitempty"` +} + +func (x *Hdf5DataConfig) Reset() { + *x = Hdf5DataConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hdf5DataConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hdf5DataConfig) ProtoMessage() {} + +func (x *Hdf5DataConfig) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 Hdf5DataConfig.ProtoReflect.Descriptor instead. +func (*Hdf5DataConfig) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{20} +} + +func (x *Hdf5DataConfig) GetTimeDataset() string { + if x != nil { + return x.TimeDataset + } + return "" +} + +func (x *Hdf5DataConfig) GetTimeIndex() uint64 { + if x != nil { + return x.TimeIndex + } + return 0 +} + +func (x *Hdf5DataConfig) GetValueDataset() string { + if x != nil { + return x.ValueDataset + } + return "" +} + +func (x *Hdf5DataConfig) GetValueIndex() uint64 { + if x != nil { + return x.ValueIndex + } + return 0 +} + +func (x *Hdf5DataConfig) GetChannelConfig() *v1.ChannelConfig { + if x != nil { + return x.ChannelConfig + } + return nil +} + +func (x *Hdf5DataConfig) GetTimeField() string { + if x != nil && x.TimeField != nil { + return *x.TimeField + } + return "" +} + +func (x *Hdf5DataConfig) GetValueField() string { + if x != nil && x.ValueField != nil { + return *x.ValueField + } + return "" +} + +type Hdf5Config struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + AssetName string `protobuf:"bytes,1,opt,name=asset_name,json=assetName,proto3" json:"asset_name,omitempty"` + RunName string `protobuf:"bytes,2,opt,name=run_name,json=runName,proto3" json:"run_name,omitempty"` + // The id of the run to add this data to. If set, `run_name` is ignored. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + Data []*Hdf5DataConfig `protobuf:"bytes,4,rep,name=data,proto3" json:"data,omitempty"` + TimeFormat TimeFormat `protobuf:"varint,5,opt,name=time_format,json=timeFormat,proto3,enum=sift.data_imports.v2.TimeFormat" json:"time_format,omitempty"` + RelativeStartTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=relative_start_time,json=relativeStartTime,proto3,oneof" json:"relative_start_time,omitempty"` +} + +func (x *Hdf5Config) Reset() { + *x = Hdf5Config{} + if protoimpl.UnsafeEnabled { + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Hdf5Config) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Hdf5Config) ProtoMessage() {} + +func (x *Hdf5Config) ProtoReflect() protoreflect.Message { + mi := &file_sift_data_imports_v2_data_imports_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 Hdf5Config.ProtoReflect.Descriptor instead. +func (*Hdf5Config) Descriptor() ([]byte, []int) { + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{21} +} + +func (x *Hdf5Config) GetAssetName() string { + if x != nil { + return x.AssetName + } + return "" +} + +func (x *Hdf5Config) GetRunName() string { + if x != nil { + return x.RunName + } + return "" +} + +func (x *Hdf5Config) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *Hdf5Config) GetData() []*Hdf5DataConfig { + if x != nil { + return x.Data + } + return nil +} + +func (x *Hdf5Config) GetTimeFormat() TimeFormat { + if x != nil { + return x.TimeFormat + } + return TimeFormat_TIME_FORMAT_UNSPECIFIED +} + +func (x *Hdf5Config) GetRelativeStartTime() *timestamppb.Timestamp { + if x != nil { + return x.RelativeStartTime + } + return nil +} + type DataImport struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1348,6 +1842,7 @@ type DataImport struct { Ch10Config *Ch10Config `protobuf:"bytes,9,opt,name=ch10_config,json=ch10Config,proto3" json:"ch10_config,omitempty"` TdmsConfig *TDMSConfig `protobuf:"bytes,10,opt,name=tdms_config,json=tdmsConfig,proto3" json:"tdms_config,omitempty"` ParquetConfig *ParquetConfig `protobuf:"bytes,16,opt,name=parquet_config,json=parquetConfig,proto3" json:"parquet_config,omitempty"` + Hdf5Config *Hdf5Config `protobuf:"bytes,17,opt,name=hdf5_config,json=hdf5Config,proto3" json:"hdf5_config,omitempty"` // The run id will be set if the data import ingests to a run once the run is available. RunId *string `protobuf:"bytes,11,opt,name=run_id,json=runId,proto3,oneof" json:"run_id,omitempty"` // The report id will be set if the data import creates a report once the report is available. @@ -1360,7 +1855,7 @@ type DataImport struct { func (x *DataImport) Reset() { *x = DataImport{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[16] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[22] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1373,7 +1868,7 @@ func (x *DataImport) String() string { func (*DataImport) ProtoMessage() {} func (x *DataImport) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[16] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[22] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1386,7 +1881,7 @@ func (x *DataImport) ProtoReflect() protoreflect.Message { // Deprecated: Use DataImport.ProtoReflect.Descriptor instead. func (*DataImport) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{16} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{22} } func (x *DataImport) GetDataImportId() string { @@ -1459,6 +1954,13 @@ func (x *DataImport) GetParquetConfig() *ParquetConfig { return nil } +func (x *DataImport) GetHdf5Config() *Hdf5Config { + if x != nil { + return x.Hdf5Config + } + return nil +} + func (x *DataImport) GetRunId() string { if x != nil && x.RunId != nil { return *x.RunId @@ -1523,7 +2025,7 @@ type ListDataImportsRequest struct { func (x *ListDataImportsRequest) Reset() { *x = ListDataImportsRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[17] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[23] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1536,7 +2038,7 @@ func (x *ListDataImportsRequest) String() string { func (*ListDataImportsRequest) ProtoMessage() {} func (x *ListDataImportsRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[17] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[23] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1549,7 +2051,7 @@ func (x *ListDataImportsRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDataImportsRequest.ProtoReflect.Descriptor instead. func (*ListDataImportsRequest) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{17} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{23} } func (x *ListDataImportsRequest) GetPageSize() uint32 { @@ -1592,7 +2094,7 @@ type ListDataImportsResponse struct { func (x *ListDataImportsResponse) Reset() { *x = ListDataImportsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[18] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[24] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1605,7 +2107,7 @@ func (x *ListDataImportsResponse) String() string { func (*ListDataImportsResponse) ProtoMessage() {} func (x *ListDataImportsResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[18] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[24] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1618,7 +2120,7 @@ func (x *ListDataImportsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListDataImportsResponse.ProtoReflect.Descriptor instead. func (*ListDataImportsResponse) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{18} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{24} } func (x *ListDataImportsResponse) GetDataImports() []*DataImport { @@ -1648,7 +2150,7 @@ type RetryDataImportRequest struct { func (x *RetryDataImportRequest) Reset() { *x = RetryDataImportRequest{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[19] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[25] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1661,7 +2163,7 @@ func (x *RetryDataImportRequest) String() string { func (*RetryDataImportRequest) ProtoMessage() {} func (x *RetryDataImportRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[19] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[25] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1674,7 +2176,7 @@ func (x *RetryDataImportRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryDataImportRequest.ProtoReflect.Descriptor instead. func (*RetryDataImportRequest) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{19} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{25} } func (x *RetryDataImportRequest) GetDataImportId() string { @@ -1693,7 +2195,7 @@ type RetryDataImportResponse struct { func (x *RetryDataImportResponse) Reset() { *x = RetryDataImportResponse{} if protoimpl.UnsafeEnabled { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[20] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[26] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -1706,7 +2208,7 @@ func (x *RetryDataImportResponse) String() string { func (*RetryDataImportResponse) ProtoMessage() {} func (x *RetryDataImportResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[20] + mi := &file_sift_data_imports_v2_data_imports_proto_msgTypes[26] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -1719,7 +2221,7 @@ func (x *RetryDataImportResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use RetryDataImportResponse.ProtoReflect.Descriptor instead. func (*RetryDataImportResponse) Descriptor() ([]byte, []int) { - return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{20} + return file_sift_data_imports_v2_data_imports_proto_rawDescGZIP(), []int{26} } var File_sift_data_imports_v2_data_imports_proto protoreflect.FileDescriptor @@ -1740,7 +2242,7 @@ var file_sift_data_imports_v2_data_imports_proto_rawDesc = []byte{ 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, 0x0a, 0x1e, 0x43, 0x72, + 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, @@ -1762,42 +2264,51 @@ var file_sift_data_imports_v2_data_imports_proto_rawDesc = []byte{ 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, - 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x47, 0x0a, 0x1f, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, - 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x22, 0xc9, 0x02, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, + 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x68, 0x64, 0x66, + 0x35, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0x47, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, + 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x5a, 0x0a, + 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, - 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, + 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x91, 0x03, 0x0a, 0x21, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, + 0x6f, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, - 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, - 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, - 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, + 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, + 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x68, 0x64, 0x66, 0x35, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, @@ -1853,7 +2364,7 @@ var file_sift_data_imports_v2_data_imports_proto_rawDesc = []byte{ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, - 0xa2, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0xe5, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, @@ -1863,251 +2374,361 @@ var file_sift_data_imports_v2_data_imports_proto_rawDesc = []byte{ 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x0a, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, - 0xd9, 0x01, 0x0a, 0x0a, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, - 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, - 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x11, - 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, - 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, - 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x71, - 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb0, 0x01, 0x0a, - 0x18, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x69, 0x6d, - 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0b, 0x68, 0x64, 0x66, 0x35, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x22, - 0xf9, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0a, 0x68, 0x64, 0x66, + 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x0a, 0x43, 0x68, 0x31, 0x30, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x0a, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, - 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x13, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x4f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x66, 0x69, + 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, 0xca, + 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, 0x65, - 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, - 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, - 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x12, 0x6e, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, - 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, - 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xc4, 0x07, 0x0a, 0x0a, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x55, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, - 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, - 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, - 0x0b, 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, + 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x48, 0x00, 0x52, 0x11, 0x72, + 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x11, 0x50, + 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, + 0x6c, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x70, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xb0, 0x01, + 0x0a, 0x18, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, - 0x0e, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, - 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, - 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x25, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, - 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0f, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, - 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0e, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, + 0x22, 0x68, 0x0a, 0x2c, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1b, 0x0a, + 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x74, 0x68, 0x22, 0x8a, 0x01, 0x0a, 0x2d, 0x50, + 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3c, 0x0a, 0x07, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x07, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x8e, 0x03, 0x0a, 0x20, 0x50, 0x61, 0x72, 0x71, + 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, 0x0b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, + 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, + 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x07, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6c, 0x0a, 0x0e, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x69, 0x0a, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x4d, 0x75, 0x6c, 0x74, + 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, + 0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x08, + 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe8, 0x03, 0x0a, 0x0d, 0x50, 0x61, 0x72, + 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x66, + 0x6c, 0x61, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, + 0x46, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, + 0x12, 0x6d, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, + 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x13, 0x73, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x12, + 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x6f, 0x6f, + 0x74, 0x65, 0x72, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x6e, 0x0a, 0x19, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, + 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0xcc, 0x02, 0x0a, 0x0e, 0x48, 0x64, 0x66, 0x35, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, + 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x69, + 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x74, + 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x1f, 0x0a, + 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x04, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x49, + 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, 0x0a, 0x74, 0x69, 0x6d, + 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x24, 0x0a, + 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x22, 0xc3, 0x02, 0x0a, 0x0a, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, + 0x49, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x44, 0x61, 0x74, 0x61, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x0b, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, + 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x5f, 0x74, 0x69, 0x6d, 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, 0x48, 0x00, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, + 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x08, 0x0a, 0x0a, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, + 0x6c, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x69, - 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x43, 0x0a, 0x16, 0x52, 0x65, 0x74, - 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x19, - 0x0a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xf0, 0x03, 0x0a, 0x0a, 0x54, 0x69, - 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x49, 0x4d, 0x45, - 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x41, - 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x54, - 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, - 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, - 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, - 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, - 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x54, - 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, - 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x1e, 0x0a, - 0x1a, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, 0x06, 0x12, 0x20, 0x0a, - 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, - 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x46, 0x43, 0x33, 0x33, 0x33, 0x39, 0x10, 0x0a, 0x12, - 0x21, 0x0a, 0x1d, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, - 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, - 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, - 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, - 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0c, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x49, 0x4d, - 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, - 0x4e, 0x44, 0x53, 0x10, 0x0d, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, - 0x0e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4e, - 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0f, 0x2a, 0x9e, 0x01, 0x0a, - 0x0b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x19, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, - 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, - 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x44, 0x4d, 0x53, 0x10, 0x02, 0x12, 0x16, - 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, - 0x43, 0x48, 0x31, 0x30, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, - 0x46, 0x4c, 0x41, 0x54, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x10, 0x04, 0x2a, 0x8b, 0x02, - 0x0a, 0x1d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, - 0x35, 0x0a, 0x2d, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, - 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, - 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, - 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, - 0x52, 0x45, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, - 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, - 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x2b, - 0x0a, 0x27, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, + 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, + 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x68, + 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, + 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, + 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x61, + 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, + 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, + 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x68, + 0x64, 0x66, 0x35, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x4c, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x0e, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0d, 0x64, 0x61, + 0x74, 0x61, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, + 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x0f, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, + 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, + 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, + 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x43, + 0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xf0, + 0x03, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, + 0x17, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x49, + 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, + 0x56, 0x45, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x01, + 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, + 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, + 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x20, + 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, + 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, + 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, + 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x53, + 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x46, 0x43, 0x33, 0x33, + 0x33, 0x39, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x54, + 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, + 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0c, 0x12, 0x2a, + 0x0a, 0x26, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, + 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, + 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0d, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x49, + 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, + 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, + 0x4e, 0x49, 0x58, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, + 0x0f, 0x2a, 0xe8, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x65, + 0x79, 0x12, 0x21, 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, + 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, + 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x44, 0x4d, + 0x53, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x48, 0x31, 0x30, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x41, 0x52, + 0x51, 0x55, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, + 0x10, 0x04, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x53, 0x49, 0x4e, 0x47, + 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x52, + 0x4f, 0x57, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x44, 0x46, 0x35, 0x10, 0x06, 0x2a, 0x8b, 0x02, 0x0a, + 0x1d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x35, + 0x0a, 0x2d, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x04, 0x2a, 0xbf, 0x01, 0x0a, 0x10, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x26, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, - 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, - 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, - 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, - 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x32, 0x92, 0x0c, - 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0x98, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x12, - 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, - 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x01, 0x92, - 0x41, 0x69, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x1a, 0x21, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x75, 0x72, 0x6c, 0x2e, 0x2a, 0x2b, + 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, + 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, + 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, 0x47, 0x4e, 0x4f, 0x52, + 0x45, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4f, 0x54, 0x48, 0x10, 0x02, 0x12, + 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, + 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x2b, 0x0a, + 0x27, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, + 0x44, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x04, 0x2a, 0xbf, 0x01, 0x0a, 0x10, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x26, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x50, 0x45, + 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x49, 0x4e, + 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, 0x03, 0x12, 0x1d, 0x0a, + 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, + 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, 0x32, 0xa3, 0x0c, 0x0a, + 0x11, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xa9, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x12, 0x34, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, + 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa0, 0x01, 0x92, 0x41, + 0x7a, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x1a, 0x32, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x68, 0x6f, + 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x61, 0x20, 0x75, 0x72, 0x6c, 0x2e, 0x2a, 0x2b, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x56, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, @@ -2223,90 +2844,111 @@ func file_sift_data_imports_v2_data_imports_proto_rawDescGZIP() []byte { } var file_sift_data_imports_v2_data_imports_proto_enumTypes = make([]protoimpl.EnumInfo, 4) -var file_sift_data_imports_v2_data_imports_proto_msgTypes = make([]protoimpl.MessageInfo, 22) +var file_sift_data_imports_v2_data_imports_proto_msgTypes = make([]protoimpl.MessageInfo, 28) var file_sift_data_imports_v2_data_imports_proto_goTypes = []interface{}{ - (TimeFormat)(0), // 0: sift.data_imports.v2.TimeFormat - (DataTypeKey)(0), // 1: sift.data_imports.v2.DataTypeKey - (ParquetComplexTypesImportMode)(0), // 2: sift.data_imports.v2.ParquetComplexTypesImportMode - (DataImportStatus)(0), // 3: sift.data_imports.v2.DataImportStatus - (*CreateDataImportFromUrlRequest)(nil), // 4: sift.data_imports.v2.CreateDataImportFromUrlRequest - (*CreateDataImportFromUrlResponse)(nil), // 5: sift.data_imports.v2.CreateDataImportFromUrlResponse - (*GetDataImportRequest)(nil), // 6: sift.data_imports.v2.GetDataImportRequest - (*GetDataImportResponse)(nil), // 7: sift.data_imports.v2.GetDataImportResponse - (*CreateDataImportFromUploadRequest)(nil), // 8: sift.data_imports.v2.CreateDataImportFromUploadRequest - (*CreateDataImportFromUploadResponse)(nil), // 9: sift.data_imports.v2.CreateDataImportFromUploadResponse - (*CsvConfig)(nil), // 10: sift.data_imports.v2.CsvConfig - (*CsvTimeColumn)(nil), // 11: sift.data_imports.v2.CsvTimeColumn - (*DetectConfigRequest)(nil), // 12: sift.data_imports.v2.DetectConfigRequest - (*DetectConfigResponse)(nil), // 13: sift.data_imports.v2.DetectConfigResponse - (*Ch10Config)(nil), // 14: sift.data_imports.v2.Ch10Config - (*TDMSConfig)(nil), // 15: sift.data_imports.v2.TDMSConfig - (*ParquetTimeColumn)(nil), // 16: sift.data_imports.v2.ParquetTimeColumn - (*ParquetDataColumn)(nil), // 17: sift.data_imports.v2.ParquetDataColumn - (*ParquetFlatDatasetConfig)(nil), // 18: sift.data_imports.v2.ParquetFlatDatasetConfig - (*ParquetConfig)(nil), // 19: sift.data_imports.v2.ParquetConfig - (*DataImport)(nil), // 20: sift.data_imports.v2.DataImport - (*ListDataImportsRequest)(nil), // 21: sift.data_imports.v2.ListDataImportsRequest - (*ListDataImportsResponse)(nil), // 22: sift.data_imports.v2.ListDataImportsResponse - (*RetryDataImportRequest)(nil), // 23: sift.data_imports.v2.RetryDataImportRequest - (*RetryDataImportResponse)(nil), // 24: sift.data_imports.v2.RetryDataImportResponse - nil, // 25: sift.data_imports.v2.CsvConfig.DataColumnsEntry - (*timestamppb.Timestamp)(nil), // 26: google.protobuf.Timestamp - (*v1.ChannelConfig)(nil), // 27: sift.common.type.v1.ChannelConfig + (TimeFormat)(0), // 0: sift.data_imports.v2.TimeFormat + (DataTypeKey)(0), // 1: sift.data_imports.v2.DataTypeKey + (ParquetComplexTypesImportMode)(0), // 2: sift.data_imports.v2.ParquetComplexTypesImportMode + (DataImportStatus)(0), // 3: sift.data_imports.v2.DataImportStatus + (*CreateDataImportFromUrlRequest)(nil), // 4: sift.data_imports.v2.CreateDataImportFromUrlRequest + (*CreateDataImportFromUrlResponse)(nil), // 5: sift.data_imports.v2.CreateDataImportFromUrlResponse + (*GetDataImportRequest)(nil), // 6: sift.data_imports.v2.GetDataImportRequest + (*GetDataImportResponse)(nil), // 7: sift.data_imports.v2.GetDataImportResponse + (*CreateDataImportFromUploadRequest)(nil), // 8: sift.data_imports.v2.CreateDataImportFromUploadRequest + (*CreateDataImportFromUploadResponse)(nil), // 9: sift.data_imports.v2.CreateDataImportFromUploadResponse + (*CsvConfig)(nil), // 10: sift.data_imports.v2.CsvConfig + (*CsvTimeColumn)(nil), // 11: sift.data_imports.v2.CsvTimeColumn + (*DetectConfigRequest)(nil), // 12: sift.data_imports.v2.DetectConfigRequest + (*DetectConfigResponse)(nil), // 13: sift.data_imports.v2.DetectConfigResponse + (*Ch10Config)(nil), // 14: sift.data_imports.v2.Ch10Config + (*TDMSConfig)(nil), // 15: sift.data_imports.v2.TDMSConfig + (*ParquetTimeColumn)(nil), // 16: sift.data_imports.v2.ParquetTimeColumn + (*ParquetDataColumn)(nil), // 17: sift.data_imports.v2.ParquetDataColumn + (*ParquetColumn)(nil), // 18: sift.data_imports.v2.ParquetColumn + (*ParquetFlatDatasetConfig)(nil), // 19: sift.data_imports.v2.ParquetFlatDatasetConfig + (*ParquetSingleChannelPerRowMultiChannelConfig)(nil), // 20: sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfig + (*ParquetSingleChannelPerRowSingleChannelConfig)(nil), // 21: sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig + (*ParquetSingleChannelPerRowConfig)(nil), // 22: sift.data_imports.v2.ParquetSingleChannelPerRowConfig + (*ParquetConfig)(nil), // 23: sift.data_imports.v2.ParquetConfig + (*Hdf5DataConfig)(nil), // 24: sift.data_imports.v2.Hdf5DataConfig + (*Hdf5Config)(nil), // 25: sift.data_imports.v2.Hdf5Config + (*DataImport)(nil), // 26: sift.data_imports.v2.DataImport + (*ListDataImportsRequest)(nil), // 27: sift.data_imports.v2.ListDataImportsRequest + (*ListDataImportsResponse)(nil), // 28: sift.data_imports.v2.ListDataImportsResponse + (*RetryDataImportRequest)(nil), // 29: sift.data_imports.v2.RetryDataImportRequest + (*RetryDataImportResponse)(nil), // 30: sift.data_imports.v2.RetryDataImportResponse + nil, // 31: sift.data_imports.v2.CsvConfig.DataColumnsEntry + (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp + (*v1.ChannelConfig)(nil), // 33: sift.common.type.v1.ChannelConfig } var file_sift_data_imports_v2_data_imports_proto_depIdxs = []int32{ 10, // 0: sift.data_imports.v2.CreateDataImportFromUrlRequest.csv_config:type_name -> sift.data_imports.v2.CsvConfig 14, // 1: sift.data_imports.v2.CreateDataImportFromUrlRequest.ch10_config:type_name -> sift.data_imports.v2.Ch10Config 15, // 2: sift.data_imports.v2.CreateDataImportFromUrlRequest.tdms_config:type_name -> sift.data_imports.v2.TDMSConfig - 19, // 3: sift.data_imports.v2.CreateDataImportFromUrlRequest.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig - 20, // 4: sift.data_imports.v2.GetDataImportResponse.data_import:type_name -> sift.data_imports.v2.DataImport - 10, // 5: sift.data_imports.v2.CreateDataImportFromUploadRequest.csv_config:type_name -> sift.data_imports.v2.CsvConfig - 14, // 6: sift.data_imports.v2.CreateDataImportFromUploadRequest.ch10_config:type_name -> sift.data_imports.v2.Ch10Config - 15, // 7: sift.data_imports.v2.CreateDataImportFromUploadRequest.tdms_config:type_name -> sift.data_imports.v2.TDMSConfig - 19, // 8: sift.data_imports.v2.CreateDataImportFromUploadRequest.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig - 11, // 9: sift.data_imports.v2.CsvConfig.time_column:type_name -> sift.data_imports.v2.CsvTimeColumn - 25, // 10: sift.data_imports.v2.CsvConfig.data_columns:type_name -> sift.data_imports.v2.CsvConfig.DataColumnsEntry - 0, // 11: sift.data_imports.v2.CsvTimeColumn.format:type_name -> sift.data_imports.v2.TimeFormat - 26, // 12: sift.data_imports.v2.CsvTimeColumn.relative_start_time:type_name -> google.protobuf.Timestamp - 1, // 13: sift.data_imports.v2.DetectConfigRequest.type:type_name -> sift.data_imports.v2.DataTypeKey - 10, // 14: sift.data_imports.v2.DetectConfigResponse.csv_config:type_name -> sift.data_imports.v2.CsvConfig - 19, // 15: sift.data_imports.v2.DetectConfigResponse.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig - 26, // 16: sift.data_imports.v2.TDMSConfig.start_time_override:type_name -> google.protobuf.Timestamp - 0, // 17: sift.data_imports.v2.ParquetTimeColumn.format:type_name -> sift.data_imports.v2.TimeFormat - 26, // 18: sift.data_imports.v2.ParquetTimeColumn.relative_start_time:type_name -> google.protobuf.Timestamp - 27, // 19: sift.data_imports.v2.ParquetDataColumn.channel_config:type_name -> sift.common.type.v1.ChannelConfig - 16, // 20: sift.data_imports.v2.ParquetFlatDatasetConfig.time_column:type_name -> sift.data_imports.v2.ParquetTimeColumn - 17, // 21: sift.data_imports.v2.ParquetFlatDatasetConfig.data_columns:type_name -> sift.data_imports.v2.ParquetDataColumn - 18, // 22: sift.data_imports.v2.ParquetConfig.flat_dataset:type_name -> sift.data_imports.v2.ParquetFlatDatasetConfig - 2, // 23: sift.data_imports.v2.ParquetConfig.complex_types_import_mode:type_name -> sift.data_imports.v2.ParquetComplexTypesImportMode - 3, // 24: sift.data_imports.v2.DataImport.status:type_name -> sift.data_imports.v2.DataImportStatus - 26, // 25: sift.data_imports.v2.DataImport.created_date:type_name -> google.protobuf.Timestamp - 26, // 26: sift.data_imports.v2.DataImport.modified_date:type_name -> google.protobuf.Timestamp - 10, // 27: sift.data_imports.v2.DataImport.csv_config:type_name -> sift.data_imports.v2.CsvConfig - 14, // 28: sift.data_imports.v2.DataImport.ch10_config:type_name -> sift.data_imports.v2.Ch10Config - 15, // 29: sift.data_imports.v2.DataImport.tdms_config:type_name -> sift.data_imports.v2.TDMSConfig - 19, // 30: sift.data_imports.v2.DataImport.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig - 26, // 31: sift.data_imports.v2.DataImport.data_start_time:type_name -> google.protobuf.Timestamp - 26, // 32: sift.data_imports.v2.DataImport.data_stop_time:type_name -> google.protobuf.Timestamp - 20, // 33: sift.data_imports.v2.ListDataImportsResponse.data_imports:type_name -> sift.data_imports.v2.DataImport - 27, // 34: sift.data_imports.v2.CsvConfig.DataColumnsEntry.value:type_name -> sift.common.type.v1.ChannelConfig - 4, // 35: sift.data_imports.v2.DataImportService.CreateDataImportFromUrl:input_type -> sift.data_imports.v2.CreateDataImportFromUrlRequest - 8, // 36: sift.data_imports.v2.DataImportService.CreateDataImportFromUpload:input_type -> sift.data_imports.v2.CreateDataImportFromUploadRequest - 12, // 37: sift.data_imports.v2.DataImportService.DetectConfig:input_type -> sift.data_imports.v2.DetectConfigRequest - 21, // 38: sift.data_imports.v2.DataImportService.ListDataImports:input_type -> sift.data_imports.v2.ListDataImportsRequest - 23, // 39: sift.data_imports.v2.DataImportService.RetryDataImport:input_type -> sift.data_imports.v2.RetryDataImportRequest - 6, // 40: sift.data_imports.v2.DataImportService.GetDataImport:input_type -> sift.data_imports.v2.GetDataImportRequest - 5, // 41: sift.data_imports.v2.DataImportService.CreateDataImportFromUrl:output_type -> sift.data_imports.v2.CreateDataImportFromUrlResponse - 9, // 42: sift.data_imports.v2.DataImportService.CreateDataImportFromUpload:output_type -> sift.data_imports.v2.CreateDataImportFromUploadResponse - 13, // 43: sift.data_imports.v2.DataImportService.DetectConfig:output_type -> sift.data_imports.v2.DetectConfigResponse - 22, // 44: sift.data_imports.v2.DataImportService.ListDataImports:output_type -> sift.data_imports.v2.ListDataImportsResponse - 24, // 45: sift.data_imports.v2.DataImportService.RetryDataImport:output_type -> sift.data_imports.v2.RetryDataImportResponse - 7, // 46: sift.data_imports.v2.DataImportService.GetDataImport:output_type -> sift.data_imports.v2.GetDataImportResponse - 41, // [41:47] is the sub-list for method output_type - 35, // [35:41] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name + 23, // 3: sift.data_imports.v2.CreateDataImportFromUrlRequest.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig + 25, // 4: sift.data_imports.v2.CreateDataImportFromUrlRequest.hdf5_config:type_name -> sift.data_imports.v2.Hdf5Config + 26, // 5: sift.data_imports.v2.GetDataImportResponse.data_import:type_name -> sift.data_imports.v2.DataImport + 10, // 6: sift.data_imports.v2.CreateDataImportFromUploadRequest.csv_config:type_name -> sift.data_imports.v2.CsvConfig + 14, // 7: sift.data_imports.v2.CreateDataImportFromUploadRequest.ch10_config:type_name -> sift.data_imports.v2.Ch10Config + 15, // 8: sift.data_imports.v2.CreateDataImportFromUploadRequest.tdms_config:type_name -> sift.data_imports.v2.TDMSConfig + 23, // 9: sift.data_imports.v2.CreateDataImportFromUploadRequest.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig + 25, // 10: sift.data_imports.v2.CreateDataImportFromUploadRequest.hdf5_config:type_name -> sift.data_imports.v2.Hdf5Config + 11, // 11: sift.data_imports.v2.CsvConfig.time_column:type_name -> sift.data_imports.v2.CsvTimeColumn + 31, // 12: sift.data_imports.v2.CsvConfig.data_columns:type_name -> sift.data_imports.v2.CsvConfig.DataColumnsEntry + 0, // 13: sift.data_imports.v2.CsvTimeColumn.format:type_name -> sift.data_imports.v2.TimeFormat + 32, // 14: sift.data_imports.v2.CsvTimeColumn.relative_start_time:type_name -> google.protobuf.Timestamp + 1, // 15: sift.data_imports.v2.DetectConfigRequest.type:type_name -> sift.data_imports.v2.DataTypeKey + 10, // 16: sift.data_imports.v2.DetectConfigResponse.csv_config:type_name -> sift.data_imports.v2.CsvConfig + 23, // 17: sift.data_imports.v2.DetectConfigResponse.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig + 25, // 18: sift.data_imports.v2.DetectConfigResponse.hdf5_config:type_name -> sift.data_imports.v2.Hdf5Config + 32, // 19: sift.data_imports.v2.TDMSConfig.start_time_override:type_name -> google.protobuf.Timestamp + 0, // 20: sift.data_imports.v2.ParquetTimeColumn.format:type_name -> sift.data_imports.v2.TimeFormat + 32, // 21: sift.data_imports.v2.ParquetTimeColumn.relative_start_time:type_name -> google.protobuf.Timestamp + 33, // 22: sift.data_imports.v2.ParquetDataColumn.channel_config:type_name -> sift.common.type.v1.ChannelConfig + 33, // 23: sift.data_imports.v2.ParquetColumn.column_config:type_name -> sift.common.type.v1.ChannelConfig + 16, // 24: sift.data_imports.v2.ParquetFlatDatasetConfig.time_column:type_name -> sift.data_imports.v2.ParquetTimeColumn + 17, // 25: sift.data_imports.v2.ParquetFlatDatasetConfig.data_columns:type_name -> sift.data_imports.v2.ParquetDataColumn + 33, // 26: sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig.channel:type_name -> sift.common.type.v1.ChannelConfig + 16, // 27: sift.data_imports.v2.ParquetSingleChannelPerRowConfig.time_column:type_name -> sift.data_imports.v2.ParquetTimeColumn + 18, // 28: sift.data_imports.v2.ParquetSingleChannelPerRowConfig.columns:type_name -> sift.data_imports.v2.ParquetColumn + 21, // 29: sift.data_imports.v2.ParquetSingleChannelPerRowConfig.single_channel:type_name -> sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig + 20, // 30: sift.data_imports.v2.ParquetSingleChannelPerRowConfig.multi_channel:type_name -> sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfig + 19, // 31: sift.data_imports.v2.ParquetConfig.flat_dataset:type_name -> sift.data_imports.v2.ParquetFlatDatasetConfig + 22, // 32: sift.data_imports.v2.ParquetConfig.single_channel_per_row:type_name -> sift.data_imports.v2.ParquetSingleChannelPerRowConfig + 2, // 33: sift.data_imports.v2.ParquetConfig.complex_types_import_mode:type_name -> sift.data_imports.v2.ParquetComplexTypesImportMode + 33, // 34: sift.data_imports.v2.Hdf5DataConfig.channel_config:type_name -> sift.common.type.v1.ChannelConfig + 24, // 35: sift.data_imports.v2.Hdf5Config.data:type_name -> sift.data_imports.v2.Hdf5DataConfig + 0, // 36: sift.data_imports.v2.Hdf5Config.time_format:type_name -> sift.data_imports.v2.TimeFormat + 32, // 37: sift.data_imports.v2.Hdf5Config.relative_start_time:type_name -> google.protobuf.Timestamp + 3, // 38: sift.data_imports.v2.DataImport.status:type_name -> sift.data_imports.v2.DataImportStatus + 32, // 39: sift.data_imports.v2.DataImport.created_date:type_name -> google.protobuf.Timestamp + 32, // 40: sift.data_imports.v2.DataImport.modified_date:type_name -> google.protobuf.Timestamp + 10, // 41: sift.data_imports.v2.DataImport.csv_config:type_name -> sift.data_imports.v2.CsvConfig + 14, // 42: sift.data_imports.v2.DataImport.ch10_config:type_name -> sift.data_imports.v2.Ch10Config + 15, // 43: sift.data_imports.v2.DataImport.tdms_config:type_name -> sift.data_imports.v2.TDMSConfig + 23, // 44: sift.data_imports.v2.DataImport.parquet_config:type_name -> sift.data_imports.v2.ParquetConfig + 25, // 45: sift.data_imports.v2.DataImport.hdf5_config:type_name -> sift.data_imports.v2.Hdf5Config + 32, // 46: sift.data_imports.v2.DataImport.data_start_time:type_name -> google.protobuf.Timestamp + 32, // 47: sift.data_imports.v2.DataImport.data_stop_time:type_name -> google.protobuf.Timestamp + 26, // 48: sift.data_imports.v2.ListDataImportsResponse.data_imports:type_name -> sift.data_imports.v2.DataImport + 33, // 49: sift.data_imports.v2.CsvConfig.DataColumnsEntry.value:type_name -> sift.common.type.v1.ChannelConfig + 4, // 50: sift.data_imports.v2.DataImportService.CreateDataImportFromUrl:input_type -> sift.data_imports.v2.CreateDataImportFromUrlRequest + 8, // 51: sift.data_imports.v2.DataImportService.CreateDataImportFromUpload:input_type -> sift.data_imports.v2.CreateDataImportFromUploadRequest + 12, // 52: sift.data_imports.v2.DataImportService.DetectConfig:input_type -> sift.data_imports.v2.DetectConfigRequest + 27, // 53: sift.data_imports.v2.DataImportService.ListDataImports:input_type -> sift.data_imports.v2.ListDataImportsRequest + 29, // 54: sift.data_imports.v2.DataImportService.RetryDataImport:input_type -> sift.data_imports.v2.RetryDataImportRequest + 6, // 55: sift.data_imports.v2.DataImportService.GetDataImport:input_type -> sift.data_imports.v2.GetDataImportRequest + 5, // 56: sift.data_imports.v2.DataImportService.CreateDataImportFromUrl:output_type -> sift.data_imports.v2.CreateDataImportFromUrlResponse + 9, // 57: sift.data_imports.v2.DataImportService.CreateDataImportFromUpload:output_type -> sift.data_imports.v2.CreateDataImportFromUploadResponse + 13, // 58: sift.data_imports.v2.DataImportService.DetectConfig:output_type -> sift.data_imports.v2.DetectConfigResponse + 28, // 59: sift.data_imports.v2.DataImportService.ListDataImports:output_type -> sift.data_imports.v2.ListDataImportsResponse + 30, // 60: sift.data_imports.v2.DataImportService.RetryDataImport:output_type -> sift.data_imports.v2.RetryDataImportResponse + 7, // 61: sift.data_imports.v2.DataImportService.GetDataImport:output_type -> sift.data_imports.v2.GetDataImportResponse + 56, // [56:62] is the sub-list for method output_type + 50, // [50:56] is the sub-list for method input_type + 50, // [50:50] is the sub-list for extension type_name + 50, // [50:50] is the sub-list for extension extendee + 0, // [0:50] is the sub-list for field type_name } func init() { file_sift_data_imports_v2_data_imports_proto_init() } @@ -2484,7 +3126,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParquetFlatDatasetConfig); i { + switch v := v.(*ParquetColumn); i { case 0: return &v.state case 1: @@ -2496,7 +3138,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParquetConfig); i { + switch v := v.(*ParquetFlatDatasetConfig); i { case 0: return &v.state case 1: @@ -2508,7 +3150,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DataImport); i { + switch v := v.(*ParquetSingleChannelPerRowMultiChannelConfig); i { case 0: return &v.state case 1: @@ -2520,7 +3162,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDataImportsRequest); i { + switch v := v.(*ParquetSingleChannelPerRowSingleChannelConfig); i { case 0: return &v.state case 1: @@ -2532,7 +3174,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListDataImportsResponse); i { + switch v := v.(*ParquetSingleChannelPerRowConfig); i { case 0: return &v.state case 1: @@ -2544,7 +3186,7 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RetryDataImportRequest); i { + switch v := v.(*ParquetConfig); i { case 0: return &v.state case 1: @@ -2556,6 +3198,78 @@ func file_sift_data_imports_v2_data_imports_proto_init() { } } file_sift_data_imports_v2_data_imports_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hdf5DataConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Hdf5Config); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*DataImport); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataImportsRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ListDataImportsResponse); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RetryDataImportRequest); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RetryDataImportResponse); i { case 0: return &v.state @@ -2572,17 +3286,24 @@ func file_sift_data_imports_v2_data_imports_proto_init() { file_sift_data_imports_v2_data_imports_proto_msgTypes[7].OneofWrappers = []interface{}{} file_sift_data_imports_v2_data_imports_proto_msgTypes[11].OneofWrappers = []interface{}{} file_sift_data_imports_v2_data_imports_proto_msgTypes[12].OneofWrappers = []interface{}{} - file_sift_data_imports_v2_data_imports_proto_msgTypes[15].OneofWrappers = []interface{}{ + file_sift_data_imports_v2_data_imports_proto_msgTypes[18].OneofWrappers = []interface{}{ + (*ParquetSingleChannelPerRowConfig_SingleChannel)(nil), + (*ParquetSingleChannelPerRowConfig_MultiChannel)(nil), + } + file_sift_data_imports_v2_data_imports_proto_msgTypes[19].OneofWrappers = []interface{}{ (*ParquetConfig_FlatDataset)(nil), + (*ParquetConfig_SingleChannelPerRow)(nil), } - file_sift_data_imports_v2_data_imports_proto_msgTypes[16].OneofWrappers = []interface{}{} + file_sift_data_imports_v2_data_imports_proto_msgTypes[20].OneofWrappers = []interface{}{} + file_sift_data_imports_v2_data_imports_proto_msgTypes[21].OneofWrappers = []interface{}{} + file_sift_data_imports_v2_data_imports_proto_msgTypes[22].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sift_data_imports_v2_data_imports_proto_rawDesc, NumEnums: 4, - NumMessages: 22, + NumMessages: 28, NumExtensions: 0, NumServices: 1, }, diff --git a/go/gen/sift/data_imports/v2/data_imports_vtproto.pb.go b/go/gen/sift/data_imports/v2/data_imports_vtproto.pb.go index b9720e02b..d42bef655 100644 --- a/go/gen/sift/data_imports/v2/data_imports_vtproto.pb.go +++ b/go/gen/sift/data_imports/v2/data_imports_vtproto.pb.go @@ -37,6 +37,7 @@ func (m *CreateDataImportFromUrlRequest) CloneVT() *CreateDataImportFromUrlReque r.Ch10Config = m.Ch10Config.CloneVT() r.TdmsConfig = m.TdmsConfig.CloneVT() r.ParquetConfig = m.ParquetConfig.CloneVT() + r.Hdf5Config = m.Hdf5Config.CloneVT() if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -108,6 +109,7 @@ func (m *CreateDataImportFromUploadRequest) CloneVT() *CreateDataImportFromUploa r.Ch10Config = m.Ch10Config.CloneVT() r.TdmsConfig = m.TdmsConfig.CloneVT() r.ParquetConfig = m.ParquetConfig.CloneVT() + r.Hdf5Config = m.Hdf5Config.CloneVT() if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -221,6 +223,7 @@ func (m *DetectConfigResponse) CloneVT() *DetectConfigResponse { r := new(DetectConfigResponse) r.CsvConfig = m.CsvConfig.CloneVT() r.ParquetConfig = m.ParquetConfig.CloneVT() + r.Hdf5Config = m.Hdf5Config.CloneVT() if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -318,6 +321,30 @@ func (m *ParquetDataColumn) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *ParquetColumn) CloneVT() *ParquetColumn { + if m == nil { + return (*ParquetColumn)(nil) + } + r := new(ParquetColumn) + r.Path = m.Path + if rhs := m.ColumnConfig; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *v1.ChannelConfig }); ok { + r.ColumnConfig = vtpb.CloneVT() + } else { + r.ColumnConfig = proto.Clone(rhs).(*v1.ChannelConfig) + } + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ParquetColumn) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *ParquetFlatDatasetConfig) CloneVT() *ParquetFlatDatasetConfig { if m == nil { return (*ParquetFlatDatasetConfig)(nil) @@ -342,6 +369,95 @@ func (m *ParquetFlatDatasetConfig) CloneMessageVT() proto.Message { return m.CloneVT() } +func (m *ParquetSingleChannelPerRowMultiChannelConfig) CloneVT() *ParquetSingleChannelPerRowMultiChannelConfig { + if m == nil { + return (*ParquetSingleChannelPerRowMultiChannelConfig)(nil) + } + r := new(ParquetSingleChannelPerRowMultiChannelConfig) + r.NamePath = m.NamePath + r.DataPath = m.DataPath + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ParquetSingleChannelPerRowMultiChannelConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ParquetSingleChannelPerRowSingleChannelConfig) CloneVT() *ParquetSingleChannelPerRowSingleChannelConfig { + if m == nil { + return (*ParquetSingleChannelPerRowSingleChannelConfig)(nil) + } + r := new(ParquetSingleChannelPerRowSingleChannelConfig) + r.DataPath = m.DataPath + if rhs := m.Channel; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *v1.ChannelConfig }); ok { + r.Channel = vtpb.CloneVT() + } else { + r.Channel = proto.Clone(rhs).(*v1.ChannelConfig) + } + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ParquetSingleChannelPerRowSingleChannelConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ParquetSingleChannelPerRowConfig) CloneVT() *ParquetSingleChannelPerRowConfig { + if m == nil { + return (*ParquetSingleChannelPerRowConfig)(nil) + } + r := new(ParquetSingleChannelPerRowConfig) + r.TimeColumn = m.TimeColumn.CloneVT() + if rhs := m.Columns; rhs != nil { + tmpContainer := make([]*ParquetColumn, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Columns = tmpContainer + } + if m.Config != nil { + r.Config = m.Config.(interface { + CloneVT() isParquetSingleChannelPerRowConfig_Config + }).CloneVT() + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *ParquetSingleChannelPerRowConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) CloneVT() isParquetSingleChannelPerRowConfig_Config { + if m == nil { + return (*ParquetSingleChannelPerRowConfig_SingleChannel)(nil) + } + r := new(ParquetSingleChannelPerRowConfig_SingleChannel) + r.SingleChannel = m.SingleChannel.CloneVT() + return r +} + +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) CloneVT() isParquetSingleChannelPerRowConfig_Config { + if m == nil { + return (*ParquetSingleChannelPerRowConfig_MultiChannel)(nil) + } + r := new(ParquetSingleChannelPerRowConfig_MultiChannel) + r.MultiChannel = m.MultiChannel.CloneVT() + return r +} + func (m *ParquetConfig) CloneVT() *ParquetConfig { if m == nil { return (*ParquetConfig)(nil) @@ -376,6 +492,78 @@ func (m *ParquetConfig_FlatDataset) CloneVT() isParquetConfig_Config { return r } +func (m *ParquetConfig_SingleChannelPerRow) CloneVT() isParquetConfig_Config { + if m == nil { + return (*ParquetConfig_SingleChannelPerRow)(nil) + } + r := new(ParquetConfig_SingleChannelPerRow) + r.SingleChannelPerRow = m.SingleChannelPerRow.CloneVT() + return r +} + +func (m *Hdf5DataConfig) CloneVT() *Hdf5DataConfig { + if m == nil { + return (*Hdf5DataConfig)(nil) + } + r := new(Hdf5DataConfig) + r.TimeDataset = m.TimeDataset + r.TimeIndex = m.TimeIndex + r.ValueDataset = m.ValueDataset + r.ValueIndex = m.ValueIndex + if rhs := m.ChannelConfig; rhs != nil { + if vtpb, ok := interface{}(rhs).(interface{ CloneVT() *v1.ChannelConfig }); ok { + r.ChannelConfig = vtpb.CloneVT() + } else { + r.ChannelConfig = proto.Clone(rhs).(*v1.ChannelConfig) + } + } + if rhs := m.TimeField; rhs != nil { + tmpVal := *rhs + r.TimeField = &tmpVal + } + if rhs := m.ValueField; rhs != nil { + tmpVal := *rhs + r.ValueField = &tmpVal + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Hdf5DataConfig) CloneMessageVT() proto.Message { + return m.CloneVT() +} + +func (m *Hdf5Config) CloneVT() *Hdf5Config { + if m == nil { + return (*Hdf5Config)(nil) + } + r := new(Hdf5Config) + r.AssetName = m.AssetName + r.RunName = m.RunName + r.RunId = m.RunId + r.TimeFormat = m.TimeFormat + r.RelativeStartTime = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.RelativeStartTime).CloneVT()) + if rhs := m.Data; rhs != nil { + tmpContainer := make([]*Hdf5DataConfig, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Data = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Hdf5Config) CloneMessageVT() proto.Message { + return m.CloneVT() +} + func (m *DataImport) CloneVT() *DataImport { if m == nil { return (*DataImport)(nil) @@ -391,6 +579,7 @@ func (m *DataImport) CloneVT() *DataImport { r.Ch10Config = m.Ch10Config.CloneVT() r.TdmsConfig = m.TdmsConfig.CloneVT() r.ParquetConfig = m.ParquetConfig.CloneVT() + r.Hdf5Config = m.Hdf5Config.CloneVT() r.DataStartTime = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.DataStartTime).CloneVT()) r.DataStopTime = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.DataStopTime).CloneVT()) if rhs := m.RunId; rhs != nil { @@ -514,6 +703,9 @@ func (this *CreateDataImportFromUrlRequest) EqualVT(that *CreateDataImportFromUr if !this.ParquetConfig.EqualVT(that.ParquetConfig) { return false } + if !this.Hdf5Config.EqualVT(that.Hdf5Config) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -599,6 +791,9 @@ func (this *CreateDataImportFromUploadRequest) EqualVT(that *CreateDataImportFro if !this.ParquetConfig.EqualVT(that.ParquetConfig) { return false } + if !this.Hdf5Config.EqualVT(that.Hdf5Config) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -748,6 +943,9 @@ func (this *DetectConfigResponse) EqualVT(that *DetectConfigResponse) bool { if !this.ParquetConfig.EqualVT(that.ParquetConfig) { return false } + if !this.Hdf5Config.EqualVT(that.Hdf5Config) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -865,6 +1063,32 @@ func (this *ParquetDataColumn) EqualMessageVT(thatMsg proto.Message) bool { } return this.EqualVT(that) } +func (this *ParquetColumn) EqualVT(that *ParquetColumn) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Path != that.Path { + return false + } + if equal, ok := interface{}(this.ColumnConfig).(interface{ EqualVT(*v1.ChannelConfig) bool }); ok { + if !equal.EqualVT(that.ColumnConfig) { + return false + } + } else if !proto.Equal(this.ColumnConfig, that.ColumnConfig) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ParquetColumn) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ParquetColumn) + if !ok { + return false + } + return this.EqualVT(that) +} func (this *ParquetFlatDatasetConfig) EqualVT(that *ParquetFlatDatasetConfig) bool { if this == that { return true @@ -901,7 +1125,55 @@ func (this *ParquetFlatDatasetConfig) EqualMessageVT(thatMsg proto.Message) bool } return this.EqualVT(that) } -func (this *ParquetConfig) EqualVT(that *ParquetConfig) bool { +func (this *ParquetSingleChannelPerRowMultiChannelConfig) EqualVT(that *ParquetSingleChannelPerRowMultiChannelConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.NamePath != that.NamePath { + return false + } + if this.DataPath != that.DataPath { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ParquetSingleChannelPerRowMultiChannelConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ParquetSingleChannelPerRowMultiChannelConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ParquetSingleChannelPerRowSingleChannelConfig) EqualVT(that *ParquetSingleChannelPerRowSingleChannelConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.DataPath != that.DataPath { + return false + } + if equal, ok := interface{}(this.Channel).(interface{ EqualVT(*v1.ChannelConfig) bool }); ok { + if !equal.EqualVT(that.Channel) { + return false + } + } else if !proto.Equal(this.Channel, that.Channel) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ParquetSingleChannelPerRowSingleChannelConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ParquetSingleChannelPerRowSingleChannelConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ParquetSingleChannelPerRowConfig) EqualVT(that *ParquetSingleChannelPerRowConfig) bool { if this == that { return true } else if this == nil || that == nil { @@ -914,41 +1186,43 @@ func (this *ParquetConfig) EqualVT(that *ParquetConfig) bool { return false } if !this.Config.(interface { - EqualVT(isParquetConfig_Config) bool + EqualVT(isParquetSingleChannelPerRowConfig_Config) bool }).EqualVT(that.Config) { return false } } - if this.AssetName != that.AssetName { - return false - } - if this.RunName != that.RunName { - return false - } - if this.RunId != that.RunId { - return false - } - if this.FooterOffset != that.FooterOffset { + if !this.TimeColumn.EqualVT(that.TimeColumn) { return false } - if this.FooterLength != that.FooterLength { + if len(this.Columns) != len(that.Columns) { return false } - if this.ComplexTypesImportMode != that.ComplexTypesImportMode { - return false + for i, vx := range this.Columns { + vy := that.Columns[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &ParquetColumn{} + } + if q == nil { + q = &ParquetColumn{} + } + if !p.EqualVT(q) { + return false + } + } } return string(this.unknownFields) == string(that.unknownFields) } -func (this *ParquetConfig) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ParquetConfig) +func (this *ParquetSingleChannelPerRowConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ParquetSingleChannelPerRowConfig) if !ok { return false } return this.EqualVT(that) } -func (this *ParquetConfig_FlatDataset) EqualVT(thatIface isParquetConfig_Config) bool { - that, ok := thatIface.(*ParquetConfig_FlatDataset) +func (this *ParquetSingleChannelPerRowConfig_SingleChannel) EqualVT(thatIface isParquetSingleChannelPerRowConfig_Config) bool { + that, ok := thatIface.(*ParquetSingleChannelPerRowConfig_SingleChannel) if !ok { return false } @@ -958,12 +1232,12 @@ func (this *ParquetConfig_FlatDataset) EqualVT(thatIface isParquetConfig_Config) if this == nil && that != nil || this != nil && that == nil { return false } - if p, q := this.FlatDataset, that.FlatDataset; p != q { + if p, q := this.SingleChannel, that.SingleChannel; p != q { if p == nil { - p = &ParquetFlatDatasetConfig{} + p = &ParquetSingleChannelPerRowSingleChannelConfig{} } if q == nil { - q = &ParquetFlatDatasetConfig{} + q = &ParquetSingleChannelPerRowSingleChannelConfig{} } if !p.EqualVT(q) { return false @@ -972,25 +1246,235 @@ func (this *ParquetConfig_FlatDataset) EqualVT(thatIface isParquetConfig_Config) return true } -func (this *DataImport) EqualVT(that *DataImport) bool { +func (this *ParquetSingleChannelPerRowConfig_MultiChannel) EqualVT(thatIface isParquetSingleChannelPerRowConfig_Config) bool { + that, ok := thatIface.(*ParquetSingleChannelPerRowConfig_MultiChannel) + if !ok { + return false + } if this == that { return true - } else if this == nil || that == nil { - return false } - if this.DataImportId != that.DataImportId { + if this == nil && that != nil || this != nil && that == nil { return false } - if this.SourceUrl != that.SourceUrl { + if p, q := this.MultiChannel, that.MultiChannel; p != q { + if p == nil { + p = &ParquetSingleChannelPerRowMultiChannelConfig{} + } + if q == nil { + q = &ParquetSingleChannelPerRowMultiChannelConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ParquetConfig) EqualVT(that *ParquetConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { return false } - if this.Status != that.Status { + if this.Config == nil && that.Config != nil { return false + } else if this.Config != nil { + if that.Config == nil { + return false + } + if !this.Config.(interface { + EqualVT(isParquetConfig_Config) bool + }).EqualVT(that.Config) { + return false + } } - if this.ErrorMessage != that.ErrorMessage { + if this.AssetName != that.AssetName { return false } - if !this.CsvConfig.EqualVT(that.CsvConfig) { + if this.RunName != that.RunName { + return false + } + if this.RunId != that.RunId { + return false + } + if this.FooterOffset != that.FooterOffset { + return false + } + if this.FooterLength != that.FooterLength { + return false + } + if this.ComplexTypesImportMode != that.ComplexTypesImportMode { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *ParquetConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*ParquetConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *ParquetConfig_FlatDataset) EqualVT(thatIface isParquetConfig_Config) bool { + that, ok := thatIface.(*ParquetConfig_FlatDataset) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.FlatDataset, that.FlatDataset; p != q { + if p == nil { + p = &ParquetFlatDatasetConfig{} + } + if q == nil { + q = &ParquetFlatDatasetConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *ParquetConfig_SingleChannelPerRow) EqualVT(thatIface isParquetConfig_Config) bool { + that, ok := thatIface.(*ParquetConfig_SingleChannelPerRow) + if !ok { + return false + } + if this == that { + return true + } + if this == nil && that != nil || this != nil && that == nil { + return false + } + if p, q := this.SingleChannelPerRow, that.SingleChannelPerRow; p != q { + if p == nil { + p = &ParquetSingleChannelPerRowConfig{} + } + if q == nil { + q = &ParquetSingleChannelPerRowConfig{} + } + if !p.EqualVT(q) { + return false + } + } + return true +} + +func (this *Hdf5DataConfig) EqualVT(that *Hdf5DataConfig) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.TimeDataset != that.TimeDataset { + return false + } + if this.TimeIndex != that.TimeIndex { + return false + } + if this.ValueDataset != that.ValueDataset { + return false + } + if this.ValueIndex != that.ValueIndex { + return false + } + if equal, ok := interface{}(this.ChannelConfig).(interface{ EqualVT(*v1.ChannelConfig) bool }); ok { + if !equal.EqualVT(that.ChannelConfig) { + return false + } + } else if !proto.Equal(this.ChannelConfig, that.ChannelConfig) { + return false + } + if p, q := this.TimeField, that.TimeField; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + if p, q := this.ValueField, that.ValueField; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Hdf5DataConfig) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Hdf5DataConfig) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Hdf5Config) EqualVT(that *Hdf5Config) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.AssetName != that.AssetName { + return false + } + if this.RunName != that.RunName { + return false + } + if this.RunId != that.RunId { + return false + } + if len(this.Data) != len(that.Data) { + return false + } + for i, vx := range this.Data { + vy := that.Data[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Hdf5DataConfig{} + } + if q == nil { + q = &Hdf5DataConfig{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.TimeFormat != that.TimeFormat { + return false + } + if !(*timestamppb1.Timestamp)(this.RelativeStartTime).EqualVT((*timestamppb1.Timestamp)(that.RelativeStartTime)) { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Hdf5Config) EqualMessageVT(thatMsg proto.Message) bool { + that, ok := thatMsg.(*Hdf5Config) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *DataImport) EqualVT(that *DataImport) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.DataImportId != that.DataImportId { + return false + } + if this.SourceUrl != that.SourceUrl { + return false + } + if this.Status != that.Status { + return false + } + if this.ErrorMessage != that.ErrorMessage { + return false + } + if !this.CsvConfig.EqualVT(that.CsvConfig) { return false } if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { @@ -1023,6 +1507,9 @@ func (this *DataImport) EqualVT(that *DataImport) bool { if !this.ParquetConfig.EqualVT(that.ParquetConfig) { return false } + if !this.Hdf5Config.EqualVT(that.Hdf5Config) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1434,6 +1921,16 @@ func (m *CreateDataImportFromUrlRequest) MarshalToSizedBufferVT(dAtA []byte) (in i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } if m.ParquetConfig != nil { size, err := m.ParquetConfig.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -1637,6 +2134,16 @@ func (m *CreateDataImportFromUploadRequest) MarshalToSizedBufferVT(dAtA []byte) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } if m.ParquetConfig != nil { size, err := m.ParquetConfig.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -1961,6 +2468,16 @@ func (m *DetectConfigResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } if m.ParquetConfig != nil { size, err := m.ParquetConfig.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { @@ -2227,6 +2744,68 @@ func (m *ParquetDataColumn) MarshalToSizedBufferVT(dAtA []byte) (int, error) { return len(dAtA) - i, nil } +func (m *ParquetColumn) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ParquetColumn) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ParquetColumn) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.ColumnConfig != nil { + if vtmsg, ok := interface{}(m.ColumnConfig).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ColumnConfig) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x12 + } + if len(m.Path) > 0 { + i -= len(m.Path) + copy(dAtA[i:], m.Path) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Path))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + func (m *ParquetFlatDatasetConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil @@ -2282,7 +2861,7 @@ func (m *ParquetFlatDatasetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, err return len(dAtA) - i, nil } -func (m *ParquetConfig) MarshalVT() (dAtA []byte, err error) { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2295,12 +2874,12 @@ func (m *ParquetConfig) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ParquetConfig) MarshalToVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ParquetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2312,74 +2891,86 @@ func (m *ParquetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.Config.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size + if len(m.DataPath) > 0 { + i -= len(m.DataPath) + copy(dAtA[i:], m.DataPath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataPath))) + i-- + dAtA[i] = 0x12 } - if m.ComplexTypesImportMode != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ComplexTypesImportMode)) - i-- - dAtA[i] = 0x38 - } - if m.FooterLength != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterLength)) - i-- - dAtA[i] = 0x30 - } - if m.FooterOffset != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterOffset)) - i-- - dAtA[i] = 0x28 - } - if len(m.RunId) > 0 { - i -= len(m.RunId) - copy(dAtA[i:], m.RunId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) - i-- - dAtA[i] = 0x1a - } - if len(m.RunName) > 0 { - i -= len(m.RunName) - copy(dAtA[i:], m.RunName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) - i-- - dAtA[i] = 0x12 - } - if len(m.AssetName) > 0 { - i -= len(m.AssetName) - copy(dAtA[i:], m.AssetName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) + if len(m.NamePath) > 0 { + i -= len(m.NamePath) + copy(dAtA[i:], m.NamePath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NamePath))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ParquetConfig_FlatDataset) MarshalToVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ParquetConfig_FlatDataset) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } i := len(dAtA) - if m.FlatDataset != nil { - size, err := m.FlatDataset.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Channel != nil { + if vtmsg, ok := interface{}(m.Channel).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Channel) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x12 + } + if len(m.DataPath) > 0 { + i -= len(m.DataPath) + copy(dAtA[i:], m.DataPath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataPath))) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *DataImport) MarshalVT() (dAtA []byte, err error) { + +func (m *ParquetSingleChannelPerRowConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2392,12 +2983,12 @@ func (m *DataImport) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *DataImport) MarshalToVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *DataImport) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2409,139 +3000,79 @@ func (m *DataImport) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ParquetConfig != nil { - size, err := m.ParquetConfig.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if m.DataStopTime != nil { - size, err := (*timestamppb1.Timestamp)(m.DataStopTime).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x7a - } - if m.DataStartTime != nil { - size, err := (*timestamppb1.Timestamp)(m.DataStartTime).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x72 - } - if m.AssetId != nil { - i -= len(*m.AssetId) - copy(dAtA[i:], *m.AssetId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.AssetId))) - i-- - dAtA[i] = 0x6a - } - if m.ReportId != nil { - i -= len(*m.ReportId) - copy(dAtA[i:], *m.ReportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ReportId))) - i-- - dAtA[i] = 0x62 - } - if m.RunId != nil { - i -= len(*m.RunId) - copy(dAtA[i:], *m.RunId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.RunId))) - i-- - dAtA[i] = 0x5a - } - if m.TdmsConfig != nil { - size, err := m.TdmsConfig.MarshalToSizedBufferVT(dAtA[:i]) + if vtmsg, ok := m.Config.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 } - if m.Ch10Config != nil { - size, err := m.Ch10Config.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err + if len(m.Columns) > 0 { + for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Columns[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) + if m.TimeColumn != nil { + size, err := m.TimeColumn.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x42 + dAtA[i] = 0xa } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} + +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SingleChannel != nil { + size, err := m.SingleChannel.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x3a + dAtA[i] = 0x1a } - if m.CsvConfig != nil { - size, err := m.CsvConfig.MarshalToSizedBufferVT(dAtA[:i]) + return len(dAtA) - i, nil +} +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MultiChannel != nil { + size, err := m.MultiChannel.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x32 - } - if len(m.ErrorMessage) > 0 { - i -= len(m.ErrorMessage) - copy(dAtA[i:], m.ErrorMessage) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ErrorMessage))) - i-- - dAtA[i] = 0x2a - } - if m.Status != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x20 - } - if len(m.SourceUrl) > 0 { - i -= len(m.SourceUrl) - copy(dAtA[i:], m.SourceUrl) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUrl))) - i-- - dAtA[i] = 0x1a - } - if len(m.DataImportId) > 0 { - i -= len(m.DataImportId) - copy(dAtA[i:], m.DataImportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) - i-- - dAtA[i] = 0xa + dAtA[i] = 0x22 } return len(dAtA) - i, nil } - -func (m *ListDataImportsRequest) MarshalVT() (dAtA []byte, err error) { +func (m *ParquetConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2554,12 +3085,12 @@ func (m *ListDataImportsRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ListDataImportsRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *ParquetConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ListDataImportsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *ParquetConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2571,88 +3102,93 @@ func (m *ListDataImportsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 + if vtmsg, ok := m.Config.(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) + if m.ComplexTypesImportMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ComplexTypesImportMode)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x38 } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) + if m.FooterLength != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterLength)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x30 } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) + if m.FooterOffset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterOffset)) i-- - dAtA[i] = 0x8 + dAtA[i] = 0x28 } - return len(dAtA) - i, nil -} - -func (m *ListDataImportsResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if len(m.RunId) > 0 { + i -= len(m.RunId) + copy(dAtA[i:], m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) + i-- + dAtA[i] = 0x1a } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err + if len(m.RunName) > 0 { + i -= len(m.RunName) + copy(dAtA[i:], m.RunName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) + i-- + dAtA[i] = 0x12 } - return dAtA[:n], nil + if len(m.AssetName) > 0 { + i -= len(m.AssetName) + copy(dAtA[i:], m.AssetName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *ListDataImportsResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *ParquetConfig_FlatDataset) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *ListDataImportsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } +func (m *ParquetConfig_FlatDataset) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) + if m.FlatDataset != nil { + size, err := m.FlatDataset.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x22 } - if len(m.DataImports) > 0 { - for iNdEx := len(m.DataImports) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.DataImports[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa + return len(dAtA) - i, nil +} +func (m *ParquetConfig_SingleChannelPerRow) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ParquetConfig_SingleChannelPerRow) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SingleChannelPerRow != nil { + size, err := m.SingleChannelPerRow.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 } return len(dAtA) - i, nil } - -func (m *RetryDataImportRequest) MarshalVT() (dAtA []byte, err error) { +func (m *Hdf5DataConfig) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2665,12 +3201,12 @@ func (m *RetryDataImportRequest) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RetryDataImportRequest) MarshalToVT(dAtA []byte) (int, error) { +func (m *Hdf5DataConfig) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *RetryDataImportRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Hdf5DataConfig) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2682,17 +3218,70 @@ func (m *RetryDataImportRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.DataImportId) > 0 { - i -= len(m.DataImportId) - copy(dAtA[i:], m.DataImportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + if m.ValueField != nil { + i -= len(*m.ValueField) + copy(dAtA[i:], *m.ValueField) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ValueField))) + i-- + dAtA[i] = 0x3a + } + if m.TimeField != nil { + i -= len(*m.TimeField) + copy(dAtA[i:], *m.TimeField) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.TimeField))) + i-- + dAtA[i] = 0x32 + } + if m.ChannelConfig != nil { + if vtmsg, ok := interface{}(m.ChannelConfig).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ChannelConfig) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x2a + } + if m.ValueIndex != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ValueIndex)) + i-- + dAtA[i] = 0x20 + } + if len(m.ValueDataset) > 0 { + i -= len(m.ValueDataset) + copy(dAtA[i:], m.ValueDataset) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ValueDataset))) + i-- + dAtA[i] = 0x1a + } + if m.TimeIndex != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeIndex)) + i-- + dAtA[i] = 0x10 + } + if len(m.TimeDataset) > 0 { + i -= len(m.TimeDataset) + copy(dAtA[i:], m.TimeDataset) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TimeDataset))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RetryDataImportResponse) MarshalVT() (dAtA []byte, err error) { +func (m *Hdf5Config) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2705,12 +3294,12 @@ func (m *RetryDataImportResponse) MarshalVT() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RetryDataImportResponse) MarshalToVT(dAtA []byte) (int, error) { +func (m *Hdf5Config) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *RetryDataImportResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { +func (m *Hdf5Config) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2722,28 +3311,76 @@ func (m *RetryDataImportResponse) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.RelativeStartTime != nil { + size, err := (*timestamppb1.Timestamp)(m.RelativeStartTime).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.TimeFormat != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeFormat)) + i-- + dAtA[i] = 0x28 + } + if len(m.Data) > 0 { + for iNdEx := len(m.Data) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Data[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.RunId) > 0 { + i -= len(m.RunId) + copy(dAtA[i:], m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) + i-- + dAtA[i] = 0x1a + } + if len(m.RunName) > 0 { + i -= len(m.RunName) + copy(dAtA[i:], m.RunName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) + i-- + dAtA[i] = 0x12 + } + if len(m.AssetName) > 0 { + i -= len(m.AssetName) + copy(dAtA[i:], m.AssetName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) + i-- + dAtA[i] = 0xa + } return len(dAtA) - i, nil } -func (m *CreateDataImportFromUrlRequest) MarshalVTStrict() (dAtA []byte, err error) { +func (m *DataImport) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } size := m.SizeVT() dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) if err != nil { return nil, err } return dAtA[:n], nil } -func (m *CreateDataImportFromUrlRequest) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *DataImport) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *CreateDataImportFromUrlRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *DataImport) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2755,77 +3392,171 @@ func (m *CreateDataImportFromUrlRequest) MarshalToSizedBufferVTStrict(dAtA []byt i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ParquetConfig != nil { - size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x2a + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a } - if m.TdmsConfig != nil { - size, err := m.TdmsConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.ParquetConfig != nil { + size, err := m.ParquetConfig.MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } - if m.Ch10Config != nil { - size, err := m.Ch10Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.DataStopTime != nil { + size, err := (*timestamppb1.Timestamp)(m.DataStopTime).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x7a } - if m.CsvConfig != nil { - size, err := m.CsvConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.DataStartTime != nil { + size, err := (*timestamppb1.Timestamp)(m.DataStartTime).MarshalToSizedBufferVT(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x12 + dAtA[i] = 0x72 } - if len(m.Url) > 0 { - i -= len(m.Url) - copy(dAtA[i:], m.Url) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Url))) + if m.AssetId != nil { + i -= len(*m.AssetId) + copy(dAtA[i:], *m.AssetId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.AssetId))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x6a } - return len(dAtA) - i, nil -} - -func (m *CreateDataImportFromUrlResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil + if m.ReportId != nil { + i -= len(*m.ReportId) + copy(dAtA[i:], *m.ReportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ReportId))) + i-- + dAtA[i] = 0x62 } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err + if m.RunId != nil { + i -= len(*m.RunId) + copy(dAtA[i:], *m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.RunId))) + i-- + dAtA[i] = 0x5a } - return dAtA[:n], nil -} - -func (m *CreateDataImportFromUrlResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateDataImportFromUrlResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil + if m.TdmsConfig != nil { + size, err := m.TdmsConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 + } + if m.Ch10Config != nil { + size, err := m.Ch10Config.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a + } + if m.ModifiedDate != nil { + size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + if m.CreatedDate != nil { + size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a + } + if m.CsvConfig != nil { + size, err := m.CsvConfig.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if len(m.ErrorMessage) > 0 { + i -= len(m.ErrorMessage) + copy(dAtA[i:], m.ErrorMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ErrorMessage))) + i-- + dAtA[i] = 0x2a + } + if m.Status != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x20 + } + if len(m.SourceUrl) > 0 { + i -= len(m.SourceUrl) + copy(dAtA[i:], m.SourceUrl) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUrl))) + i-- + dAtA[i] = 0x1a + } + if len(m.DataImportId) > 0 { + i -= len(m.DataImportId) + copy(dAtA[i:], m.DataImportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *ListDataImportsRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ListDataImportsRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *ListDataImportsRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil } i := len(dAtA) _ = i @@ -2835,35 +3566,106 @@ func (m *CreateDataImportFromUrlResponse) MarshalToSizedBufferVTStrict(dAtA []by i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.DataImportId) > 0 { - i -= len(m.DataImportId) - copy(dAtA[i:], m.DataImportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + if len(m.OrderBy) > 0 { + i -= len(m.OrderBy) + copy(dAtA[i:], m.OrderBy) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) i-- - dAtA[i] = 0xa + dAtA[i] = 0x22 + } + if len(m.Filter) > 0 { + i -= len(m.Filter) + copy(dAtA[i:], m.Filter) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) + i-- + dAtA[i] = 0x1a + } + if len(m.PageToken) > 0 { + i -= len(m.PageToken) + copy(dAtA[i:], m.PageToken) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) + i-- + dAtA[i] = 0x12 + } + if m.PageSize != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) + i-- + dAtA[i] = 0x8 } return len(dAtA) - i, nil } -func (m *GetDataImportRequest) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ListDataImportsResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } size := m.SizeVT() dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) if err != nil { return nil, err } return dAtA[:n], nil } -func (m *GetDataImportRequest) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ListDataImportsResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *GetDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ListDataImportsResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.NextPageToken) > 0 { + i -= len(m.NextPageToken) + copy(dAtA[i:], m.NextPageToken) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) + i-- + dAtA[i] = 0x12 + } + if len(m.DataImports) > 0 { + for iNdEx := len(m.DataImports) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.DataImports[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *RetryDataImportRequest) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RetryDataImportRequest) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *RetryDataImportRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2885,25 +3687,25 @@ func (m *GetDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e return len(dAtA) - i, nil } -func (m *GetDataImportResponse) MarshalVTStrict() (dAtA []byte, err error) { +func (m *RetryDataImportResponse) MarshalVT() (dAtA []byte, err error) { if m == nil { return nil, nil } size := m.SizeVT() dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) if err != nil { return nil, err } return dAtA[:n], nil } -func (m *GetDataImportResponse) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *RetryDataImportResponse) MarshalToVT(dAtA []byte) (int, error) { size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) + return m.MarshalToSizedBufferVT(dAtA[:size]) } -func (m *GetDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *RetryDataImportResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2915,20 +3717,10 @@ func (m *GetDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.DataImport != nil { - size, err := m.DataImport.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } return len(dAtA) - i, nil } -func (m *CreateDataImportFromUploadRequest) MarshalVTStrict() (dAtA []byte, err error) { +func (m *CreateDataImportFromUrlRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -2941,12 +3733,12 @@ func (m *CreateDataImportFromUploadRequest) MarshalVTStrict() (dAtA []byte, err return dAtA[:n], nil } -func (m *CreateDataImportFromUploadRequest) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *CreateDataImportFromUrlRequest) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *CreateDataImportFromUploadRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *CreateDataImportFromUrlRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -2958,6 +3750,16 @@ func (m *CreateDataImportFromUploadRequest) MarshalToSizedBufferVTStrict(dAtA [] i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } if m.ParquetConfig != nil { size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -2996,12 +3798,19 @@ func (m *CreateDataImportFromUploadRequest) MarshalToSizedBufferVTStrict(dAtA [] i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- + dAtA[i] = 0x12 + } + if len(m.Url) > 0 { + i -= len(m.Url) + copy(dAtA[i:], m.Url) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Url))) + i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *CreateDataImportFromUploadResponse) MarshalVTStrict() (dAtA []byte, err error) { +func (m *CreateDataImportFromUrlResponse) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3014,12 +3823,12 @@ func (m *CreateDataImportFromUploadResponse) MarshalVTStrict() (dAtA []byte, err return dAtA[:n], nil } -func (m *CreateDataImportFromUploadResponse) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *CreateDataImportFromUrlResponse) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *CreateDataImportFromUploadResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *CreateDataImportFromUrlResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3036,19 +3845,12 @@ func (m *CreateDataImportFromUploadResponse) MarshalToSizedBufferVTStrict(dAtA [ copy(dAtA[i:], m.DataImportId) i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) i-- - dAtA[i] = 0x12 - } - if len(m.UploadUrl) > 0 { - i -= len(m.UploadUrl) - copy(dAtA[i:], m.UploadUrl) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UploadUrl))) - i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *CsvConfig) MarshalVTStrict() (dAtA []byte, err error) { +func (m *GetDataImportRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3061,12 +3863,12 @@ func (m *CsvConfig) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *CsvConfig) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *GetDataImportRequest) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *CsvConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *GetDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3078,11 +3880,224 @@ func (m *CsvConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.NumRows != nil { - i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.NumRows)) - i-- - dAtA[i] = 0x38 - } + if len(m.DataImportId) > 0 { + i -= len(m.DataImportId) + copy(dAtA[i:], m.DataImportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *GetDataImportResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *GetDataImportResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *GetDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.DataImport != nil { + size, err := m.DataImport.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CreateDataImportFromUploadRequest) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CreateDataImportFromUploadRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CreateDataImportFromUploadRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 + } + if m.ParquetConfig != nil { + size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + if m.TdmsConfig != nil { + size, err := m.TdmsConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + if m.Ch10Config != nil { + size, err := m.Ch10Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + if m.CsvConfig != nil { + size, err := m.CsvConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CreateDataImportFromUploadResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CreateDataImportFromUploadResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CreateDataImportFromUploadResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.DataImportId) > 0 { + i -= len(m.DataImportId) + copy(dAtA[i:], m.DataImportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + i-- + dAtA[i] = 0x12 + } + if len(m.UploadUrl) > 0 { + i -= len(m.UploadUrl) + copy(dAtA[i:], m.UploadUrl) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UploadUrl))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *CsvConfig) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *CsvConfig) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *CsvConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.NumRows != nil { + i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.NumRows)) + i-- + dAtA[i] = 0x38 + } if len(m.DataColumns) > 0 { for k := range m.DataColumns { v := m.DataColumns[k] @@ -3282,6 +4297,16 @@ func (m *DetectConfigResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, e i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } if m.ParquetConfig != nil { size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { @@ -3548,7 +4573,7 @@ func (m *ParquetDataColumn) MarshalToSizedBufferVTStrict(dAtA []byte) (int, erro return len(dAtA) - i, nil } -func (m *ParquetFlatDatasetConfig) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetColumn) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3561,12 +4586,12 @@ func (m *ParquetFlatDatasetConfig) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ParquetFlatDatasetConfig) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetColumn) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *ParquetFlatDatasetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetColumn) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3578,32 +4603,39 @@ func (m *ParquetFlatDatasetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (in i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.DataColumns) > 0 { - for iNdEx := len(m.DataColumns) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.DataColumns[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.ColumnConfig != nil { + if vtmsg, ok := interface{}(m.ColumnConfig).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 + } else { + encoded, err := proto.Marshal(m.ColumnConfig) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) } + i-- + dAtA[i] = 0x12 } - if m.TimeColumn != nil { - size, err := m.TimeColumn.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + if len(m.Path) > 0 { + i -= len(m.Path) + copy(dAtA[i:], m.Path) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Path))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ParquetConfig) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetFlatDatasetConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3616,12 +4648,12 @@ func (m *ParquetConfig) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ParquetConfig) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetFlatDatasetConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *ParquetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetFlatDatasetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3633,72 +4665,32 @@ func (m *ParquetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ComplexTypesImportMode != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ComplexTypesImportMode)) - i-- - dAtA[i] = 0x38 - } - if m.FooterLength != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterLength)) - i-- - dAtA[i] = 0x30 - } - if m.FooterOffset != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterOffset)) - i-- - dAtA[i] = 0x28 - } - if msg, ok := m.Config.(*ParquetConfig_FlatDataset); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err + if len(m.DataColumns) > 0 { + for iNdEx := len(m.DataColumns) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.DataColumns[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x12 } - i -= size - } - if len(m.RunId) > 0 { - i -= len(m.RunId) - copy(dAtA[i:], m.RunId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) - i-- - dAtA[i] = 0x1a - } - if len(m.RunName) > 0 { - i -= len(m.RunName) - copy(dAtA[i:], m.RunName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) - i-- - dAtA[i] = 0x12 - } - if len(m.AssetName) > 0 { - i -= len(m.AssetName) - copy(dAtA[i:], m.AssetName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) - i-- - dAtA[i] = 0xa } - return len(dAtA) - i, nil -} - -func (m *ParquetConfig_FlatDataset) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ParquetConfig_FlatDataset) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - if m.FlatDataset != nil { - size, err := m.FlatDataset.MarshalToSizedBufferVTStrict(dAtA[:i]) + if m.TimeColumn != nil { + size, err := m.TimeColumn.MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0x22 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *DataImport) MarshalVTStrict() (dAtA []byte, err error) { + +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3711,12 +4703,12 @@ func (m *DataImport) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *DataImport) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *DataImport) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3728,139 +4720,24 @@ func (m *DataImport) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if m.ParquetConfig != nil { - size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1 - i-- - dAtA[i] = 0x82 - } - if m.DataStopTime != nil { - size, err := (*timestamppb1.Timestamp)(m.DataStopTime).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x7a - } - if m.DataStartTime != nil { - size, err := (*timestamppb1.Timestamp)(m.DataStartTime).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x72 - } - if m.AssetId != nil { - i -= len(*m.AssetId) - copy(dAtA[i:], *m.AssetId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.AssetId))) - i-- - dAtA[i] = 0x6a - } - if m.ReportId != nil { - i -= len(*m.ReportId) - copy(dAtA[i:], *m.ReportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ReportId))) - i-- - dAtA[i] = 0x62 - } - if m.RunId != nil { - i -= len(*m.RunId) - copy(dAtA[i:], *m.RunId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.RunId))) - i-- - dAtA[i] = 0x5a - } - if m.TdmsConfig != nil { - size, err := m.TdmsConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.Ch10Config != nil { - size, err := m.Ch10Config.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if m.CsvConfig != nil { - size, err := m.CsvConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if len(m.ErrorMessage) > 0 { - i -= len(m.ErrorMessage) - copy(dAtA[i:], m.ErrorMessage) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ErrorMessage))) - i-- - dAtA[i] = 0x2a - } - if m.Status != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status)) - i-- - dAtA[i] = 0x20 - } - if len(m.SourceUrl) > 0 { - i -= len(m.SourceUrl) - copy(dAtA[i:], m.SourceUrl) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUrl))) + if len(m.DataPath) > 0 { + i -= len(m.DataPath) + copy(dAtA[i:], m.DataPath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataPath))) i-- - dAtA[i] = 0x1a + dAtA[i] = 0x12 } - if len(m.DataImportId) > 0 { - i -= len(m.DataImportId) - copy(dAtA[i:], m.DataImportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + if len(m.NamePath) > 0 { + i -= len(m.NamePath) + copy(dAtA[i:], m.NamePath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NamePath))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ListDataImportsRequest) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3873,12 +4750,12 @@ func (m *ListDataImportsRequest) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ListDataImportsRequest) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *ListDataImportsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3890,36 +4767,39 @@ func (m *ListDataImportsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) + if m.Channel != nil { + if vtmsg, ok := interface{}(m.Channel).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.Channel) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } i-- dAtA[i] = 0x12 } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) + if len(m.DataPath) > 0 { + i -= len(m.DataPath) + copy(dAtA[i:], m.DataPath) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataPath))) i-- - dAtA[i] = 0x8 + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *ListDataImportsResponse) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetSingleChannelPerRowConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3932,12 +4812,12 @@ func (m *ListDataImportsResponse) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *ListDataImportsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *ListDataImportsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetSingleChannelPerRowConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -3949,29 +4829,84 @@ func (m *ListDataImportsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 + if msg, ok := m.Config.(*ParquetSingleChannelPerRowConfig_MultiChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size } - if len(m.DataImports) > 0 { - for iNdEx := len(m.DataImports) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.DataImports[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if msg, ok := m.Config.(*ParquetSingleChannelPerRowConfig_SingleChannel); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if len(m.Columns) > 0 { + for iNdEx := len(m.Columns) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Columns[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) if err != nil { return 0, err } i -= size i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) i-- - dAtA[i] = 0xa + dAtA[i] = 0x12 + } + } + if m.TimeColumn != nil { + size, err := m.TimeColumn.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RetryDataImportRequest) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SingleChannel != nil { + size, err := m.SingleChannel.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1a + } + return len(dAtA) - i, nil +} +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.MultiChannel != nil { + size, err := m.MultiChannel.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} +func (m *ParquetConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -3984,12 +4919,12 @@ func (m *RetryDataImportRequest) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RetryDataImportRequest) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *ParquetConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *RetryDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *ParquetConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4001,17 +4936,98 @@ func (m *RetryDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - if len(m.DataImportId) > 0 { - i -= len(m.DataImportId) - copy(dAtA[i:], m.DataImportId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + if msg, ok := m.Config.(*ParquetConfig_SingleChannelPerRow); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if m.ComplexTypesImportMode != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ComplexTypesImportMode)) + i-- + dAtA[i] = 0x38 + } + if m.FooterLength != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterLength)) + i-- + dAtA[i] = 0x30 + } + if m.FooterOffset != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.FooterOffset)) + i-- + dAtA[i] = 0x28 + } + if msg, ok := m.Config.(*ParquetConfig_FlatDataset); ok { + size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + } + if len(m.RunId) > 0 { + i -= len(m.RunId) + copy(dAtA[i:], m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) + i-- + dAtA[i] = 0x1a + } + if len(m.RunName) > 0 { + i -= len(m.RunName) + copy(dAtA[i:], m.RunName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) + i-- + dAtA[i] = 0x12 + } + if len(m.AssetName) > 0 { + i -= len(m.AssetName) + copy(dAtA[i:], m.AssetName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) i-- dAtA[i] = 0xa } return len(dAtA) - i, nil } -func (m *RetryDataImportResponse) MarshalVTStrict() (dAtA []byte, err error) { +func (m *ParquetConfig_FlatDataset) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ParquetConfig_FlatDataset) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.FlatDataset != nil { + size, err := m.FlatDataset.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 + } + return len(dAtA) - i, nil +} +func (m *ParquetConfig_SingleChannelPerRow) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ParquetConfig_SingleChannelPerRow) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + i := len(dAtA) + if m.SingleChannelPerRow != nil { + size, err := m.SingleChannelPerRow.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 + } + return len(dAtA) - i, nil +} +func (m *Hdf5DataConfig) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { return nil, nil } @@ -4024,12 +5040,12 @@ func (m *RetryDataImportResponse) MarshalVTStrict() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *RetryDataImportResponse) MarshalToVTStrict(dAtA []byte) (int, error) { +func (m *Hdf5DataConfig) MarshalToVTStrict(dAtA []byte) (int, error) { size := m.SizeVT() return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *RetryDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { +func (m *Hdf5DataConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { return 0, nil } @@ -4041,410 +5057,515 @@ func (m *RetryDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } - return len(dAtA) - i, nil -} - -func (m *CreateDataImportFromUrlRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Url) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ValueField != nil { + i -= len(*m.ValueField) + copy(dAtA[i:], *m.ValueField) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ValueField))) + i-- + dAtA[i] = 0x3a } - if m.CsvConfig != nil { - l = m.CsvConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.TimeField != nil { + i -= len(*m.TimeField) + copy(dAtA[i:], *m.TimeField) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.TimeField))) + i-- + dAtA[i] = 0x32 } - if m.Ch10Config != nil { - l = m.Ch10Config.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ChannelConfig != nil { + if vtmsg, ok := interface{}(m.ChannelConfig).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.ChannelConfig) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x2a } - if m.TdmsConfig != nil { - l = m.TdmsConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ValueIndex != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ValueIndex)) + i-- + dAtA[i] = 0x20 } - if m.ParquetConfig != nil { - l = m.ParquetConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.ValueDataset) > 0 { + i -= len(m.ValueDataset) + copy(dAtA[i:], m.ValueDataset) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ValueDataset))) + i-- + dAtA[i] = 0x1a } - n += len(m.unknownFields) - return n -} - -func (m *CreateDataImportFromUrlResponse) SizeVT() (n int) { - if m == nil { - return 0 + if m.TimeIndex != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeIndex)) + i-- + dAtA[i] = 0x10 } - var l int - _ = l - l = len(m.DataImportId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.TimeDataset) > 0 { + i -= len(m.TimeDataset) + copy(dAtA[i:], m.TimeDataset) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.TimeDataset))) + i-- + dAtA[i] = 0xa } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *GetDataImportRequest) SizeVT() (n int) { +func (m *Hdf5Config) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - l = len(m.DataImportId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *GetDataImportResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.DataImport != nil { - l = m.DataImport.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n +func (m *Hdf5Config) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *CreateDataImportFromUploadRequest) SizeVT() (n int) { +func (m *Hdf5Config) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - if m.CsvConfig != nil { - l = m.CsvConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Ch10Config != nil { - l = m.Ch10Config.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.TdmsConfig != nil { - l = m.TdmsConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ParquetConfig != nil { - l = m.ParquetConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreateDataImportFromUploadResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UploadUrl) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DataImportId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CsvConfig) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.AssetName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.RunName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.RunId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if m.FirstDataRow != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.FirstDataRow)) + if m.RelativeStartTime != nil { + size, err := (*timestamppb1.Timestamp)(m.RelativeStartTime).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } - if m.TimeColumn != nil { - l = m.TimeColumn.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.TimeFormat != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TimeFormat)) + i-- + dAtA[i] = 0x28 } - if len(m.DataColumns) > 0 { - for k, v := range m.DataColumns { - _ = k - _ = v - l = 0 - if v != nil { - if size, ok := interface{}(v).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(v) - } + if len(m.Data) > 0 { + for iNdEx := len(m.Data) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Data[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err } - l += 1 + protohelpers.SizeOfVarint(uint64(l)) - mapEntrySize := 1 + protohelpers.SizeOfVarint(uint64(k)) + l - n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x22 } } - if m.NumRows != nil { - n += 1 + protohelpers.SizeOfVarint(uint64(*m.NumRows)) - } - n += len(m.unknownFields) - return n -} - -func (m *CsvTimeColumn) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ColumnNumber != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ColumnNumber)) + if len(m.RunId) > 0 { + i -= len(m.RunId) + copy(dAtA[i:], m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunId))) + i-- + dAtA[i] = 0x1a } - if m.Format != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Format)) + if len(m.RunName) > 0 { + i -= len(m.RunName) + copy(dAtA[i:], m.RunName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RunName))) + i-- + dAtA[i] = 0x12 } - if m.RelativeStartTime != nil { - l = (*timestamppb1.Timestamp)(m.RelativeStartTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.AssetName) > 0 { + i -= len(m.AssetName) + copy(dAtA[i:], m.AssetName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.AssetName))) + i-- + dAtA[i] = 0xa } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *DetectConfigRequest) SizeVT() (n int) { +func (m *DataImport) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Data) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return nil, nil } - if m.Type != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *DetectConfigResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.CsvConfig != nil { - l = m.CsvConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ParquetConfig != nil { - l = m.ParquetConfig.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n +func (m *DataImport) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) } -func (m *Ch10Config) SizeVT() (n int) { +func (m *DataImport) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.AssetName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - l = len(m.RunName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Hdf5Config != nil { + size, err := m.Hdf5Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x8a } - if m.ScaleValues { - n += 2 + if m.ParquetConfig != nil { + size, err := m.ParquetConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0x82 } - n += len(m.unknownFields) - return n -} - -func (m *TDMSConfig) SizeVT() (n int) { - if m == nil { - return 0 + if m.DataStopTime != nil { + size, err := (*timestamppb1.Timestamp)(m.DataStopTime).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x7a } - var l int - _ = l - l = len(m.AssetName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.DataStartTime != nil { + size, err := (*timestamppb1.Timestamp)(m.DataStartTime).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x72 } - l = len(m.RunName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.AssetId != nil { + i -= len(*m.AssetId) + copy(dAtA[i:], *m.AssetId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.AssetId))) + i-- + dAtA[i] = 0x6a } - if m.StartTimeOverride != nil { - l = (*timestamppb1.Timestamp)(m.StartTimeOverride).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ReportId != nil { + i -= len(*m.ReportId) + copy(dAtA[i:], *m.ReportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.ReportId))) + i-- + dAtA[i] = 0x62 } - if m.FileSize != nil { - n += 1 + protohelpers.SizeOfVarint(uint64(*m.FileSize)) + if m.RunId != nil { + i -= len(*m.RunId) + copy(dAtA[i:], *m.RunId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.RunId))) + i-- + dAtA[i] = 0x5a } - l = len(m.RunId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.TdmsConfig != nil { + size, err := m.TdmsConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x52 } - n += len(m.unknownFields) - return n -} - -func (m *ParquetTimeColumn) SizeVT() (n int) { - if m == nil { - return 0 + if m.Ch10Config != nil { + size, err := m.Ch10Config.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x4a } - var l int - _ = l - l = len(m.Path) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ModifiedDate != nil { + size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x42 } - if m.Format != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Format)) + if m.CreatedDate != nil { + size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x3a } - if m.RelativeStartTime != nil { - l = (*timestamppb1.Timestamp)(m.RelativeStartTime).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.CsvConfig != nil { + size, err := m.CsvConfig.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x32 } - n += len(m.unknownFields) - return n -} - -func (m *ParquetDataColumn) SizeVT() (n int) { - if m == nil { - return 0 + if len(m.ErrorMessage) > 0 { + i -= len(m.ErrorMessage) + copy(dAtA[i:], m.ErrorMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ErrorMessage))) + i-- + dAtA[i] = 0x2a } - var l int - _ = l - l = len(m.Path) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.Status != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Status)) + i-- + dAtA[i] = 0x20 } - if m.ChannelConfig != nil { - if size, ok := interface{}(m.ChannelConfig).(interface { - SizeVT() int - }); ok { - l = size.SizeVT() - } else { - l = proto.Size(m.ChannelConfig) - } - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.SourceUrl) > 0 { + i -= len(m.SourceUrl) + copy(dAtA[i:], m.SourceUrl) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.SourceUrl))) + i-- + dAtA[i] = 0x1a } - n += len(m.unknownFields) - return n + if len(m.DataImportId) > 0 { + i -= len(m.DataImportId) + copy(dAtA[i:], m.DataImportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil } -func (m *ParquetFlatDatasetConfig) SizeVT() (n int) { +func (m *ListDataImportsRequest) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { - return 0 - } - var l int - _ = l - if m.TimeColumn != nil { - l = m.TimeColumn.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + return nil, nil } - if len(m.DataColumns) > 0 { - for _, e := range m.DataColumns { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - n += len(m.unknownFields) - return n + return dAtA[:n], nil } -func (m *ParquetConfig) SizeVT() (n int) { +func (m *ListDataImportsRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ListDataImportsRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.AssetName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.RunName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.RunId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - if vtmsg, ok := m.Config.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() + if len(m.OrderBy) > 0 { + i -= len(m.OrderBy) + copy(dAtA[i:], m.OrderBy) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) + i-- + dAtA[i] = 0x22 } - if m.FooterOffset != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.FooterOffset)) + if len(m.Filter) > 0 { + i -= len(m.Filter) + copy(dAtA[i:], m.Filter) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) + i-- + dAtA[i] = 0x1a } - if m.FooterLength != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.FooterLength)) + if len(m.PageToken) > 0 { + i -= len(m.PageToken) + copy(dAtA[i:], m.PageToken) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) + i-- + dAtA[i] = 0x12 } - if m.ComplexTypesImportMode != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ComplexTypesImportMode)) + if m.PageSize != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) + i-- + dAtA[i] = 0x8 } - n += len(m.unknownFields) - return n + return len(dAtA) - i, nil } -func (m *ParquetConfig_FlatDataset) SizeVT() (n int) { +func (m *ListDataImportsResponse) MarshalVTStrict() (dAtA []byte, err error) { if m == nil { - return 0 + return nil, nil } - var l int - _ = l - if m.FlatDataset != nil { - l = m.FlatDataset.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err } - return n + return dAtA[:n], nil } -func (m *DataImport) SizeVT() (n int) { + +func (m *ListDataImportsResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *ListDataImportsResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { if m == nil { - return 0 + return 0, nil } + i := len(dAtA) + _ = i var l int _ = l - l = len(m.DataImportId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) } - l = len(m.SourceUrl) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if len(m.NextPageToken) > 0 { + i -= len(m.NextPageToken) + copy(dAtA[i:], m.NextPageToken) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) + i-- + dAtA[i] = 0x12 } - if m.Status != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Status)) + if len(m.DataImports) > 0 { + for iNdEx := len(m.DataImports) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.DataImports[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } } - l = len(m.ErrorMessage) + return len(dAtA) - i, nil +} + +func (m *RetryDataImportRequest) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RetryDataImportRequest) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RetryDataImportRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.DataImportId) > 0 { + i -= len(m.DataImportId) + copy(dAtA[i:], m.DataImportId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DataImportId))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *RetryDataImportResponse) MarshalVTStrict() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *RetryDataImportResponse) MarshalToVTStrict(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVTStrict(dAtA[:size]) +} + +func (m *RetryDataImportResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + return len(dAtA) - i, nil +} + +func (m *CreateDataImportFromUrlRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Url) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } @@ -4452,14 +5573,6 @@ func (m *DataImport) SizeVT() (n int) { l = m.CsvConfig.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ModifiedDate != nil { - l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } if m.Ch10Config != nil { l = m.Ch10Config.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) @@ -4468,104 +5581,2657 @@ func (m *DataImport) SizeVT() (n int) { l = m.TdmsConfig.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.RunId != nil { - l = len(*m.RunId) + if m.ParquetConfig != nil { + l = m.ParquetConfig.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.ReportId != nil { - l = len(*m.ReportId) + if m.Hdf5Config != nil { + l = m.Hdf5Config.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.AssetId != nil { - l = len(*m.AssetId) + n += len(m.unknownFields) + return n +} + +func (m *CreateDataImportFromUrlResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DataImportId) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.DataStartTime != nil { - l = (*timestamppb1.Timestamp)(m.DataStartTime).SizeVT() + n += len(m.unknownFields) + return n +} + +func (m *GetDataImportRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DataImportId) + if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - if m.DataStopTime != nil { - l = (*timestamppb1.Timestamp)(m.DataStopTime).SizeVT() + n += len(m.unknownFields) + return n +} + +func (m *GetDataImportResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.DataImport != nil { + l = m.DataImport.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *CreateDataImportFromUploadRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CsvConfig != nil { + l = m.CsvConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Ch10Config != nil { + l = m.Ch10Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TdmsConfig != nil { + l = m.TdmsConfig.SizeVT() n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } if m.ParquetConfig != nil { l = m.ParquetConfig.SizeVT() - n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Hdf5Config != nil { + l = m.Hdf5Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } n += len(m.unknownFields) return n } -func (m *ListDataImportsRequest) SizeVT() (n int) { +func (m *CreateDataImportFromUploadResponse) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) + l = len(m.UploadUrl) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.PageToken) + l = len(m.DataImportId) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.Filter) + n += len(m.unknownFields) + return n +} + +func (m *CsvConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetName) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } - l = len(m.OrderBy) + l = len(m.RunName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunId) if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.FirstDataRow != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.FirstDataRow)) + } + if m.TimeColumn != nil { + l = m.TimeColumn.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.DataColumns) > 0 { + for k, v := range m.DataColumns { + _ = k + _ = v + l = 0 + if v != nil { + if size, ok := interface{}(v).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(v) + } + } + l += 1 + protohelpers.SizeOfVarint(uint64(l)) + mapEntrySize := 1 + protohelpers.SizeOfVarint(uint64(k)) + l + n += mapEntrySize + 1 + protohelpers.SizeOfVarint(uint64(mapEntrySize)) + } + } + if m.NumRows != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.NumRows)) + } n += len(m.unknownFields) return n } -func (m *ListDataImportsResponse) SizeVT() (n int) { +func (m *CsvTimeColumn) SizeVT() (n int) { if m == nil { return 0 } var l int _ = l - if len(m.DataImports) > 0 { - for _, e := range m.DataImports { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + if m.ColumnNumber != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ColumnNumber)) + } + if m.Format != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Format)) + } + if m.RelativeStartTime != nil { + l = (*timestamppb1.Timestamp)(m.RelativeStartTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *DetectConfigRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Data) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Type != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) + } + n += len(m.unknownFields) + return n +} + +func (m *DetectConfigResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.CsvConfig != nil { + l = m.CsvConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ParquetConfig != nil { + l = m.ParquetConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Hdf5Config != nil { + l = m.Hdf5Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Ch10Config) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ScaleValues { + n += 2 + } + n += len(m.unknownFields) + return n +} + +func (m *TDMSConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.StartTimeOverride != nil { + l = (*timestamppb1.Timestamp)(m.StartTimeOverride).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.FileSize != nil { + n += 1 + protohelpers.SizeOfVarint(uint64(*m.FileSize)) + } + l = len(m.RunId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetTimeColumn) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Path) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Format != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Format)) + } + if m.RelativeStartTime != nil { + l = (*timestamppb1.Timestamp)(m.RelativeStartTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetDataColumn) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Path) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ChannelConfig != nil { + if size, ok := interface{}(m.ChannelConfig).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ChannelConfig) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetColumn) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Path) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ColumnConfig != nil { + if size, ok := interface{}(m.ColumnConfig).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ColumnConfig) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetFlatDatasetConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TimeColumn != nil { + l = m.TimeColumn.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.DataColumns) > 0 { + for _, e := range m.DataColumns { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetSingleChannelPerRowMultiChannelConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.NamePath) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.DataPath) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetSingleChannelPerRowSingleChannelConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DataPath) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Channel != nil { + if size, ok := interface{}(m.Channel).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.Channel) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetSingleChannelPerRowConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.TimeColumn != nil { + l = m.TimeColumn.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Columns) > 0 { + for _, e := range m.Columns { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if vtmsg, ok := m.Config.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetSingleChannelPerRowConfig_SingleChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SingleChannel != nil { + l = m.SingleChannel.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ParquetSingleChannelPerRowConfig_MultiChannel) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.MultiChannel != nil { + l = m.MultiChannel.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ParquetConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if vtmsg, ok := m.Config.(interface{ SizeVT() int }); ok { + n += vtmsg.SizeVT() + } + if m.FooterOffset != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.FooterOffset)) + } + if m.FooterLength != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.FooterLength)) + } + if m.ComplexTypesImportMode != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ComplexTypesImportMode)) + } + n += len(m.unknownFields) + return n +} + +func (m *ParquetConfig_FlatDataset) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.FlatDataset != nil { + l = m.FlatDataset.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *ParquetConfig_SingleChannelPerRow) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.SingleChannelPerRow != nil { + l = m.SingleChannelPerRow.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + return n +} +func (m *Hdf5DataConfig) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.TimeDataset) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TimeIndex != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeIndex)) + } + l = len(m.ValueDataset) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValueIndex != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.ValueIndex)) + } + if m.ChannelConfig != nil { + if size, ok := interface{}(m.ChannelConfig).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(m.ChannelConfig) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TimeField != nil { + l = len(*m.TimeField) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ValueField != nil { + l = len(*m.ValueField) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Hdf5Config) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.AssetName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.RunId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if len(m.Data) > 0 { + for _, e := range m.Data { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + if m.TimeFormat != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.TimeFormat)) + } + if m.RelativeStartTime != nil { + l = (*timestamppb1.Timestamp)(m.RelativeStartTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *DataImport) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DataImportId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.SourceUrl) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Status != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.Status)) + } + l = len(m.ErrorMessage) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CsvConfig != nil { + l = m.CsvConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.CreatedDate != nil { + l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ModifiedDate != nil { + l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Ch10Config != nil { + l = m.Ch10Config.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.TdmsConfig != nil { + l = m.TdmsConfig.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.RunId != nil { + l = len(*m.RunId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ReportId != nil { + l = len(*m.ReportId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.AssetId != nil { + l = len(*m.AssetId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DataStartTime != nil { + l = (*timestamppb1.Timestamp)(m.DataStartTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.DataStopTime != nil { + l = (*timestamppb1.Timestamp)(m.DataStopTime).SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.ParquetConfig != nil { + l = m.ParquetConfig.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + if m.Hdf5Config != nil { + l = m.Hdf5Config.SizeVT() + n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ListDataImportsRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if m.PageSize != 0 { + n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) + } + l = len(m.PageToken) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.Filter) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + l = len(m.OrderBy) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *ListDataImportsResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.DataImports) > 0 { + for _, e := range m.DataImports { + l = e.SizeVT() + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } + l = len(m.NextPageToken) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RetryDataImportRequest) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.DataImportId) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *RetryDataImportResponse) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + n += len(m.unknownFields) + return n +} + +func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUrlRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUrlRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Url = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Ch10Config == nil { + m.Ch10Config = &Ch10Config{} + } + if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TdmsConfig == nil { + m.TdmsConfig = &TDMSConfig{} + } + if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} + } + if err := m.Hdf5Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateDataImportFromUrlResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUrlResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUrlResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DataImportId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetDataImportRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetDataImportRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DataImportId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetDataImportResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetDataImportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataImport", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DataImport == nil { + m.DataImport = &DataImport{} + } + if err := m.DataImport.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUploadRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUploadRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Ch10Config == nil { + m.Ch10Config = &Ch10Config{} + } + if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TdmsConfig == nil { + m.TdmsConfig = &TDMSConfig{} + } + if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} + } + if err := m.Hdf5Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateDataImportFromUploadResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUploadResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUploadResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field UploadUrl", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.UploadUrl = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DataImportId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CsvConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CsvConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FirstDataRow", wireType) + } + m.FirstDataRow = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FirstDataRow |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TimeColumn == nil { + m.TimeColumn = &CsvTimeColumn{} + } + if err := m.TimeColumn.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.DataColumns == nil { + m.DataColumns = make(map[uint32]*v1.ChannelConfig) + } + var mapkey uint32 + var mapvalue *v1.ChannelConfig + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapkey |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return protohelpers.ErrInvalidLength + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &v1.ChannelConfig{} + if unmarshal, ok := interface{}(mapvalue).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { + return err + } + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.DataColumns[mapkey] = mapvalue + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumRows", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NumRows = &v + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CsvTimeColumn: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CsvTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnNumber", wireType) + } + m.ColumnNumber = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ColumnNumber |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + } + m.Format = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Format |= TimeFormat(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DetectConfigRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DetectConfigRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DetectConfigRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) + if m.Data == nil { + m.Data = []byte{} + } + iNdEx = postIndex + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + } + m.Type = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Type |= DataTypeKey(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DetectConfigResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DetectConfigResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} + } + if err := m.Hdf5Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Ch10Config: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Ch10Config: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScaleValues", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ScaleValues = bool(v != 0) + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: TDMSConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: TDMSConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field StartTimeOverride", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.StartTimeOverride == nil { + m.StartTimeOverride = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.StartTimeOverride).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FileSize", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FileSize = &v + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy } } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *RetryDataImportRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DataImportId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} -func (m *RetryDataImportResponse) SizeVT() (n int) { - if m == nil { - return 0 + if iNdEx > l { + return io.ErrUnexpectedEOF } - var l int - _ = l - n += len(m.unknownFields) - return n + return nil } - -func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { +func (m *ParquetTimeColumn) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4588,15 +8254,15 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUrlRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetTimeColumn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUrlRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4624,13 +8290,13 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Url = string(dAtA[iNdEx:postIndex]) + m.Path = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) } - var msglen int + m.Format = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4640,31 +8306,14 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Format |= TimeFormat(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4691,18 +8340,69 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ch10Config == nil { - m.Ch10Config = &Ch10Config{} + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} } - if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ParquetDataColumn) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ParquetDataColumn: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ParquetDataColumn: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4712,31 +8412,27 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.TdmsConfig == nil { - m.TdmsConfig = &TDMSConfig{} - } - if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Path = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChannelConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -4763,11 +8459,19 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} + if m.ChannelConfig == nil { + m.ChannelConfig = &v1.ChannelConfig{} } - if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.ChannelConfig).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ChannelConfig); err != nil { + return err + } } iNdEx = postIndex default: @@ -4792,7 +8496,7 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CreateDataImportFromUrlResponse) UnmarshalVT(dAtA []byte) error { +func (m *ParquetColumn) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4815,15 +8519,15 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUrlResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetColumn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUrlResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetColumn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -4851,7 +8555,51 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DataImportId = string(dAtA[iNdEx:postIndex]) + m.Path = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ColumnConfig == nil { + m.ColumnConfig = &v1.ChannelConfig{} + } + if unmarshal, ok := interface{}(m.ColumnConfig).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ColumnConfig); err != nil { + return err + } + } iNdEx = postIndex default: iNdEx = preIndex @@ -4875,7 +8623,7 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *GetDataImportRequest) UnmarshalVT(dAtA []byte) error { +func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4898,17 +8646,17 @@ func (m *GetDataImportRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetDataImportRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetFlatDatasetConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetFlatDatasetConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -4918,23 +8666,61 @@ func (m *GetDataImportRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.DataImportId = string(dAtA[iNdEx:postIndex]) + if m.TimeColumn == nil { + m.TimeColumn = &ParquetTimeColumn{} + } + if err := m.TimeColumn.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.DataColumns = append(m.DataColumns, &ParquetDataColumn{}) + if err := m.DataColumns[len(m.DataColumns)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex default: iNdEx = preIndex @@ -4958,7 +8744,7 @@ func (m *GetDataImportRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *GetDataImportResponse) UnmarshalVT(dAtA []byte) error { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -4981,17 +8767,17 @@ func (m *GetDataImportResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetDataImportResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetSingleChannelPerRowMultiChannelConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetSingleChannelPerRowMultiChannelConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImport", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NamePath", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5001,27 +8787,55 @@ func (m *GetDataImportResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataImport == nil { - m.DataImport = &DataImport{} + m.NamePath = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataPath", wireType) } - if err := m.DataImport.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF } + m.DataPath = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -5045,7 +8859,7 @@ func (m *GetDataImportResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5068,17 +8882,17 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUploadRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetSingleChannelPerRowSingleChannelConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUploadRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetSingleChannelPerRowSingleChannelConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataPath", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5088,31 +8902,27 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.DataPath = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5139,16 +8949,75 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ch10Config == nil { - m.Ch10Config = &Ch10Config{} + if m.Channel == nil { + m.Channel = &v1.ChannelConfig{} } - if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Channel).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Channel); err != nil { + return err + } } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ParquetSingleChannelPerRowConfig) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ParquetSingleChannelPerRowConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ParquetSingleChannelPerRowConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5175,16 +9044,16 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TdmsConfig == nil { - m.TdmsConfig = &TDMSConfig{} + if m.TimeColumn == nil { + m.TimeColumn = &ParquetTimeColumn{} } - if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TimeColumn.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 5: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5211,69 +9080,16 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} - } - if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + m.Columns = append(m.Columns, &ParquetColumn{}) + if err := m.Columns[len(m.Columns)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateDataImportFromUploadResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUploadResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUploadResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UploadUrl", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SingleChannel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5283,29 +9099,38 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.UploadUrl = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.Config.(*ParquetSingleChannelPerRowConfig_SingleChannel); ok { + if err := oneof.SingleChannel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowSingleChannelConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetSingleChannelPerRowConfig_SingleChannel{SingleChannel: v} + } iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field MultiChannel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5315,23 +9140,32 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.DataImportId = string(dAtA[iNdEx:postIndex]) + if oneof, ok := m.Config.(*ParquetSingleChannelPerRowConfig_MultiChannel); ok { + if err := oneof.MultiChannel.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowMultiChannelConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetSingleChannelPerRowConfig_MultiChannel{MultiChannel: v} + } iNdEx = postIndex default: iNdEx = preIndex @@ -5355,7 +9189,7 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { +func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5378,10 +9212,10 @@ func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CsvConfig: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CsvConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -5481,63 +9315,8 @@ func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { m.RunId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FirstDataRow", wireType) - } - m.FirstDataRow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FirstDataRow |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.TimeColumn == nil { - m.TimeColumn = &CsvTimeColumn{} - } - if err := m.TimeColumn.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field FlatDataset", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5564,105 +9343,61 @@ func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataColumns == nil { - m.DataColumns = make(map[uint32]*v1.ChannelConfig) - } - var mapkey uint32 - var mapvalue *v1.ChannelConfig - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + if oneof, ok := m.Config.(*ParquetConfig_FlatDataset); ok { + if err := oneof.FlatDataset.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapkey |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - } else if fieldNum == 2 { - var mapmsglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapmsglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if mapmsglen < 0 { - return protohelpers.ErrInvalidLength - } - postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postmsgIndex > l { - return io.ErrUnexpectedEOF - } - mapvalue = &v1.ChannelConfig{} - if unmarshal, ok := interface{}(mapvalue).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postmsgIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { - return err - } - } - iNdEx = postmsgIndex - } else { - iNdEx = entryPreIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy + } else { + v := &ParquetFlatDatasetConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } + m.Config = &ParquetConfig_FlatDataset{FlatDataset: v} } - m.DataColumns[mapkey] = mapvalue iNdEx = postIndex + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FooterOffset", wireType) + } + m.FooterOffset = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FooterOffset |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FooterLength", wireType) + } + m.FooterLength = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.FooterLength |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NumRows", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ComplexTypesImportMode", wireType) } - var v uint64 + m.ComplexTypesImportMode = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5672,12 +9407,52 @@ func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + m.ComplexTypesImportMode |= ParquetComplexTypesImportMode(b&0x7F) << shift if b < 0x80 { break } } - m.NumRows = &v + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field SingleChannelPerRow", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Config.(*ParquetConfig_SingleChannelPerRow); ok { + if err := oneof.SingleChannelPerRow.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowConfig{} + if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetConfig_SingleChannelPerRow{SingleChannelPerRow: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -5700,7 +9475,7 @@ func (m *CsvConfig) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { +func (m *Hdf5DataConfig) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5723,17 +9498,17 @@ func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CsvTimeColumn: wiretype end group for non-group") + return fmt.Errorf("proto: Hdf5DataConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CsvTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Hdf5DataConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ColumnNumber", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeDataset", wireType) } - m.ColumnNumber = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5743,16 +9518,29 @@ func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ColumnNumber |= uint32(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.TimeDataset = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex case 2: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeIndex", wireType) } - m.Format = 0 + m.TimeIndex = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5762,16 +9550,16 @@ func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= TimeFormat(b&0x7F) << shift + m.TimeIndex |= uint64(b&0x7F) << shift if b < 0x80 { break } } case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValueDataset", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5781,84 +9569,92 @@ func (m *CsvTimeColumn) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.RelativeStartTime == nil { - m.RelativeStartTime = ×tamppb.Timestamp{} + m.ValueDataset = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ValueIndex", wireType) } - if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + m.ValueIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ValueIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ChannelConfig", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *DetectConfigRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.ChannelConfig == nil { + m.ChannelConfig = &v1.ChannelConfig{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: DetectConfigRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: DetectConfigRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if unmarshal, ok := interface{}(m.ChannelConfig).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ChannelConfig); err != nil { + return err + } + } + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeField", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5868,31 +9664,30 @@ func (m *DetectConfigRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = append(m.Data[:0], dAtA[iNdEx:postIndex]...) - if m.Data == nil { - m.Data = []byte{} - } + s := string(dAtA[iNdEx:postIndex]) + m.TimeField = &s iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValueField", wireType) } - m.Type = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -5902,11 +9697,25 @@ func (m *DetectConfigRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= DataTypeKey(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.ValueField = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -5929,7 +9738,7 @@ func (m *DetectConfigRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { +func (m *Hdf5Config) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -5952,15 +9761,111 @@ func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DetectConfigResponse: wiretype end group for non-group") + return fmt.Errorf("proto: Hdf5Config: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DetectConfigResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Hdf5Config: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.AssetName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RunId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -5987,16 +9892,33 @@ func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + m.Data = append(m.Data, &Hdf5DataConfig{}) + if err := m.Data[len(m.Data)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 2: + case 5: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeFormat", wireType) + } + m.TimeFormat = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeFormat |= TimeFormat(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6023,10 +9945,10 @@ func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} } - if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -6052,7 +9974,7 @@ func (m *DetectConfigResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { +func (m *DataImport) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6075,15 +9997,15 @@ func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: Ch10Config: wiretype end group for non-group") + return fmt.Errorf("proto: DataImport: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: Ch10Config: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DataImport: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6111,11 +10033,11 @@ func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.AssetName = string(dAtA[iNdEx:postIndex]) + m.DataImportId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SourceUrl", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6143,13 +10065,13 @@ func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RunName = string(dAtA[iNdEx:postIndex]) + m.SourceUrl = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: + case 4: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ScaleValues", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) } - var v int + m.Status = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6159,68 +10081,84 @@ func (m *Ch10Config) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + m.Status |= DataImportStatus(b&0x7F) << shift if b < 0x80 { break } } - m.ScaleValues = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - if (iNdEx + skippy) > l { + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) } - if iNdEx >= l { + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: TDMSConfig: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: TDMSConfig: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6230,29 +10168,33 @@ func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AssetName = string(dAtA[iNdEx:postIndex]) + if m.CreatedDate == nil { + m.CreatedDate = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6262,27 +10204,31 @@ func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.RunName = string(dAtA[iNdEx:postIndex]) + if m.ModifiedDate == nil { + m.ModifiedDate = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 3: + case 9: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartTimeOverride", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6309,18 +10255,18 @@ func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.StartTimeOverride == nil { - m.StartTimeOverride = ×tamppb.Timestamp{} + if m.Ch10Config == nil { + m.Ch10Config = &Ch10Config{} } - if err := (*timestamppb1.Timestamp)(m.StartTimeOverride).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FileSize", wireType) + case 10: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6330,13 +10276,29 @@ func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.FileSize = &v - case 5: + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TdmsConfig == nil { + m.TdmsConfig = &TDMSConfig{} + } + if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 11: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) } @@ -6366,62 +10328,12 @@ func (m *TDMSConfig) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RunId = string(dAtA[iNdEx:postIndex]) + s := string(dAtA[iNdEx:postIndex]) + m.RunId = &s iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ParquetTimeColumn) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ParquetTimeColumn: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 12: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ReportId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6449,13 +10361,14 @@ func (m *ParquetTimeColumn) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.Path = string(dAtA[iNdEx:postIndex]) + s := string(dAtA[iNdEx:postIndex]) + m.ReportId = &s iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + case 13: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) } - m.Format = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6465,14 +10378,28 @@ func (m *ParquetTimeColumn) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= TimeFormat(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 3: + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.AssetId = &s + iNdEx = postIndex + case 14: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataStartTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6499,69 +10426,54 @@ func (m *ParquetTimeColumn) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RelativeStartTime == nil { - m.RelativeStartTime = ×tamppb.Timestamp{} + if m.DataStartTime == nil { + m.DataStartTime = ×tamppb.Timestamp{} } - if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.DataStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataStopTime", wireType) } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ParquetDataColumn) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - if iNdEx >= l { + if postIndex > l { return io.ErrUnexpectedEOF } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if m.DataStopTime == nil { + m.DataStopTime = ×tamppb.Timestamp{} } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ParquetDataColumn: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetDataColumn: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + if err := (*timestamppb1.Timestamp)(m.DataStopTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 16: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6571,27 +10483,31 @@ func (m *ParquetDataColumn) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Path = string(dAtA[iNdEx:postIndex]) + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 2: + case 17: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ChannelConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -6618,19 +10534,11 @@ func (m *ParquetDataColumn) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ChannelConfig == nil { - m.ChannelConfig = &v1.ChannelConfig{} + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} } - if unmarshal, ok := interface{}(m.ChannelConfig).(interface { - UnmarshalVT([]byte) error - }); ok { - if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ChannelConfig); err != nil { - return err - } + if err := m.Hdf5Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex default: @@ -6655,7 +10563,7 @@ func (m *ParquetDataColumn) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { +func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6678,17 +10586,36 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ParquetFlatDatasetConfig: wiretype end group for non-group") + return fmt.Errorf("proto: ListDataImportsRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetFlatDatasetConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListDataImportsRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) + } + m.PageSize = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.PageSize |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6698,33 +10625,61 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.TimeColumn == nil { - m.TimeColumn = &ParquetTimeColumn{} + m.PageToken = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) } - if err := m.TimeColumn.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Filter = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 2: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6734,25 +10689,23 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.DataColumns = append(m.DataColumns, &ParquetDataColumn{}) - if err := m.DataColumns[len(m.DataColumns)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.OrderBy = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex default: iNdEx = preIndex @@ -6776,7 +10729,7 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { +func (m *ListDataImportsResponse) UnmarshalVT(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -6799,17 +10752,17 @@ func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ParquetConfig: wiretype end group for non-group") + return fmt.Errorf("proto: ListDataImportsResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ListDataImportsResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImports", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6819,27 +10772,29 @@ func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.AssetName = string(dAtA[iNdEx:postIndex]) + m.DataImports = append(m.DataImports, &DataImport{}) + if err := m.DataImports[len(m.DataImports)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -6867,86 +10822,64 @@ func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.RunName = string(dAtA[iNdEx:postIndex]) + m.NextPageToken = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + intStringLen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - m.RunId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FlatDataset", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RetryDataImportRequest) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if postIndex > l { + if iNdEx >= l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Config.(*ParquetConfig_FlatDataset); ok { - if err := oneof.FlatDataset.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &ParquetFlatDatasetConfig{} - if err := v.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Config = &ParquetConfig_FlatDataset{FlatDataset: v} + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FooterOffset", wireType) + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RetryDataImportRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RetryDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) } - m.FooterOffset = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -6956,49 +10889,75 @@ func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FooterOffset |= uint64(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FooterLength", wireType) + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength } - m.FooterLength = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FooterLength |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ComplexTypesImportMode", wireType) + if postIndex > l { + return io.ErrUnexpectedEOF } - m.ComplexTypesImportMode = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ComplexTypesImportMode |= ParquetComplexTypesImportMode(b&0x7F) << shift - if b < 0x80 { - break - } + m.DataImportId = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *RetryDataImportResponse) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: RetryDataImportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: RetryDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -7021,7 +10980,7 @@ func (m *ParquetConfig) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *DataImport) UnmarshalVT(dAtA []byte) error { +func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7044,15 +11003,15 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DataImport: wiretype end group for non-group") + return fmt.Errorf("proto: CreateDataImportFromUrlRequest: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DataImport: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateDataImportFromUrlRequest: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7080,13 +11039,53 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.DataImportId = string(dAtA[iNdEx:postIndex]) + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Url = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field SourceUrl", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7096,29 +11095,33 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.SourceUrl = string(dAtA[iNdEx:postIndex]) + if m.Ch10Config == nil { + m.Ch10Config = &Ch10Config{} + } + if err := m.Ch10Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Status", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) } - m.Status = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7128,16 +11131,33 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Status |= DataImportStatus(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TdmsConfig == nil { + m.TdmsConfig = &TDMSConfig{} + } + if err := m.TdmsConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ErrorMessage", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7147,27 +11167,31 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.ErrorMessage = string(dAtA[iNdEx:postIndex]) + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7194,18 +11218,69 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} } - if err := m.CsvConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Hdf5Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 7: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateDataImportFromUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUrlResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUrlResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7215,69 +11290,84 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.DataImportId = stringValue iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetDataImportRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err + if iNdEx >= l { + return io.ErrUnexpectedEOF } - iNdEx = postIndex - case 9: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetDataImportRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7287,31 +11377,82 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ch10Config == nil { - m.Ch10Config = &Ch10Config{} + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - if err := m.Ch10Config.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + m.DataImportId = stringValue + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { return err } - iNdEx = postIndex - case 10: + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *GetDataImportResponse) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: GetDataImportResponse: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: GetDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImport", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7338,51 +11479,69 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TdmsConfig == nil { - m.TdmsConfig = &TDMSConfig{} + if m.DataImport == nil { + m.DataImport = &DataImport{} } - if err := m.TdmsConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.DataImport.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - intStringLen := int(stringLen) - if intStringLen < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF } - if postIndex > l { + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { return io.ErrUnexpectedEOF } - s := string(dAtA[iNdEx:postIndex]) - m.RunId = &s - iNdEx = postIndex - case 12: + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: CreateDataImportFromUploadRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: CreateDataImportFromUploadRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7392,30 +11551,33 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - s := string(dAtA[iNdEx:postIndex]) - m.ReportId = &s + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 13: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7425,28 +11587,31 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - s := string(dAtA[iNdEx:postIndex]) - m.AssetId = &s + if m.Ch10Config == nil { + m.Ch10Config = &Ch10Config{} + } + if err := m.Ch10Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } iNdEx = postIndex - case 14: + case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataStartTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7473,16 +11638,16 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataStartTime == nil { - m.DataStartTime = ×tamppb.Timestamp{} + if m.TdmsConfig == nil { + m.TdmsConfig = &TDMSConfig{} } - if err := (*timestamppb1.Timestamp)(m.DataStartTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.TdmsConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 15: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataStopTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7509,16 +11674,16 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataStopTime == nil { - m.DataStopTime = ×tamppb.Timestamp{} + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} } - if err := (*timestamppb1.Timestamp)(m.DataStopTime).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 16: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -7545,10 +11710,10 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} } - if err := m.ParquetConfig.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + if err := m.Hdf5Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -7574,7 +11739,7 @@ func (m *DataImport) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { +func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7597,34 +11762,15 @@ func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListDataImportsRequest: wiretype end group for non-group") + return fmt.Errorf("proto: CreateDataImportFromUploadResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListDataImportsRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CreateDataImportFromUploadResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field UploadUrl", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7652,43 +11798,15 @@ func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Filter = string(dAtA[iNdEx:postIndex]) + m.UploadUrl = stringValue iNdEx = postIndex - case 4: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -7716,7 +11834,11 @@ func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - m.OrderBy = string(dAtA[iNdEx:postIndex]) + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.DataImportId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -7740,7 +11862,7 @@ func (m *ListDataImportsRequest) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *ListDataImportsResponse) UnmarshalVT(dAtA []byte) error { +func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -7763,17 +11885,125 @@ func (m *ListDataImportsResponse) UnmarshalVT(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ListDataImportsResponse: wiretype end group for non-group") + return fmt.Errorf("proto: CsvConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ListDataImportsResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CsvConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImports", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.AssetName = stringValue + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.RunName = stringValue + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.RunId = stringValue + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FirstDataRow", wireType) } - var msglen int + m.FirstDataRow = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7783,31 +12013,16 @@ func (m *ListDataImportsResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.FirstDataRow |= uint32(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DataImports = append(m.DataImports, &DataImport{}) - if err := m.DataImports[len(m.DataImports)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: + case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7817,80 +12032,33 @@ func (m *ListDataImportsResponse) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RetryDataImportRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if m.TimeColumn == nil { + m.TimeColumn = &CsvTimeColumn{} } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + if err := m.TimeColumn.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RetryDataImportRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RetryDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + iNdEx = postIndex + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -7900,75 +12068,135 @@ func (m *RetryDataImportRequest) UnmarshalVT(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.DataImportId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *RetryDataImportResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow + if m.DataColumns == nil { + m.DataColumns = make(map[uint32]*v1.ChannelConfig) } - if iNdEx >= l { - return io.ErrUnexpectedEOF + var mapkey uint32 + var mapvalue *v1.ChannelConfig + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapkey |= uint32(b&0x7F) << shift + if b < 0x80 { + break + } + } + } else if fieldNum == 2 { + var mapmsglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + mapmsglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if mapmsglen < 0 { + return protohelpers.ErrInvalidLength + } + postmsgIndex := iNdEx + mapmsglen + if postmsgIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postmsgIndex > l { + return io.ErrUnexpectedEOF + } + mapvalue = &v1.ChannelConfig{} + if unmarshal, ok := interface{}(mapvalue).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postmsgIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { + return err + } + } + iNdEx = postmsgIndex + } else { + iNdEx = entryPreIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break + m.DataColumns[mapkey] = mapvalue + iNdEx = postIndex + case 7: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field NumRows", wireType) } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: RetryDataImportResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: RetryDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.NumRows = &v default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -7991,7 +12219,7 @@ func (m *RetryDataImportResponse) UnmarshalVT(dAtA []byte) error { } return nil } -func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8014,17 +12242,17 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUrlRequest: wiretype end group for non-group") + return fmt.Errorf("proto: CsvTimeColumn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUrlRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: CsvTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnNumber", wireType) } - var stringLen uint64 + m.ColumnNumber = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8034,33 +12262,16 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.ColumnNumber |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Url = stringValue - iNdEx = postIndex case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) } - var msglen int + m.Format = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8070,31 +12281,14 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Format |= TimeFormat(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8121,18 +12315,69 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ch10Config == nil { - m.Ch10Config = &Ch10Config{} + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} } - if err := m.Ch10Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex - case 4: + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protohelpers.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: DetectConfigRequest: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: DetectConfigRequest: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } - var msglen int + var byteLen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8142,33 +12387,28 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + byteLen |= int(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + if byteLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + byteLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.TdmsConfig == nil { - m.TdmsConfig = &TDMSConfig{} - } - if err := m.TdmsConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } + m.Data = dAtA[iNdEx:postIndex] iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) } - var msglen int + m.Type = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8178,28 +12418,11 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + m.Type |= DataTypeKey(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} - } - if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -8222,7 +12445,7 @@ func (m *CreateDataImportFromUrlRequest) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CreateDataImportFromUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8245,17 +12468,17 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUrlResponse: wiretype end group for non-group") + return fmt.Errorf("proto: DetectConfigResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUrlResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: DetectConfigResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8265,27 +12488,99 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CsvConfig == nil { + m.CsvConfig = &CsvConfig{} + } + if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ParquetConfig == nil { + m.ParquetConfig = &ParquetConfig{} + } + if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} + } + if err := m.Hdf5Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.DataImportId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -8309,7 +12604,7 @@ func (m *CreateDataImportFromUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *GetDataImportRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8332,15 +12627,15 @@ func (m *GetDataImportRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: GetDataImportRequest: wiretype end group for non-group") + return fmt.Errorf("proto: Ch10Config: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: GetDataImportRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Ch10Config: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -8372,64 +12667,13 @@ func (m *GetDataImportRequest) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.DataImportId = stringValue + m.AssetName = stringValue iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetDataImportResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetDataImportResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetDataImportResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImport", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8439,28 +12683,48 @@ func (m *GetDataImportResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.DataImport == nil { - m.DataImport = &DataImport{} - } - if err := m.DataImport.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.RunName = stringValue iNdEx = postIndex + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ScaleValues", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.ScaleValues = bool(v != 0) default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -8483,7 +12747,7 @@ func (m *GetDataImportResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8506,17 +12770,17 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUploadRequest: wiretype end group for non-group") + return fmt.Errorf("proto: TDMSConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUploadRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: TDMSConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8526,33 +12790,33 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.AssetName = stringValue iNdEx = postIndex - case 3: + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Ch10Config", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8562,31 +12826,31 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.Ch10Config == nil { - m.Ch10Config = &Ch10Config{} - } - if err := m.Ch10Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.RunName = stringValue iNdEx = postIndex - case 4: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TdmsConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field StartTimeOverride", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8613,18 +12877,38 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error if postIndex > l { return io.ErrUnexpectedEOF } - if m.TdmsConfig == nil { - m.TdmsConfig = &TDMSConfig{} + if m.StartTimeOverride == nil { + m.StartTimeOverride = ×tamppb.Timestamp{} } - if err := m.TdmsConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + if err := (*timestamppb1.Timestamp)(m.StartTimeOverride).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FileSize", wireType) + } + var v uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + m.FileSize = &v case 5: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8634,27 +12918,27 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} - } - if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.RunId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -8678,7 +12962,7 @@ func (m *CreateDataImportFromUploadRequest) UnmarshalVTUnsafe(dAtA []byte) error } return nil } -func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8701,15 +12985,15 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) erro fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CreateDataImportFromUploadResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetTimeColumn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CreateDataImportFromUploadResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UploadUrl", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -8741,13 +13025,32 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) erro if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.UploadUrl = stringValue + m.Path = stringValue iNdEx = postIndex case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + } + m.Format = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Format |= TimeFormat(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataImportId", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -8757,27 +13060,27 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) erro } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.DataImportId = stringValue iNdEx = postIndex default: iNdEx = preIndex @@ -8801,7 +13104,7 @@ func (m *CreateDataImportFromUploadResponse) UnmarshalVTUnsafe(dAtA []byte) erro } return nil } -func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetDataColumn) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -8824,15 +13127,15 @@ func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CsvConfig: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetDataColumn: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CsvConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetDataColumn: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -8864,102 +13167,11 @@ func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.AssetName = stringValue + m.Path = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.RunName = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.RunId = stringValue - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FirstDataRow", wireType) - } - m.FirstDataRow = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.FirstDataRow |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ChannelConfig", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -8986,141 +13198,113 @@ func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.TimeColumn == nil { - m.TimeColumn = &CsvTimeColumn{} - } - if err := m.TimeColumn.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + if m.ChannelConfig == nil { + m.ChannelConfig = &v1.ChannelConfig{} } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF + if unmarshal, ok := interface{}(m.ChannelConfig).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ChannelConfig); err != nil { + return err } } - if msglen < 0 { - return protohelpers.ErrInvalidLength + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protohelpers.Skip(dAtA[iNdEx:]) + if err != nil { + return err } - postIndex := iNdEx + msglen - if postIndex < 0 { + if (skippy < 0) || (iNdEx+skippy) < 0 { return protohelpers.ErrInvalidLength } - if postIndex > l { + if (iNdEx + skippy) > l { return io.ErrUnexpectedEOF } - if m.DataColumns == nil { - m.DataColumns = make(map[uint32]*v1.ChannelConfig) + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ParquetColumn) UnmarshalVTUnsafe(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow } - var mapkey uint32 - var mapvalue *v1.ChannelConfig - for iNdEx < postIndex { - entryPreIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - if fieldNum == 1 { - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapkey |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - } else if fieldNum == 2 { - var mapmsglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - mapmsglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if mapmsglen < 0 { - return protohelpers.ErrInvalidLength - } - postmsgIndex := iNdEx + mapmsglen - if postmsgIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postmsgIndex > l { - return io.ErrUnexpectedEOF - } - mapvalue = &v1.ChannelConfig{} - if unmarshal, ok := interface{}(mapvalue).(interface { - UnmarshalVTUnsafe([]byte) error - }); ok { - if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postmsgIndex]); err != nil { - return err - } - } else { - if err := proto.Unmarshal(dAtA[iNdEx:postmsgIndex], mapvalue); err != nil { - return err - } - } - iNdEx = postmsgIndex - } else { - iNdEx = entryPreIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > postIndex { - return io.ErrUnexpectedEOF - } - iNdEx += skippy + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ParquetColumn: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ParquetColumn: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break } } - m.DataColumns[mapkey] = mapvalue + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.Path = stringValue iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field NumRows", wireType) + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ColumnConfig", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9130,12 +13314,36 @@ func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.NumRows = &v + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ColumnConfig == nil { + m.ColumnConfig = &v1.ChannelConfig{} + } + if unmarshal, ok := interface{}(m.ColumnConfig).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.ColumnConfig); err != nil { + return err + } + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -9158,7 +13366,7 @@ func (m *CsvConfig) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetFlatDatasetConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9181,17 +13389,17 @@ func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: CsvTimeColumn: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetFlatDatasetConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: CsvTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetFlatDatasetConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ColumnNumber", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) } - m.ColumnNumber = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9201,33 +13409,31 @@ func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.ColumnNumber |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.Format = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Format |= TimeFormat(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength } - case 3: + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TimeColumn == nil { + m.TimeColumn = &ParquetTimeColumn{} + } + if err := m.TimeColumn.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9254,10 +13460,8 @@ func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RelativeStartTime == nil { - m.RelativeStartTime = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + m.DataColumns = append(m.DataColumns, &ParquetDataColumn{}) + if err := m.DataColumns[len(m.DataColumns)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { return err } iNdEx = postIndex @@ -9283,7 +13487,7 @@ func (m *CsvTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetSingleChannelPerRowMultiChannelConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9306,17 +13510,17 @@ func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DetectConfigRequest: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetSingleChannelPerRowMultiChannelConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DetectConfigRequest: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetSingleChannelPerRowMultiChannelConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field NamePath", wireType) } - var byteLen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9326,28 +13530,33 @@ func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - byteLen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if byteLen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + byteLen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.Data = dAtA[iNdEx:postIndex] + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.NamePath = stringValue iNdEx = postIndex case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field DataPath", wireType) } - m.Type = 0 + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9357,11 +13566,28 @@ func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Type |= DataTypeKey(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.DataPath = stringValue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -9384,7 +13610,7 @@ func (m *DetectConfigRequest) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetSingleChannelPerRowSingleChannelConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9407,17 +13633,17 @@ func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: DetectConfigResponse: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetSingleChannelPerRowSingleChannelConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: DetectConfigResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetSingleChannelPerRowSingleChannelConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CsvConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field DataPath", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9427,31 +13653,31 @@ func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.CsvConfig == nil { - m.CsvConfig = &CsvConfig{} - } - if err := m.CsvConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.DataPath = stringValue iNdEx = postIndex case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ParquetConfig", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Channel", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9478,11 +13704,19 @@ func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.ParquetConfig == nil { - m.ParquetConfig = &ParquetConfig{} + if m.Channel == nil { + m.Channel = &v1.ChannelConfig{} } - if err := m.ParquetConfig.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + if unmarshal, ok := interface{}(m.Channel).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.Channel); err != nil { + return err + } } iNdEx = postIndex default: @@ -9507,7 +13741,7 @@ func (m *DetectConfigResponse) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetSingleChannelPerRowConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9526,21 +13760,57 @@ func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { if b < 0x80 { break } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Ch10Config: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Ch10Config: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ParquetSingleChannelPerRowConfig: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ParquetSingleChannelPerRowConfig: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TimeColumn == nil { + m.TimeColumn = &ParquetTimeColumn{} + } + if err := m.TimeColumn.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field AssetName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Columns", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9550,33 +13820,31 @@ func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + m.Columns = append(m.Columns, &ParquetColumn{}) + if err := m.Columns[len(m.Columns)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } - m.AssetName = stringValue iNdEx = postIndex - case 2: + case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunName", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SingleChannel", wireType) } - var stringLen uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9586,33 +13854,38 @@ func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { + if msglen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + intStringLen + postIndex := iNdEx + msglen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + if oneof, ok := m.Config.(*ParquetSingleChannelPerRowConfig_SingleChannel); ok { + if err := oneof.SingleChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowSingleChannelConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetSingleChannelPerRowConfig_SingleChannel{SingleChannel: v} } - m.RunName = stringValue iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ScaleValues", wireType) + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MultiChannel", wireType) } - var v int + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9622,12 +13895,33 @@ func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= int(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.ScaleValues = bool(v != 0) + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Config.(*ParquetSingleChannelPerRowConfig_MultiChannel); ok { + if err := oneof.MultiChannel.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowMultiChannelConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetSingleChannelPerRowConfig_MultiChannel{MultiChannel: v} + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -9650,7 +13944,7 @@ func (m *Ch10Config) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -9673,10 +13967,10 @@ func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: TDMSConfig: wiretype end group for non-group") + return fmt.Errorf("proto: ParquetConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: TDMSConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: ParquetConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -9753,9 +14047,9 @@ func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { iNdEx = postIndex case 3: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StartTimeOverride", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9765,33 +14059,33 @@ func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.StartTimeOverride == nil { - m.StartTimeOverride = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.StartTimeOverride).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + m.RunId = stringValue iNdEx = postIndex case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FileSize", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field FlatDataset", wireType) } - var v uint64 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9801,17 +14095,38 @@ func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - v |= uint64(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - m.FileSize = &v + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if oneof, ok := m.Config.(*ParquetConfig_FlatDataset); ok { + if err := oneof.FlatDataset.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetFlatDatasetConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetConfig_FlatDataset{FlatDataset: v} + } + iNdEx = postIndex case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RunId", wireType) + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FooterOffset", wireType) } - var stringLen uint64 + m.FooterOffset = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9821,84 +14136,16 @@ func (m *TDMSConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.FooterOffset |= uint64(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.RunId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ParquetTimeColumn: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetTimeColumn: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + case 6: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field FooterLength", wireType) } - var stringLen uint64 + m.FooterLength = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9908,33 +14155,16 @@ func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - stringLen |= uint64(b&0x7F) << shift + m.FooterLength |= uint32(b&0x7F) << shift if b < 0x80 { break } } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Path = stringValue - iNdEx = postIndex - case 2: + case 7: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Format", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ComplexTypesImportMode", wireType) } - m.Format = 0 + m.ComplexTypesImportMode = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -9944,14 +14174,14 @@ func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.Format |= TimeFormat(b&0x7F) << shift + m.ComplexTypesImportMode |= ParquetComplexTypesImportMode(b&0x7F) << shift if b < 0x80 { break } } - case 3: + case 8: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field SingleChannelPerRow", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -9978,11 +14208,16 @@ func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if m.RelativeStartTime == nil { - m.RelativeStartTime = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + if oneof, ok := m.Config.(*ParquetConfig_SingleChannelPerRow); ok { + if err := oneof.SingleChannelPerRow.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + v := &ParquetSingleChannelPerRowConfig{} + if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + m.Config = &ParquetConfig_SingleChannelPerRow{SingleChannelPerRow: v} } iNdEx = postIndex default: @@ -10007,7 +14242,7 @@ func (m *ParquetTimeColumn) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ParquetDataColumn) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *Hdf5DataConfig) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10030,15 +14265,15 @@ func (m *ParquetDataColumn) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ParquetDataColumn: wiretype end group for non-group") + return fmt.Errorf("proto: Hdf5DataConfig: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetDataColumn: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Hdf5DataConfig: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Path", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeDataset", wireType) } var stringLen uint64 for shift := uint(0); ; shift += 7 { @@ -10070,9 +14305,83 @@ func (m *ParquetDataColumn) UnmarshalVTUnsafe(dAtA []byte) error { if intStringLen > 0 { stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } - m.Path = stringValue + m.TimeDataset = stringValue iNdEx = postIndex case 2: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field TimeIndex", wireType) + } + m.TimeIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.TimeIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ValueDataset", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ValueDataset = stringValue + iNdEx = postIndex + case 4: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field ValueIndex", wireType) + } + m.ValueIndex = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.ValueIndex |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + case 5: if wireType != 2 { return fmt.Errorf("proto: wrong wireType = %d for field ChannelConfig", wireType) } @@ -10116,62 +14425,11 @@ func (m *ParquetDataColumn) UnmarshalVTUnsafe(dAtA []byte) error { } } iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ParquetFlatDatasetConfig) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ParquetFlatDatasetConfig: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetFlatDatasetConfig: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: + case 6: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field TimeColumn", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeField", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10181,33 +14439,34 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - if m.TimeColumn == nil { - m.TimeColumn = &ParquetTimeColumn{} - } - if err := m.TimeColumn.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + s := stringValue + m.TimeField = &s iNdEx = postIndex - case 2: + case 7: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DataColumns", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field ValueField", wireType) } - var msglen int + var stringLen uint64 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10217,25 +14476,28 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - msglen |= int(b&0x7F) << shift + stringLen |= uint64(b&0x7F) << shift if b < 0x80 { break } } - if msglen < 0 { + intStringLen := int(stringLen) + if intStringLen < 0 { return protohelpers.ErrInvalidLength } - postIndex := iNdEx + msglen + postIndex := iNdEx + intStringLen if postIndex < 0 { return protohelpers.ErrInvalidLength } if postIndex > l { return io.ErrUnexpectedEOF } - m.DataColumns = append(m.DataColumns, &ParquetDataColumn{}) - if err := m.DataColumns[len(m.DataColumns)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) } + s := stringValue + m.ValueField = &s iNdEx = postIndex default: iNdEx = preIndex @@ -10259,7 +14521,7 @@ func (m *ParquetFlatDatasetConfig) UnmarshalVTUnsafe(dAtA []byte) error { } return nil } -func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { +func (m *Hdf5Config) UnmarshalVTUnsafe(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -10282,10 +14544,10 @@ func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: ParquetConfig: wiretype end group for non-group") + return fmt.Errorf("proto: Hdf5Config: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: ParquetConfig: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: Hdf5Config: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -10398,7 +14660,7 @@ func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { iNdEx = postIndex case 4: if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field FlatDataset", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType) } var msglen int for shift := uint(0); ; shift += 7 { @@ -10425,23 +14687,16 @@ func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { if postIndex > l { return io.ErrUnexpectedEOF } - if oneof, ok := m.Config.(*ParquetConfig_FlatDataset); ok { - if err := oneof.FlatDataset.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - } else { - v := &ParquetFlatDatasetConfig{} - if err := v.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - m.Config = &ParquetConfig_FlatDataset{FlatDataset: v} + m.Data = append(m.Data, &Hdf5DataConfig{}) + if err := m.Data[len(m.Data)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } iNdEx = postIndex case 5: if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FooterOffset", wireType) + return fmt.Errorf("proto: wrong wireType = %d for field TimeFormat", wireType) } - m.FooterOffset = 0 + m.TimeFormat = 0 for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10451,16 +14706,16 @@ func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FooterOffset |= uint64(b&0x7F) << shift + m.TimeFormat |= TimeFormat(b&0x7F) << shift if b < 0x80 { break } } case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field FooterLength", wireType) + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RelativeStartTime", wireType) } - m.FooterLength = 0 + var msglen int for shift := uint(0); ; shift += 7 { if shift >= 64 { return protohelpers.ErrIntOverflow @@ -10470,30 +14725,28 @@ func (m *ParquetConfig) UnmarshalVTUnsafe(dAtA []byte) error { } b := dAtA[iNdEx] iNdEx++ - m.FooterLength |= uint32(b&0x7F) << shift + msglen |= int(b&0x7F) << shift if b < 0x80 { break } } - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ComplexTypesImportMode", wireType) + if msglen < 0 { + return protohelpers.ErrInvalidLength } - m.ComplexTypesImportMode = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ComplexTypesImportMode |= ParquetComplexTypesImportMode(b&0x7F) << shift - if b < 0x80 { - break - } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.RelativeStartTime == nil { + m.RelativeStartTime = ×tamppb.Timestamp{} + } + if err := (*timestamppb1.Timestamp)(m.RelativeStartTime).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -11071,6 +15324,42 @@ func (m *DataImport) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex + case 17: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Hdf5Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Hdf5Config == nil { + m.Hdf5Config = &Hdf5Config{} + } + if err := m.Hdf5Config.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/exports/v1/exports.pb.go b/go/gen/sift/exports/v1/exports.pb.go index 1bfb51f88..68f63a842 100644 --- a/go/gen/sift/exports/v1/exports.pb.go +++ b/go/gen/sift/exports/v1/exports.pb.go @@ -30,6 +30,7 @@ const ( ExportOutputFormat_EXPORT_OUTPUT_FORMAT_UNSPECIFIED ExportOutputFormat = 0 ExportOutputFormat_EXPORT_OUTPUT_FORMAT_CSV ExportOutputFormat = 1 ExportOutputFormat_EXPORT_OUTPUT_FORMAT_SUN ExportOutputFormat = 2 + ExportOutputFormat_EXPORT_OUTPUT_FORMAT_PARQUET ExportOutputFormat = 3 ) // Enum value maps for ExportOutputFormat. @@ -38,11 +39,13 @@ var ( 0: "EXPORT_OUTPUT_FORMAT_UNSPECIFIED", 1: "EXPORT_OUTPUT_FORMAT_CSV", 2: "EXPORT_OUTPUT_FORMAT_SUN", + 3: "EXPORT_OUTPUT_FORMAT_PARQUET", } ExportOutputFormat_value = map[string]int32{ "EXPORT_OUTPUT_FORMAT_UNSPECIFIED": 0, "EXPORT_OUTPUT_FORMAT_CSV": 1, "EXPORT_OUTPUT_FORMAT_SUN": 2, + "EXPORT_OUTPUT_FORMAT_PARQUET": 3, } ) @@ -551,6 +554,8 @@ type ExportDataResponse struct { PresignedUrl string `protobuf:"bytes,1,opt,name=presigned_url,json=presignedUrl,proto3" json:"presigned_url,omitempty"` // This will be non-empty if the export is being processed asynchronously in a background job. JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Optional message for the client to display in success or error notification (e.g. exclusions or 403 reason). + ServiceMessage string `protobuf:"bytes,3,opt,name=service_message,json=serviceMessage,proto3" json:"service_message,omitempty"` } func (x *ExportDataResponse) Reset() { @@ -599,6 +604,13 @@ func (x *ExportDataResponse) GetJobId() string { return "" } +func (x *ExportDataResponse) GetServiceMessage() string { + if x != nil { + return x.ServiceMessage + } + return "" +} + type GetDownloadUrlRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -652,6 +664,8 @@ type GetDownloadUrlResponse struct { unknownFields protoimpl.UnknownFields PresignedUrl string `protobuf:"bytes,1,opt,name=presigned_url,json=presignedUrl,proto3" json:"presigned_url,omitempty"` + // Optional message for the client to display in success or error notification. + ServiceMessage string `protobuf:"bytes,2,opt,name=service_message,json=serviceMessage,proto3" json:"service_message,omitempty"` } func (x *GetDownloadUrlResponse) Reset() { @@ -693,6 +707,13 @@ func (x *GetDownloadUrlResponse) GetPresignedUrl() string { return "" } +func (x *GetDownloadUrlResponse) GetServiceMessage() string { + if x != nil { + return x.ServiceMessage + } + return "" +} + var File_sift_exports_v1_exports_proto protoreflect.FileDescriptor var file_sift_exports_v1_exports_proto_rawDesc = []byte{ @@ -810,28 +831,36 @@ var file_sift_exports_v1_exports_proto_rawDesc = []byte{ 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, - 0x42, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5a, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, - 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, - 0x64, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, - 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, - 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, - 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x72, - 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0x76, 0x0a, 0x12, 0x45, 0x78, - 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, - 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, - 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x43, - 0x53, 0x56, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, - 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x55, 0x4e, - 0x10, 0x02, 0x32, 0xf4, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, + 0x42, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, + 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, + 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, + 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, + 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x24, + 0x0a, 0x20, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, + 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, + 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x43, 0x53, 0x56, + 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, + 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x55, 0x4e, 0x10, 0x02, + 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, + 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, + 0x10, 0x03, 0x32, 0xf4, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, diff --git a/go/gen/sift/exports/v1/exports_vtproto.pb.go b/go/gen/sift/exports/v1/exports_vtproto.pb.go index 69e1d6bb1..6d290419f 100644 --- a/go/gen/sift/exports/v1/exports_vtproto.pb.go +++ b/go/gen/sift/exports/v1/exports_vtproto.pb.go @@ -216,6 +216,7 @@ func (m *ExportDataResponse) CloneVT() *ExportDataResponse { r := new(ExportDataResponse) r.PresignedUrl = m.PresignedUrl r.JobId = m.JobId + r.ServiceMessage = m.ServiceMessage if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -250,6 +251,7 @@ func (m *GetDownloadUrlResponse) CloneVT() *GetDownloadUrlResponse { } r := new(GetDownloadUrlResponse) r.PresignedUrl = m.PresignedUrl + r.ServiceMessage = m.ServiceMessage if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -571,6 +573,9 @@ func (this *ExportDataResponse) EqualVT(that *ExportDataResponse) bool { if this.JobId != that.JobId { return false } + if this.ServiceMessage != that.ServiceMessage { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -609,6 +614,9 @@ func (this *GetDownloadUrlResponse) EqualVT(that *GetDownloadUrlResponse) bool { if this.PresignedUrl != that.PresignedUrl { return false } + if this.ServiceMessage != that.ServiceMessage { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1250,6 +1258,13 @@ func (m *ExportDataResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.ServiceMessage) > 0 { + i -= len(m.ServiceMessage) + copy(dAtA[i:], m.ServiceMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServiceMessage))) + i-- + dAtA[i] = 0x1a + } if len(m.JobId) > 0 { i -= len(m.JobId) copy(dAtA[i:], m.JobId) @@ -1337,6 +1352,13 @@ func (m *GetDownloadUrlResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.ServiceMessage) > 0 { + i -= len(m.ServiceMessage) + copy(dAtA[i:], m.ServiceMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServiceMessage))) + i-- + dAtA[i] = 0x12 + } if len(m.PresignedUrl) > 0 { i -= len(m.PresignedUrl) copy(dAtA[i:], m.PresignedUrl) @@ -1862,6 +1884,13 @@ func (m *ExportDataResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, err i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.ServiceMessage) > 0 { + i -= len(m.ServiceMessage) + copy(dAtA[i:], m.ServiceMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServiceMessage))) + i-- + dAtA[i] = 0x1a + } if len(m.JobId) > 0 { i -= len(m.JobId) copy(dAtA[i:], m.JobId) @@ -1949,6 +1978,13 @@ func (m *GetDownloadUrlResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.ServiceMessage) > 0 { + i -= len(m.ServiceMessage) + copy(dAtA[i:], m.ServiceMessage) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ServiceMessage))) + i-- + dAtA[i] = 0x12 + } if len(m.PresignedUrl) > 0 { i -= len(m.PresignedUrl) copy(dAtA[i:], m.PresignedUrl) @@ -2166,6 +2202,10 @@ func (m *ExportDataResponse) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + l = len(m.ServiceMessage) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -2194,6 +2234,10 @@ func (m *GetDownloadUrlResponse) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + l = len(m.ServiceMessage) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -3360,6 +3404,38 @@ func (m *ExportDataResponse) UnmarshalVT(dAtA []byte) error { } m.JobId = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -3526,6 +3602,38 @@ func (m *GetDownloadUrlResponse) UnmarshalVT(dAtA []byte) error { } m.PresignedUrl = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.ServiceMessage = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4742,6 +4850,42 @@ func (m *ExportDataResponse) UnmarshalVTUnsafe(dAtA []byte) error { } m.JobId = stringValue iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ServiceMessage = stringValue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -4916,6 +5060,42 @@ func (m *GetDownloadUrlResponse) UnmarshalVTUnsafe(dAtA []byte) error { } m.PresignedUrl = stringValue iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ServiceMessage", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.ServiceMessage = stringValue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/options/v1/safe_to_log.pb.go b/go/gen/sift/options/v1/safe_to_log.pb.go deleted file mode 100644 index 2e4de0b18..000000000 --- a/go/gen/sift/options/v1/safe_to_log.pb.go +++ /dev/null @@ -1,103 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc (unknown) -// source: sift/options/v1/safe_to_log.proto - -package optionsv1 - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - descriptorpb "google.golang.org/protobuf/types/descriptorpb" - reflect "reflect" -) - -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) -) - -var file_sift_options_v1_safe_to_log_proto_extTypes = []protoimpl.ExtensionInfo{ - { - ExtendedType: (*descriptorpb.MessageOptions)(nil), - ExtensionType: (*bool)(nil), - Field: 70000, - Name: "sift.options.v1.safe_to_log", - Tag: "varint,70000,opt,name=safe_to_log", - Filename: "sift/options/v1/safe_to_log.proto", - }, -} - -// Extension fields to descriptorpb.MessageOptions. -var ( - // optional bool safe_to_log = 70000; - E_SafeToLog = &file_sift_options_v1_safe_to_log_proto_extTypes[0] -) - -var File_sift_options_v1_safe_to_log_proto protoreflect.FileDescriptor - -var file_sift_options_v1_safe_to_log_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, - 0x31, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 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, 0x3a, 0x41, 0x0a, 0x0b, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, - 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 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, 0xf0, 0xa2, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, - 0x73, 0x61, 0x66, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x42, 0xc0, 0x01, 0x0a, 0x13, 0x63, 0x6f, - 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x42, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, - 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x76, 0x31, - 0xa2, 0x02, 0x03, 0x53, 0x4f, 0x58, 0xaa, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x5c, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x53, 0x69, 0x66, 0x74, 0x3a, - 0x3a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var file_sift_options_v1_safe_to_log_proto_goTypes = []interface{}{ - (*descriptorpb.MessageOptions)(nil), // 0: google.protobuf.MessageOptions -} -var file_sift_options_v1_safe_to_log_proto_depIdxs = []int32{ - 0, // 0: sift.options.v1.safe_to_log:extendee -> google.protobuf.MessageOptions - 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 - 0, // [0:1] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_sift_options_v1_safe_to_log_proto_init() } -func file_sift_options_v1_safe_to_log_proto_init() { - if File_sift_options_v1_safe_to_log_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sift_options_v1_safe_to_log_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 1, - NumServices: 0, - }, - GoTypes: file_sift_options_v1_safe_to_log_proto_goTypes, - DependencyIndexes: file_sift_options_v1_safe_to_log_proto_depIdxs, - ExtensionInfos: file_sift_options_v1_safe_to_log_proto_extTypes, - }.Build() - File_sift_options_v1_safe_to_log_proto = out.File - file_sift_options_v1_safe_to_log_proto_rawDesc = nil - file_sift_options_v1_safe_to_log_proto_goTypes = nil - file_sift_options_v1_safe_to_log_proto_depIdxs = nil -} diff --git a/go/gen/sift/policies/v1/policies.pb.go b/go/gen/sift/policies/v1/policies.pb.go deleted file mode 100644 index af7825760..000000000 --- a/go/gen/sift/policies/v1/policies.pb.go +++ /dev/null @@ -1,1294 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc (unknown) -// source: sift/policies/v1/policies.proto - -package policiesv1 - -import ( - _ "github.com/sift-stack/sift/go/gen/buf/validate" - _ "github.com/sift-stack/sift/go/gen/google/api" - _ "github.com/sift-stack/sift/go/gen/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - 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 Policy struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PolicyId string `protobuf:"bytes,1,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description *string `protobuf:"bytes,3,opt,name=description,proto3,oneof" json:"description,omitempty"` - OrganizationId string `protobuf:"bytes,4,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - CreatedByUserId string `protobuf:"bytes,5,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - ModifiedByUserId string `protobuf:"bytes,6,opt,name=modified_by_user_id,json=modifiedByUserId,proto3" json:"modified_by_user_id,omitempty"` - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - ModifiedDate *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=modified_date,json=modifiedDate,proto3" json:"modified_date,omitempty"` - // Policy rules/configuration - Configuration *PolicyConfiguration `protobuf:"bytes,9,opt,name=configuration,proto3" json:"configuration,omitempty"` - // Reference to the current policy version ID - PolicyVersionId string `protobuf:"bytes,10,opt,name=policy_version_id,json=policyVersionId,proto3" json:"policy_version_id,omitempty"` - // The date the policy was archived. - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` - IsArchived bool `protobuf:"varint,12,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` - // Optional version number for this policy - Version *int32 `protobuf:"varint,13,opt,name=version,proto3,oneof" json:"version,omitempty"` - // Optional notes for this version - VersionNotes *string `protobuf:"bytes,14,opt,name=version_notes,json=versionNotes,proto3,oneof" json:"version_notes,omitempty"` - // Auto-generated change message for this version - GeneratedChangeMessage *string `protobuf:"bytes,15,opt,name=generated_change_message,json=generatedChangeMessage,proto3,oneof" json:"generated_change_message,omitempty"` -} - -func (x *Policy) Reset() { - *x = Policy{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Policy) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Policy) ProtoMessage() {} - -func (x *Policy) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 Policy.ProtoReflect.Descriptor instead. -func (*Policy) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{0} -} - -func (x *Policy) GetPolicyId() string { - if x != nil { - return x.PolicyId - } - return "" -} - -func (x *Policy) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *Policy) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *Policy) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *Policy) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *Policy) GetModifiedByUserId() string { - if x != nil { - return x.ModifiedByUserId - } - return "" -} - -func (x *Policy) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *Policy) GetModifiedDate() *timestamppb.Timestamp { - if x != nil { - return x.ModifiedDate - } - return nil -} - -func (x *Policy) GetConfiguration() *PolicyConfiguration { - if x != nil { - return x.Configuration - } - return nil -} - -func (x *Policy) GetPolicyVersionId() string { - if x != nil { - return x.PolicyVersionId - } - return "" -} - -func (x *Policy) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -func (x *Policy) GetIsArchived() bool { - if x != nil { - return x.IsArchived - } - return false -} - -func (x *Policy) GetVersion() int32 { - if x != nil && x.Version != nil { - return *x.Version - } - return 0 -} - -func (x *Policy) GetVersionNotes() string { - if x != nil && x.VersionNotes != nil { - return *x.VersionNotes - } - return "" -} - -func (x *Policy) GetGeneratedChangeMessage() string { - if x != nil && x.GeneratedChangeMessage != nil { - return *x.GeneratedChangeMessage - } - return "" -} - -// PolicyConfiguration represents the configuration and rules for a policy. -// Expects a string containing a policy in the Cedar format -// https://docs.cedarpolicy.com/policies/syntax-policy.html -type PolicyConfiguration struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CedarPolicy string `protobuf:"bytes,1,opt,name=cedar_policy,json=cedarPolicy,proto3" json:"cedar_policy,omitempty"` -} - -func (x *PolicyConfiguration) Reset() { - *x = PolicyConfiguration{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PolicyConfiguration) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PolicyConfiguration) ProtoMessage() {} - -func (x *PolicyConfiguration) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 PolicyConfiguration.ProtoReflect.Descriptor instead. -func (*PolicyConfiguration) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{1} -} - -func (x *PolicyConfiguration) GetCedarPolicy() string { - if x != nil { - return x.CedarPolicy - } - return "" -} - -// The request for a call to `PolicyService_GetPolicy`. -type GetPolicyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PolicyId string `protobuf:"bytes,1,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"` -} - -func (x *GetPolicyRequest) Reset() { - *x = GetPolicyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetPolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPolicyRequest) ProtoMessage() {} - -func (x *GetPolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 GetPolicyRequest.ProtoReflect.Descriptor instead. -func (*GetPolicyRequest) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{2} -} - -func (x *GetPolicyRequest) GetPolicyId() string { - if x != nil { - return x.PolicyId - } - return "" -} - -// The response of a call to `PolicyService_GetPolicy`. -type GetPolicyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` -} - -func (x *GetPolicyResponse) Reset() { - *x = GetPolicyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetPolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetPolicyResponse) ProtoMessage() {} - -func (x *GetPolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 GetPolicyResponse.ProtoReflect.Descriptor instead. -func (*GetPolicyResponse) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{3} -} - -func (x *GetPolicyResponse) GetPolicy() *Policy { - if x != nil { - return x.Policy - } - return nil -} - -// The request for a call to `PolicyService_ListPolicies` to retrieve policies. -type ListPoliciesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The maximum number of policies to return. The service may return fewer than this value. - // If unspecified, at most 50 policies will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. Optional. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListPolicies` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListPolicies` must match - // the call that provided the page token. Optional. - PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `policy_id`, `organization_id`, `name`, `description`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, `archived_date`, and `is_archived`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/policies#policy). Optional. - Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved policies. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,modified_date" - OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - // Whether to include archived policies in the response. If false or unset, archived policies are excluded. - IncludeArchived bool `protobuf:"varint,6,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListPoliciesRequest) Reset() { - *x = ListPoliciesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPoliciesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPoliciesRequest) ProtoMessage() {} - -func (x *ListPoliciesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 ListPoliciesRequest.ProtoReflect.Descriptor instead. -func (*ListPoliciesRequest) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{4} -} - -func (x *ListPoliciesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListPoliciesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListPoliciesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListPoliciesRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListPoliciesRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -// The result of a call to `PolicyService_ListPolicies`. -type ListPoliciesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policies []*Policy `protobuf:"bytes,1,rep,name=policies,proto3" json:"policies,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListPoliciesResponse) Reset() { - *x = ListPoliciesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListPoliciesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListPoliciesResponse) ProtoMessage() {} - -func (x *ListPoliciesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 ListPoliciesResponse.ProtoReflect.Descriptor instead. -func (*ListPoliciesResponse) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{5} -} - -func (x *ListPoliciesResponse) GetPolicies() []*Policy { - if x != nil { - return x.Policies - } - return nil -} - -func (x *ListPoliciesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -// The request for a call to `PolicyService_CreatePolicy` to create a new policy. -type CreatePolicyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description *string `protobuf:"bytes,2,opt,name=description,proto3,oneof" json:"description,omitempty"` - // Policy rules/configuration - Configuration *PolicyConfiguration `protobuf:"bytes,3,opt,name=configuration,proto3" json:"configuration,omitempty"` - // Optional notes for this version - VersionNotes *string `protobuf:"bytes,4,opt,name=version_notes,json=versionNotes,proto3,oneof" json:"version_notes,omitempty"` -} - -func (x *CreatePolicyRequest) Reset() { - *x = CreatePolicyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreatePolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreatePolicyRequest) ProtoMessage() {} - -func (x *CreatePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 CreatePolicyRequest.ProtoReflect.Descriptor instead. -func (*CreatePolicyRequest) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{6} -} - -func (x *CreatePolicyRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *CreatePolicyRequest) GetDescription() string { - if x != nil && x.Description != nil { - return *x.Description - } - return "" -} - -func (x *CreatePolicyRequest) GetConfiguration() *PolicyConfiguration { - if x != nil { - return x.Configuration - } - return nil -} - -func (x *CreatePolicyRequest) GetVersionNotes() string { - if x != nil && x.VersionNotes != nil { - return *x.VersionNotes - } - return "" -} - -// The response of a call to `PolicyService_CreatePolicy`. -type CreatePolicyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` -} - -func (x *CreatePolicyResponse) Reset() { - *x = CreatePolicyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreatePolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreatePolicyResponse) ProtoMessage() {} - -func (x *CreatePolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 CreatePolicyResponse.ProtoReflect.Descriptor instead. -func (*CreatePolicyResponse) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{7} -} - -func (x *CreatePolicyResponse) GetPolicy() *Policy { - if x != nil { - return x.Policy - } - return nil -} - -// The request for a call to `PolicyService_UpdatePolicy` to update a policy. -type UpdatePolicyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` - // The list of fields to be updated. The fields available to be updated are `name`, `description`, `configuration`, and `is_archived`. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // Optional notes for the new policy version when configuration changes - VersionNotes *string `protobuf:"bytes,3,opt,name=version_notes,json=versionNotes,proto3,oneof" json:"version_notes,omitempty"` -} - -func (x *UpdatePolicyRequest) Reset() { - *x = UpdatePolicyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdatePolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdatePolicyRequest) ProtoMessage() {} - -func (x *UpdatePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 UpdatePolicyRequest.ProtoReflect.Descriptor instead. -func (*UpdatePolicyRequest) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{8} -} - -func (x *UpdatePolicyRequest) GetPolicy() *Policy { - if x != nil { - return x.Policy - } - return nil -} - -func (x *UpdatePolicyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { - if x != nil { - return x.UpdateMask - } - return nil -} - -func (x *UpdatePolicyRequest) GetVersionNotes() string { - if x != nil && x.VersionNotes != nil { - return *x.VersionNotes - } - return "" -} - -// The response of a call to `PolicyService_UpdatePolicy`. -type UpdatePolicyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` -} - -func (x *UpdatePolicyResponse) Reset() { - *x = UpdatePolicyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdatePolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdatePolicyResponse) ProtoMessage() {} - -func (x *UpdatePolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 UpdatePolicyResponse.ProtoReflect.Descriptor instead. -func (*UpdatePolicyResponse) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{9} -} - -func (x *UpdatePolicyResponse) GetPolicy() *Policy { - if x != nil { - return x.Policy - } - return nil -} - -// The request for a call to `PolicyService_ArchivePolicy` to archive a policy. -type ArchivePolicyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PolicyId string `protobuf:"bytes,1,opt,name=policy_id,json=policyId,proto3" json:"policy_id,omitempty"` -} - -func (x *ArchivePolicyRequest) Reset() { - *x = ArchivePolicyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchivePolicyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchivePolicyRequest) ProtoMessage() {} - -func (x *ArchivePolicyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 ArchivePolicyRequest.ProtoReflect.Descriptor instead. -func (*ArchivePolicyRequest) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{10} -} - -func (x *ArchivePolicyRequest) GetPolicyId() string { - if x != nil { - return x.PolicyId - } - return "" -} - -// The response of a call to `PolicyService_ArchivePolicy`. -type ArchivePolicyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Policy *Policy `protobuf:"bytes,1,opt,name=policy,proto3" json:"policy,omitempty"` -} - -func (x *ArchivePolicyResponse) Reset() { - *x = ArchivePolicyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_policies_v1_policies_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchivePolicyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchivePolicyResponse) ProtoMessage() {} - -func (x *ArchivePolicyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_policies_v1_policies_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 ArchivePolicyResponse.ProtoReflect.Descriptor instead. -func (*ArchivePolicyResponse) Descriptor() ([]byte, []int) { - return file_sift_policies_v1_policies_proto_rawDescGZIP(), []int{11} -} - -func (x *ArchivePolicyResponse) GetPolicy() *Policy { - if x != nil { - return x.Policy - } - return nil -} - -var File_sift_policies_v1_policies_proto protoreflect.FileDescriptor - -var file_sift_policies_v1_policies_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x10, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2e, 0x76, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x86, 0x07, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x28, 0x0a, - 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x0f, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x3a, 0x0a, 0x13, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x11, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, - 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, - 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, - 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, - 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0e, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0c, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x18, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x10, 0x0a, 0x0e, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x42, 0x1b, - 0x0a, 0x19, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, 0x0a, 0x13, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x65, 0x64, 0x61, 0x72, 0x5f, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x64, 0x61, 0x72, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0xc8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0x74, 0x0a, 0x14, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, - 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xfd, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x50, 0x0a, - 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x2d, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x10, - 0x0a, 0x0e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, - 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, - 0xca, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x40, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, - 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x14, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x40, 0x0a, 0x14, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x4e, 0x0a, - 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x32, 0x91, 0x08, - 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0xb5, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x38, 0x12, 0x09, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x12, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x2a, 0x17, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x92, 0x41, 0x57, 0x12, 0x0c, 0x4c, 0x69, - 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x2b, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xbd, 0x01, 0x0a, 0x0c, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x40, - 0x12, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x14, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xb9, 0x01, 0x0a, 0x0c, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x25, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x92, 0x41, 0x3c, - 0x12, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x10, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, - 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x3f, 0x12, - 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x11, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x2e, 0x2a, 0x1b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x26, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, - 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x1a, 0x25, 0x92, 0x41, 0x22, 0x12, - 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, - 0x67, 0x65, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2e, 0x42, 0xdb, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0d, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, - 0x69, 0x66, 0x74, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x50, 0x58, - 0xaa, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x12, 0x12, 0x10, 0x0a, - 0x0e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sift_policies_v1_policies_proto_rawDescOnce sync.Once - file_sift_policies_v1_policies_proto_rawDescData = file_sift_policies_v1_policies_proto_rawDesc -) - -func file_sift_policies_v1_policies_proto_rawDescGZIP() []byte { - file_sift_policies_v1_policies_proto_rawDescOnce.Do(func() { - file_sift_policies_v1_policies_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_policies_v1_policies_proto_rawDescData) - }) - return file_sift_policies_v1_policies_proto_rawDescData -} - -var file_sift_policies_v1_policies_proto_msgTypes = make([]protoimpl.MessageInfo, 12) -var file_sift_policies_v1_policies_proto_goTypes = []interface{}{ - (*Policy)(nil), // 0: sift.policies.v1.Policy - (*PolicyConfiguration)(nil), // 1: sift.policies.v1.PolicyConfiguration - (*GetPolicyRequest)(nil), // 2: sift.policies.v1.GetPolicyRequest - (*GetPolicyResponse)(nil), // 3: sift.policies.v1.GetPolicyResponse - (*ListPoliciesRequest)(nil), // 4: sift.policies.v1.ListPoliciesRequest - (*ListPoliciesResponse)(nil), // 5: sift.policies.v1.ListPoliciesResponse - (*CreatePolicyRequest)(nil), // 6: sift.policies.v1.CreatePolicyRequest - (*CreatePolicyResponse)(nil), // 7: sift.policies.v1.CreatePolicyResponse - (*UpdatePolicyRequest)(nil), // 8: sift.policies.v1.UpdatePolicyRequest - (*UpdatePolicyResponse)(nil), // 9: sift.policies.v1.UpdatePolicyResponse - (*ArchivePolicyRequest)(nil), // 10: sift.policies.v1.ArchivePolicyRequest - (*ArchivePolicyResponse)(nil), // 11: sift.policies.v1.ArchivePolicyResponse - (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 13: google.protobuf.FieldMask -} -var file_sift_policies_v1_policies_proto_depIdxs = []int32{ - 12, // 0: sift.policies.v1.Policy.created_date:type_name -> google.protobuf.Timestamp - 12, // 1: sift.policies.v1.Policy.modified_date:type_name -> google.protobuf.Timestamp - 1, // 2: sift.policies.v1.Policy.configuration:type_name -> sift.policies.v1.PolicyConfiguration - 12, // 3: sift.policies.v1.Policy.archived_date:type_name -> google.protobuf.Timestamp - 0, // 4: sift.policies.v1.GetPolicyResponse.policy:type_name -> sift.policies.v1.Policy - 0, // 5: sift.policies.v1.ListPoliciesResponse.policies:type_name -> sift.policies.v1.Policy - 1, // 6: sift.policies.v1.CreatePolicyRequest.configuration:type_name -> sift.policies.v1.PolicyConfiguration - 0, // 7: sift.policies.v1.CreatePolicyResponse.policy:type_name -> sift.policies.v1.Policy - 0, // 8: sift.policies.v1.UpdatePolicyRequest.policy:type_name -> sift.policies.v1.Policy - 13, // 9: sift.policies.v1.UpdatePolicyRequest.update_mask:type_name -> google.protobuf.FieldMask - 0, // 10: sift.policies.v1.UpdatePolicyResponse.policy:type_name -> sift.policies.v1.Policy - 0, // 11: sift.policies.v1.ArchivePolicyResponse.policy:type_name -> sift.policies.v1.Policy - 2, // 12: sift.policies.v1.PolicyService.GetPolicy:input_type -> sift.policies.v1.GetPolicyRequest - 4, // 13: sift.policies.v1.PolicyService.ListPolicies:input_type -> sift.policies.v1.ListPoliciesRequest - 6, // 14: sift.policies.v1.PolicyService.CreatePolicy:input_type -> sift.policies.v1.CreatePolicyRequest - 8, // 15: sift.policies.v1.PolicyService.UpdatePolicy:input_type -> sift.policies.v1.UpdatePolicyRequest - 10, // 16: sift.policies.v1.PolicyService.ArchivePolicy:input_type -> sift.policies.v1.ArchivePolicyRequest - 3, // 17: sift.policies.v1.PolicyService.GetPolicy:output_type -> sift.policies.v1.GetPolicyResponse - 5, // 18: sift.policies.v1.PolicyService.ListPolicies:output_type -> sift.policies.v1.ListPoliciesResponse - 7, // 19: sift.policies.v1.PolicyService.CreatePolicy:output_type -> sift.policies.v1.CreatePolicyResponse - 9, // 20: sift.policies.v1.PolicyService.UpdatePolicy:output_type -> sift.policies.v1.UpdatePolicyResponse - 11, // 21: sift.policies.v1.PolicyService.ArchivePolicy:output_type -> sift.policies.v1.ArchivePolicyResponse - 17, // [17:22] is the sub-list for method output_type - 12, // [12:17] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name -} - -func init() { file_sift_policies_v1_policies_proto_init() } -func file_sift_policies_v1_policies_proto_init() { - if File_sift_policies_v1_policies_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_sift_policies_v1_policies_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Policy); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PolicyConfiguration); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetPolicyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPoliciesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListPoliciesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePolicyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreatePolicyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePolicyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdatePolicyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchivePolicyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_policies_v1_policies_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchivePolicyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sift_policies_v1_policies_proto_msgTypes[0].OneofWrappers = []interface{}{} - file_sift_policies_v1_policies_proto_msgTypes[6].OneofWrappers = []interface{}{} - file_sift_policies_v1_policies_proto_msgTypes[8].OneofWrappers = []interface{}{} - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sift_policies_v1_policies_proto_rawDesc, - NumEnums: 0, - NumMessages: 12, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sift_policies_v1_policies_proto_goTypes, - DependencyIndexes: file_sift_policies_v1_policies_proto_depIdxs, - MessageInfos: file_sift_policies_v1_policies_proto_msgTypes, - }.Build() - File_sift_policies_v1_policies_proto = out.File - file_sift_policies_v1_policies_proto_rawDesc = nil - file_sift_policies_v1_policies_proto_goTypes = nil - file_sift_policies_v1_policies_proto_depIdxs = nil -} diff --git a/go/gen/sift/policies/v1/policies.pb.gw.go b/go/gen/sift/policies/v1/policies.pb.gw.go deleted file mode 100644 index cf8ac98bc..000000000 --- a/go/gen/sift/policies/v1/policies.pb.gw.go +++ /dev/null @@ -1,549 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: sift/policies/v1/policies.proto - -/* -Package policiesv1 is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package policiesv1 - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_PolicyService_GetPolicy_0(ctx context.Context, marshaler runtime.Marshaler, client PolicyServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetPolicyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["policy_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy_id") - } - - protoReq.PolicyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy_id", err) - } - - msg, err := client.GetPolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PolicyService_GetPolicy_0(ctx context.Context, marshaler runtime.Marshaler, server PolicyServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetPolicyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["policy_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy_id") - } - - protoReq.PolicyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy_id", err) - } - - msg, err := server.GetPolicy(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_PolicyService_ListPolicies_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_PolicyService_ListPolicies_0(ctx context.Context, marshaler runtime.Marshaler, client PolicyServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListPoliciesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PolicyService_ListPolicies_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListPolicies(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PolicyService_ListPolicies_0(ctx context.Context, marshaler runtime.Marshaler, server PolicyServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListPoliciesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_PolicyService_ListPolicies_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListPolicies(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PolicyService_CreatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client PolicyServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreatePolicyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreatePolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PolicyService_CreatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server PolicyServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreatePolicyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreatePolicy(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PolicyService_UpdatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client PolicyServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdatePolicyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UpdatePolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PolicyService_UpdatePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server PolicyServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdatePolicyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UpdatePolicy(ctx, &protoReq) - return msg, metadata, err - -} - -func request_PolicyService_ArchivePolicy_0(ctx context.Context, marshaler runtime.Marshaler, client PolicyServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchivePolicyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["policy_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy_id") - } - - protoReq.PolicyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy_id", err) - } - - msg, err := client.ArchivePolicy(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_PolicyService_ArchivePolicy_0(ctx context.Context, marshaler runtime.Marshaler, server PolicyServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchivePolicyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["policy_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "policy_id") - } - - protoReq.PolicyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "policy_id", err) - } - - msg, err := server.ArchivePolicy(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterPolicyServiceHandlerServer registers the http handlers for service PolicyService to "mux". -// UnaryRPC :call PolicyServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterPolicyServiceHandlerFromEndpoint instead. -func RegisterPolicyServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server PolicyServiceServer) error { - - mux.Handle("GET", pattern_PolicyService_GetPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.policies.v1.PolicyService/GetPolicy", runtime.WithHTTPPathPattern("/api/v1/policies/{policy_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PolicyService_GetPolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_GetPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PolicyService_ListPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.policies.v1.PolicyService/ListPolicies", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PolicyService_ListPolicies_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_ListPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PolicyService_CreatePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.policies.v1.PolicyService/CreatePolicy", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PolicyService_CreatePolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_CreatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_PolicyService_UpdatePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.policies.v1.PolicyService/UpdatePolicy", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PolicyService_UpdatePolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_UpdatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PolicyService_ArchivePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.policies.v1.PolicyService/ArchivePolicy", runtime.WithHTTPPathPattern("/api/v1/policies/{policy_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_PolicyService_ArchivePolicy_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_ArchivePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterPolicyServiceHandlerFromEndpoint is same as RegisterPolicyServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterPolicyServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterPolicyServiceHandler(ctx, mux, conn) -} - -// RegisterPolicyServiceHandler registers the http handlers for service PolicyService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterPolicyServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterPolicyServiceHandlerClient(ctx, mux, NewPolicyServiceClient(conn)) -} - -// RegisterPolicyServiceHandlerClient registers the http handlers for service PolicyService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "PolicyServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "PolicyServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "PolicyServiceClient" to call the correct interceptors. -func RegisterPolicyServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client PolicyServiceClient) error { - - mux.Handle("GET", pattern_PolicyService_GetPolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.policies.v1.PolicyService/GetPolicy", runtime.WithHTTPPathPattern("/api/v1/policies/{policy_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PolicyService_GetPolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_GetPolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_PolicyService_ListPolicies_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.policies.v1.PolicyService/ListPolicies", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PolicyService_ListPolicies_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_ListPolicies_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PolicyService_CreatePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.policies.v1.PolicyService/CreatePolicy", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PolicyService_CreatePolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_CreatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_PolicyService_UpdatePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.policies.v1.PolicyService/UpdatePolicy", runtime.WithHTTPPathPattern("/api/v1/policies")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PolicyService_UpdatePolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_UpdatePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_PolicyService_ArchivePolicy_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.policies.v1.PolicyService/ArchivePolicy", runtime.WithHTTPPathPattern("/api/v1/policies/{policy_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_PolicyService_ArchivePolicy_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_PolicyService_ArchivePolicy_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_PolicyService_GetPolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "policies", "policy_id"}, "")) - - pattern_PolicyService_ListPolicies_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "policies"}, "")) - - pattern_PolicyService_CreatePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "policies"}, "")) - - pattern_PolicyService_UpdatePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "policies"}, "")) - - pattern_PolicyService_ArchivePolicy_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "policies", "policy_id", "archive"}, "")) -) - -var ( - forward_PolicyService_GetPolicy_0 = runtime.ForwardResponseMessage - - forward_PolicyService_ListPolicies_0 = runtime.ForwardResponseMessage - - forward_PolicyService_CreatePolicy_0 = runtime.ForwardResponseMessage - - forward_PolicyService_UpdatePolicy_0 = runtime.ForwardResponseMessage - - forward_PolicyService_ArchivePolicy_0 = runtime.ForwardResponseMessage -) diff --git a/go/gen/sift/policies/v1/policies_vtproto.pb.go b/go/gen/sift/policies/v1/policies_vtproto.pb.go deleted file mode 100644 index d8c04ca0d..000000000 --- a/go/gen/sift/policies/v1/policies_vtproto.pb.go +++ /dev/null @@ -1,6097 +0,0 @@ -// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. -// protoc-gen-go-vtproto version: v0.6.0 -// source: sift/policies/v1/policies.proto - -package policiesv1 - -import ( - context "context" - fmt "fmt" - protohelpers "github.com/planetscale/vtprotobuf/protohelpers" - fieldmaskpb1 "github.com/planetscale/vtprotobuf/types/known/fieldmaskpb" - timestamppb1 "github.com/planetscale/vtprotobuf/types/known/timestamppb" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - proto "google.golang.org/protobuf/proto" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - io "io" - unsafe "unsafe" -) - -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) -) - -func (m *Policy) CloneVT() *Policy { - if m == nil { - return (*Policy)(nil) - } - r := new(Policy) - r.PolicyId = m.PolicyId - r.Name = m.Name - r.OrganizationId = m.OrganizationId - r.CreatedByUserId = m.CreatedByUserId - r.ModifiedByUserId = m.ModifiedByUserId - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.ModifiedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ModifiedDate).CloneVT()) - r.Configuration = m.Configuration.CloneVT() - r.PolicyVersionId = m.PolicyVersionId - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - r.IsArchived = m.IsArchived - if rhs := m.Description; rhs != nil { - tmpVal := *rhs - r.Description = &tmpVal - } - if rhs := m.Version; rhs != nil { - tmpVal := *rhs - r.Version = &tmpVal - } - if rhs := m.VersionNotes; rhs != nil { - tmpVal := *rhs - r.VersionNotes = &tmpVal - } - if rhs := m.GeneratedChangeMessage; rhs != nil { - tmpVal := *rhs - r.GeneratedChangeMessage = &tmpVal - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *Policy) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *PolicyConfiguration) CloneVT() *PolicyConfiguration { - if m == nil { - return (*PolicyConfiguration)(nil) - } - r := new(PolicyConfiguration) - r.CedarPolicy = m.CedarPolicy - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *PolicyConfiguration) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetPolicyRequest) CloneVT() *GetPolicyRequest { - if m == nil { - return (*GetPolicyRequest)(nil) - } - r := new(GetPolicyRequest) - r.PolicyId = m.PolicyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetPolicyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetPolicyResponse) CloneVT() *GetPolicyResponse { - if m == nil { - return (*GetPolicyResponse)(nil) - } - r := new(GetPolicyResponse) - r.Policy = m.Policy.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetPolicyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListPoliciesRequest) CloneVT() *ListPoliciesRequest { - if m == nil { - return (*ListPoliciesRequest)(nil) - } - r := new(ListPoliciesRequest) - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListPoliciesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListPoliciesResponse) CloneVT() *ListPoliciesResponse { - if m == nil { - return (*ListPoliciesResponse)(nil) - } - r := new(ListPoliciesResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.Policies; rhs != nil { - tmpContainer := make([]*Policy, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.Policies = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListPoliciesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreatePolicyRequest) CloneVT() *CreatePolicyRequest { - if m == nil { - return (*CreatePolicyRequest)(nil) - } - r := new(CreatePolicyRequest) - r.Name = m.Name - r.Configuration = m.Configuration.CloneVT() - if rhs := m.Description; rhs != nil { - tmpVal := *rhs - r.Description = &tmpVal - } - if rhs := m.VersionNotes; rhs != nil { - tmpVal := *rhs - r.VersionNotes = &tmpVal - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreatePolicyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreatePolicyResponse) CloneVT() *CreatePolicyResponse { - if m == nil { - return (*CreatePolicyResponse)(nil) - } - r := new(CreatePolicyResponse) - r.Policy = m.Policy.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreatePolicyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdatePolicyRequest) CloneVT() *UpdatePolicyRequest { - if m == nil { - return (*UpdatePolicyRequest)(nil) - } - r := new(UpdatePolicyRequest) - r.Policy = m.Policy.CloneVT() - r.UpdateMask = (*fieldmaskpb.FieldMask)((*fieldmaskpb1.FieldMask)(m.UpdateMask).CloneVT()) - if rhs := m.VersionNotes; rhs != nil { - tmpVal := *rhs - r.VersionNotes = &tmpVal - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdatePolicyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdatePolicyResponse) CloneVT() *UpdatePolicyResponse { - if m == nil { - return (*UpdatePolicyResponse)(nil) - } - r := new(UpdatePolicyResponse) - r.Policy = m.Policy.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdatePolicyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchivePolicyRequest) CloneVT() *ArchivePolicyRequest { - if m == nil { - return (*ArchivePolicyRequest)(nil) - } - r := new(ArchivePolicyRequest) - r.PolicyId = m.PolicyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchivePolicyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchivePolicyResponse) CloneVT() *ArchivePolicyResponse { - if m == nil { - return (*ArchivePolicyResponse)(nil) - } - r := new(ArchivePolicyResponse) - r.Policy = m.Policy.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchivePolicyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (this *Policy) EqualVT(that *Policy) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PolicyId != that.PolicyId { - return false - } - if this.Name != that.Name { - return false - } - if p, q := this.Description, that.Description; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if this.ModifiedByUserId != that.ModifiedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if !(*timestamppb1.Timestamp)(this.ModifiedDate).EqualVT((*timestamppb1.Timestamp)(that.ModifiedDate)) { - return false - } - if !this.Configuration.EqualVT(that.Configuration) { - return false - } - if this.PolicyVersionId != that.PolicyVersionId { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - if this.IsArchived != that.IsArchived { - return false - } - if p, q := this.Version, that.Version; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - if p, q := this.VersionNotes, that.VersionNotes; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - if p, q := this.GeneratedChangeMessage, that.GeneratedChangeMessage; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *Policy) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*Policy) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *PolicyConfiguration) EqualVT(that *PolicyConfiguration) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.CedarPolicy != that.CedarPolicy { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *PolicyConfiguration) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*PolicyConfiguration) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetPolicyRequest) EqualVT(that *GetPolicyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PolicyId != that.PolicyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetPolicyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetPolicyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetPolicyResponse) EqualVT(that *GetPolicyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Policy.EqualVT(that.Policy) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetPolicyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetPolicyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListPoliciesRequest) EqualVT(that *ListPoliciesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListPoliciesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListPoliciesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListPoliciesResponse) EqualVT(that *ListPoliciesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.Policies) != len(that.Policies) { - return false - } - for i, vx := range this.Policies { - vy := that.Policies[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &Policy{} - } - if q == nil { - q = &Policy{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListPoliciesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListPoliciesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreatePolicyRequest) EqualVT(that *CreatePolicyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Name != that.Name { - return false - } - if p, q := this.Description, that.Description; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - if !this.Configuration.EqualVT(that.Configuration) { - return false - } - if p, q := this.VersionNotes, that.VersionNotes; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreatePolicyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreatePolicyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreatePolicyResponse) EqualVT(that *CreatePolicyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Policy.EqualVT(that.Policy) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreatePolicyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreatePolicyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdatePolicyRequest) EqualVT(that *UpdatePolicyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Policy.EqualVT(that.Policy) { - return false - } - if !(*fieldmaskpb1.FieldMask)(this.UpdateMask).EqualVT((*fieldmaskpb1.FieldMask)(that.UpdateMask)) { - return false - } - if p, q := this.VersionNotes, that.VersionNotes; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdatePolicyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdatePolicyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdatePolicyResponse) EqualVT(that *UpdatePolicyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Policy.EqualVT(that.Policy) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdatePolicyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdatePolicyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchivePolicyRequest) EqualVT(that *ArchivePolicyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PolicyId != that.PolicyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchivePolicyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchivePolicyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchivePolicyResponse) EqualVT(that *ArchivePolicyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Policy.EqualVT(that.Policy) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchivePolicyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchivePolicyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// PolicyServiceClient is the client API for PolicyService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type PolicyServiceClient interface { - // Retrieve a policy - GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) - // Retrieve policies using an optional filter. - ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) - // Create a policy - CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error) - // Update a policy - UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*UpdatePolicyResponse, error) - // Archive a policy - ArchivePolicy(ctx context.Context, in *ArchivePolicyRequest, opts ...grpc.CallOption) (*ArchivePolicyResponse, error) -} - -type policyServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewPolicyServiceClient(cc grpc.ClientConnInterface) PolicyServiceClient { - return &policyServiceClient{cc} -} - -func (c *policyServiceClient) GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) { - out := new(GetPolicyResponse) - err := c.cc.Invoke(ctx, "/sift.policies.v1.PolicyService/GetPolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *policyServiceClient) ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) { - out := new(ListPoliciesResponse) - err := c.cc.Invoke(ctx, "/sift.policies.v1.PolicyService/ListPolicies", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *policyServiceClient) CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error) { - out := new(CreatePolicyResponse) - err := c.cc.Invoke(ctx, "/sift.policies.v1.PolicyService/CreatePolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *policyServiceClient) UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*UpdatePolicyResponse, error) { - out := new(UpdatePolicyResponse) - err := c.cc.Invoke(ctx, "/sift.policies.v1.PolicyService/UpdatePolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *policyServiceClient) ArchivePolicy(ctx context.Context, in *ArchivePolicyRequest, opts ...grpc.CallOption) (*ArchivePolicyResponse, error) { - out := new(ArchivePolicyResponse) - err := c.cc.Invoke(ctx, "/sift.policies.v1.PolicyService/ArchivePolicy", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// PolicyServiceServer is the server API for PolicyService service. -// All implementations must embed UnimplementedPolicyServiceServer -// for forward compatibility -type PolicyServiceServer interface { - // Retrieve a policy - GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) - // Retrieve policies using an optional filter. - ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error) - // Create a policy - CreatePolicy(context.Context, *CreatePolicyRequest) (*CreatePolicyResponse, error) - // Update a policy - UpdatePolicy(context.Context, *UpdatePolicyRequest) (*UpdatePolicyResponse, error) - // Archive a policy - ArchivePolicy(context.Context, *ArchivePolicyRequest) (*ArchivePolicyResponse, error) - mustEmbedUnimplementedPolicyServiceServer() -} - -// UnimplementedPolicyServiceServer must be embedded to have forward compatible implementations. -type UnimplementedPolicyServiceServer struct { -} - -func (UnimplementedPolicyServiceServer) GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetPolicy not implemented") -} -func (UnimplementedPolicyServiceServer) ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented") -} -func (UnimplementedPolicyServiceServer) CreatePolicy(context.Context, *CreatePolicyRequest) (*CreatePolicyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreatePolicy not implemented") -} -func (UnimplementedPolicyServiceServer) UpdatePolicy(context.Context, *UpdatePolicyRequest) (*UpdatePolicyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdatePolicy not implemented") -} -func (UnimplementedPolicyServiceServer) ArchivePolicy(context.Context, *ArchivePolicyRequest) (*ArchivePolicyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchivePolicy not implemented") -} -func (UnimplementedPolicyServiceServer) mustEmbedUnimplementedPolicyServiceServer() {} - -// UnsafePolicyServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to PolicyServiceServer will -// result in compilation errors. -type UnsafePolicyServiceServer interface { - mustEmbedUnimplementedPolicyServiceServer() -} - -func RegisterPolicyServiceServer(s grpc.ServiceRegistrar, srv PolicyServiceServer) { - s.RegisterService(&PolicyService_ServiceDesc, srv) -} - -func _PolicyService_GetPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetPolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PolicyServiceServer).GetPolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.policies.v1.PolicyService/GetPolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PolicyServiceServer).GetPolicy(ctx, req.(*GetPolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PolicyService_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListPoliciesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PolicyServiceServer).ListPolicies(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.policies.v1.PolicyService/ListPolicies", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PolicyServiceServer).ListPolicies(ctx, req.(*ListPoliciesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PolicyService_CreatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreatePolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PolicyServiceServer).CreatePolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.policies.v1.PolicyService/CreatePolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PolicyServiceServer).CreatePolicy(ctx, req.(*CreatePolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PolicyService_UpdatePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdatePolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PolicyServiceServer).UpdatePolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.policies.v1.PolicyService/UpdatePolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PolicyServiceServer).UpdatePolicy(ctx, req.(*UpdatePolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _PolicyService_ArchivePolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchivePolicyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(PolicyServiceServer).ArchivePolicy(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.policies.v1.PolicyService/ArchivePolicy", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(PolicyServiceServer).ArchivePolicy(ctx, req.(*ArchivePolicyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// PolicyService_ServiceDesc is the grpc.ServiceDesc for PolicyService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var PolicyService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "sift.policies.v1.PolicyService", - HandlerType: (*PolicyServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "GetPolicy", - Handler: _PolicyService_GetPolicy_Handler, - }, - { - MethodName: "ListPolicies", - Handler: _PolicyService_ListPolicies_Handler, - }, - { - MethodName: "CreatePolicy", - Handler: _PolicyService_CreatePolicy_Handler, - }, - { - MethodName: "UpdatePolicy", - Handler: _PolicyService_UpdatePolicy_Handler, - }, - { - MethodName: "ArchivePolicy", - Handler: _PolicyService_ArchivePolicy_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "sift/policies/v1/policies.proto", -} - -func (m *Policy) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Policy) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *Policy) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.GeneratedChangeMessage != nil { - i -= len(*m.GeneratedChangeMessage) - copy(dAtA[i:], *m.GeneratedChangeMessage) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.GeneratedChangeMessage))) - i-- - dAtA[i] = 0x7a - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x72 - } - if m.Version != nil { - i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Version)) - i-- - dAtA[i] = 0x68 - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x5a - } - if len(m.PolicyVersionId) > 0 { - i -= len(m.PolicyVersionId) - copy(dAtA[i:], m.PolicyVersionId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyVersionId))) - i-- - dAtA[i] = 0x52 - } - if m.Configuration != nil { - size, err := m.Configuration.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x32 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x2a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x22 - } - if m.Description != nil { - i -= len(*m.Description) - copy(dAtA[i:], *m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x12 - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PolicyConfiguration) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PolicyConfiguration) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *PolicyConfiguration) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.CedarPolicy) > 0 { - i -= len(m.CedarPolicy) - copy(dAtA[i:], m.CedarPolicy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CedarPolicy))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetPolicyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetPolicyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetPolicyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetPolicyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetPolicyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetPolicyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListPoliciesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListPoliciesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListPoliciesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListPoliciesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListPoliciesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListPoliciesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.Policies) > 0 { - for iNdEx := len(m.Policies) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Policies[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *CreatePolicyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreatePolicyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreatePolicyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x22 - } - if m.Configuration != nil { - size, err := m.Configuration.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Description != nil { - i -= len(*m.Description) - copy(dAtA[i:], *m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreatePolicyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreatePolicyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreatePolicyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdatePolicyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdatePolicyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdatePolicyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x1a - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdatePolicyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdatePolicyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdatePolicyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchivePolicyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchivePolicyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchivePolicyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchivePolicyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchivePolicyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchivePolicyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Policy) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *Policy) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *Policy) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.GeneratedChangeMessage != nil { - i -= len(*m.GeneratedChangeMessage) - copy(dAtA[i:], *m.GeneratedChangeMessage) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.GeneratedChangeMessage))) - i-- - dAtA[i] = 0x7a - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x72 - } - if m.Version != nil { - i = protohelpers.EncodeVarint(dAtA, i, uint64(*m.Version)) - i-- - dAtA[i] = 0x68 - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x60 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x5a - } - if len(m.PolicyVersionId) > 0 { - i -= len(m.PolicyVersionId) - copy(dAtA[i:], m.PolicyVersionId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyVersionId))) - i-- - dAtA[i] = 0x52 - } - if m.Configuration != nil { - size, err := m.Configuration.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x32 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x2a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x22 - } - if m.Description != nil { - i -= len(*m.Description) - copy(dAtA[i:], *m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x12 - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *PolicyConfiguration) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PolicyConfiguration) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *PolicyConfiguration) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.CedarPolicy) > 0 { - i -= len(m.CedarPolicy) - copy(dAtA[i:], m.CedarPolicy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CedarPolicy))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetPolicyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetPolicyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetPolicyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetPolicyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetPolicyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetPolicyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListPoliciesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListPoliciesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListPoliciesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListPoliciesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListPoliciesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListPoliciesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.Policies) > 0 { - for iNdEx := len(m.Policies) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Policies[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *CreatePolicyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreatePolicyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreatePolicyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x22 - } - if m.Configuration != nil { - size, err := m.Configuration.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if m.Description != nil { - i -= len(*m.Description) - copy(dAtA[i:], *m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreatePolicyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreatePolicyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreatePolicyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdatePolicyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdatePolicyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdatePolicyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.VersionNotes != nil { - i -= len(*m.VersionNotes) - copy(dAtA[i:], *m.VersionNotes) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.VersionNotes))) - i-- - dAtA[i] = 0x1a - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdatePolicyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdatePolicyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdatePolicyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchivePolicyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchivePolicyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchivePolicyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PolicyId) > 0 { - i -= len(m.PolicyId) - copy(dAtA[i:], m.PolicyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PolicyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchivePolicyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchivePolicyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchivePolicyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Policy != nil { - size, err := m.Policy.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *Policy) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PolicyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Description != nil { - l = len(*m.Description) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ModifiedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ModifiedDate != nil { - l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Configuration != nil { - l = m.Configuration.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.PolicyVersionId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IsArchived { - n += 2 - } - if m.Version != nil { - n += 1 + protohelpers.SizeOfVarint(uint64(*m.Version)) - } - if m.VersionNotes != nil { - l = len(*m.VersionNotes) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.GeneratedChangeMessage != nil { - l = len(*m.GeneratedChangeMessage) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *PolicyConfiguration) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.CedarPolicy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetPolicyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PolicyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetPolicyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListPoliciesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListPoliciesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.Policies) > 0 { - for _, e := range m.Policies { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreatePolicyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Description != nil { - l = len(*m.Description) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Configuration != nil { - l = m.Configuration.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.VersionNotes != nil { - l = len(*m.VersionNotes) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreatePolicyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdatePolicyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.UpdateMask != nil { - l = (*fieldmaskpb1.FieldMask)(m.UpdateMask).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.VersionNotes != nil { - l = len(*m.VersionNotes) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdatePolicyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchivePolicyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.PolicyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchivePolicyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Policy != nil { - l = m.Policy.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *Policy) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Policy: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Policy: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PolicyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.Description = &s - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ModifiedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Configuration", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Configuration == nil { - m.Configuration = &PolicyConfiguration{} - } - if err := m.Configuration.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyVersionId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PolicyVersionId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var v int32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Version = &v - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.VersionNotes = &s - iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GeneratedChangeMessage", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.GeneratedChangeMessage = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PolicyConfiguration) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PolicyConfiguration: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PolicyConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CedarPolicy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CedarPolicy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetPolicyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetPolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetPolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PolicyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetPolicyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetPolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetPolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListPoliciesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListPoliciesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListPoliciesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListPoliciesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListPoliciesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListPoliciesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policies", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Policies = append(m.Policies, &Policy{}) - if err := m.Policies[len(m.Policies)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreatePolicyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreatePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreatePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.Description = &s - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Configuration", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Configuration == nil { - m.Configuration = &PolicyConfiguration{} - } - if err := m.Configuration.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.VersionNotes = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreatePolicyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreatePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreatePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdatePolicyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdatePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - s := string(dAtA[iNdEx:postIndex]) - m.VersionNotes = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdatePolicyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdatePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchivePolicyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchivePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchivePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PolicyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchivePolicyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchivePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchivePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *Policy) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: Policy: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: Policy: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PolicyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Name = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.Description = &s - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ModifiedByUserId = stringValue - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Configuration", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Configuration == nil { - m.Configuration = &PolicyConfiguration{} - } - if err := m.Configuration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyVersionId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PolicyVersionId = stringValue - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 12: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - case 13: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Version", wireType) - } - var v int32 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.Version = &v - case 14: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.VersionNotes = &s - iNdEx = postIndex - case 15: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field GeneratedChangeMessage", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.GeneratedChangeMessage = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *PolicyConfiguration) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: PolicyConfiguration: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: PolicyConfiguration: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CedarPolicy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CedarPolicy = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetPolicyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetPolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetPolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PolicyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetPolicyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetPolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetPolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListPoliciesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListPoliciesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListPoliciesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListPoliciesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListPoliciesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListPoliciesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policies", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Policies = append(m.Policies, &Policy{}) - if err := m.Policies[len(m.Policies)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreatePolicyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreatePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreatePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Name = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.Description = &s - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Configuration", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Configuration == nil { - m.Configuration = &PolicyConfiguration{} - } - if err := m.Configuration.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.VersionNotes = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreatePolicyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreatePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreatePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdatePolicyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdatePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field VersionNotes", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - s := stringValue - m.VersionNotes = &s - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdatePolicyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdatePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdatePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchivePolicyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchivePolicyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchivePolicyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PolicyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PolicyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchivePolicyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchivePolicyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchivePolicyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Policy", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Policy == nil { - m.Policy = &Policy{} - } - if err := m.Policy.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} diff --git a/go/gen/sift/remote_files/v1/remote_files.pb.go b/go/gen/sift/remote_files/v1/remote_files.pb.go index 3a497e71e..059ae1663 100644 --- a/go/gen/sift/remote_files/v1/remote_files.pb.go +++ b/go/gen/sift/remote_files/v1/remote_files.pb.go @@ -25,6 +25,64 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) +type RemoteFileType int32 + +const ( + RemoteFileType_REMOTE_FILE_TYPE_UNSPECIFIED RemoteFileType = 0 + RemoteFileType_REMOTE_FILE_TYPE_TELEMETRY RemoteFileType = 1 // Data import / telemetry (internal: created by import job). + RemoteFileType_REMOTE_FILE_TYPE_IMAGE RemoteFileType = 2 + RemoteFileType_REMOTE_FILE_TYPE_VIDEO RemoteFileType = 3 + RemoteFileType_REMOTE_FILE_TYPE_AUDIO RemoteFileType = 4 + RemoteFileType_REMOTE_FILE_TYPE_TEST_REPORT RemoteFileType = 5 +) + +// Enum value maps for RemoteFileType. +var ( + RemoteFileType_name = map[int32]string{ + 0: "REMOTE_FILE_TYPE_UNSPECIFIED", + 1: "REMOTE_FILE_TYPE_TELEMETRY", + 2: "REMOTE_FILE_TYPE_IMAGE", + 3: "REMOTE_FILE_TYPE_VIDEO", + 4: "REMOTE_FILE_TYPE_AUDIO", + 5: "REMOTE_FILE_TYPE_TEST_REPORT", + } + RemoteFileType_value = map[string]int32{ + "REMOTE_FILE_TYPE_UNSPECIFIED": 0, + "REMOTE_FILE_TYPE_TELEMETRY": 1, + "REMOTE_FILE_TYPE_IMAGE": 2, + "REMOTE_FILE_TYPE_VIDEO": 3, + "REMOTE_FILE_TYPE_AUDIO": 4, + "REMOTE_FILE_TYPE_TEST_REPORT": 5, + } +) + +func (x RemoteFileType) Enum() *RemoteFileType { + p := new(RemoteFileType) + *p = x + return p +} + +func (x RemoteFileType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (RemoteFileType) Descriptor() protoreflect.EnumDescriptor { + return file_sift_remote_files_v1_remote_files_proto_enumTypes[0].Descriptor() +} + +func (RemoteFileType) Type() protoreflect.EnumType { + return &file_sift_remote_files_v1_remote_files_proto_enumTypes[0] +} + +func (x RemoteFileType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use RemoteFileType.Descriptor instead. +func (RemoteFileType) EnumDescriptor() ([]byte, []int) { + return file_sift_remote_files_v1_remote_files_proto_rawDescGZIP(), []int{0} +} + type EntityType int32 const ( @@ -70,11 +128,11 @@ func (x EntityType) String() string { } func (EntityType) Descriptor() protoreflect.EnumDescriptor { - return file_sift_remote_files_v1_remote_files_proto_enumTypes[0].Descriptor() + return file_sift_remote_files_v1_remote_files_proto_enumTypes[1].Descriptor() } func (EntityType) Type() protoreflect.EnumType { - return &file_sift_remote_files_v1_remote_files_proto_enumTypes[0] + return &file_sift_remote_files_v1_remote_files_proto_enumTypes[1] } func (x EntityType) Number() protoreflect.EnumNumber { @@ -83,7 +141,7 @@ func (x EntityType) Number() protoreflect.EnumNumber { // Deprecated: Use EntityType.Descriptor instead. func (EntityType) EnumDescriptor() ([]byte, []int) { - return file_sift_remote_files_v1_remote_files_proto_rawDescGZIP(), []int{0} + return file_sift_remote_files_v1_remote_files_proto_rawDescGZIP(), []int{1} } type RemoteFile struct { @@ -112,6 +170,7 @@ type RemoteFile struct { CreatedDate *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` ModifiedDate *timestamppb.Timestamp `protobuf:"bytes,16,opt,name=modified_date,json=modifiedDate,proto3" json:"modified_date,omitempty"` MetadataValues []*v1.MetadataValue `protobuf:"bytes,18,rep,name=metadata_values,json=metadataValues,proto3" json:"metadata_values,omitempty"` + RemoteFileType RemoteFileType `protobuf:"varint,20,opt,name=remote_file_type,json=remoteFileType,proto3,enum=sift.remote_files.v1.RemoteFileType" json:"remote_file_type,omitempty"` } func (x *RemoteFile) Reset() { @@ -279,6 +338,13 @@ func (x *RemoteFile) GetMetadataValues() []*v1.MetadataValue { return nil } +func (x *RemoteFile) GetRemoteFileType() RemoteFileType { + if x != nil { + return x.RemoteFileType + } + return RemoteFileType_REMOTE_FILE_TYPE_UNSPECIFIED +} + type isRemoteFile_Metadata interface { isRemoteFile_Metadata() } @@ -1355,7 +1421,7 @@ var file_sift_remote_files_v1_remote_files_proto_rawDesc = []byte{ 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x9d, 0x08, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x74, 0x6f, 0x22, 0xf2, 0x08, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, @@ -1419,160 +1485,178 @@ var file_sift_remote_files_v1_remote_files_proto_rawDesc = []byte{ 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x10, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x47, 0x0a, 0x0d, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x06, - 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x22, 0x7e, 0x0a, 0x0d, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa4, 0x06, - 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, - 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x69, - 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x37, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x0e, 0x61, - 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, - 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, - 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, - 0x75, 0x75, 0x69, 0x64, 0x22, 0x62, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x44, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, - 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x1a, - 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, 0x1d, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x56, 0x69, 0x64, 0x65, + 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x22, 0x47, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, + 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x7e, 0x0a, 0x0d, 0x41, 0x75, 0x64, + 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x62, 0x0a, 0x18, 0x55, + 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x15, + 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0xc9, 0x01, + 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, + 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0xa4, 0x06, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, + 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x69, 0x6d, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, + 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x69, + 0x64, 0x65, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, + 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, + 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x51, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, + 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, + 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, + 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0a, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x62, 0x0a, 0x18, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x44, 0x0a, + 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x47, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, - 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x4a, 0x0a, - 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, - 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x6f, - 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0xc9, 0x01, 0x0a, 0x0a, 0x45, 0x6e, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, + 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, + 0x22, 0x62, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x22, 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0xc8, + 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, + 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, + 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x4c, 0x45, 0x4d, 0x45, 0x54, 0x52, + 0x59, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, + 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, 0x45, 0x10, 0x02, 0x12, + 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x52, + 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x4d, 0x4f, 0x54, + 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, + 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xc9, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, @@ -1716,72 +1800,74 @@ func file_sift_remote_files_v1_remote_files_proto_rawDescGZIP() []byte { return file_sift_remote_files_v1_remote_files_proto_rawDescData } -var file_sift_remote_files_v1_remote_files_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_sift_remote_files_v1_remote_files_proto_enumTypes = make([]protoimpl.EnumInfo, 2) var file_sift_remote_files_v1_remote_files_proto_msgTypes = make([]protoimpl.MessageInfo, 18) var file_sift_remote_files_v1_remote_files_proto_goTypes = []interface{}{ - (EntityType)(0), // 0: sift.remote_files.v1.EntityType - (*RemoteFile)(nil), // 1: sift.remote_files.v1.RemoteFile - (*VideoMetadata)(nil), // 2: sift.remote_files.v1.VideoMetadata - (*ImageMetadata)(nil), // 3: sift.remote_files.v1.ImageMetadata - (*AudioMetadata)(nil), // 4: sift.remote_files.v1.AudioMetadata - (*GetRemoteFileRequest)(nil), // 5: sift.remote_files.v1.GetRemoteFileRequest - (*GetRemoteFileResponse)(nil), // 6: sift.remote_files.v1.GetRemoteFileResponse - (*ListRemoteFilesRequest)(nil), // 7: sift.remote_files.v1.ListRemoteFilesRequest - (*ListRemoteFilesResponse)(nil), // 8: sift.remote_files.v1.ListRemoteFilesResponse - (*CreateRemoteFileRequest)(nil), // 9: sift.remote_files.v1.CreateRemoteFileRequest - (*CreateRemoteFileResponse)(nil), // 10: sift.remote_files.v1.CreateRemoteFileResponse - (*DeleteRemoteFileRequest)(nil), // 11: sift.remote_files.v1.DeleteRemoteFileRequest - (*DeleteRemoteFileResponse)(nil), // 12: sift.remote_files.v1.DeleteRemoteFileResponse - (*BatchDeleteRemoteFilesRequest)(nil), // 13: sift.remote_files.v1.BatchDeleteRemoteFilesRequest - (*BatchDeleteRemoteFilesResponse)(nil), // 14: sift.remote_files.v1.BatchDeleteRemoteFilesResponse - (*UpdateRemoteFileRequest)(nil), // 15: sift.remote_files.v1.UpdateRemoteFileRequest - (*UpdateRemoteFileResponse)(nil), // 16: sift.remote_files.v1.UpdateRemoteFileResponse - (*GetRemoteFileDownloadUrlRequest)(nil), // 17: sift.remote_files.v1.GetRemoteFileDownloadUrlRequest - (*GetRemoteFileDownloadUrlResponse)(nil), // 18: sift.remote_files.v1.GetRemoteFileDownloadUrlResponse - (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp - (*v1.MetadataValue)(nil), // 20: sift.metadata.v1.MetadataValue - (*fieldmaskpb.FieldMask)(nil), // 21: google.protobuf.FieldMask + (RemoteFileType)(0), // 0: sift.remote_files.v1.RemoteFileType + (EntityType)(0), // 1: sift.remote_files.v1.EntityType + (*RemoteFile)(nil), // 2: sift.remote_files.v1.RemoteFile + (*VideoMetadata)(nil), // 3: sift.remote_files.v1.VideoMetadata + (*ImageMetadata)(nil), // 4: sift.remote_files.v1.ImageMetadata + (*AudioMetadata)(nil), // 5: sift.remote_files.v1.AudioMetadata + (*GetRemoteFileRequest)(nil), // 6: sift.remote_files.v1.GetRemoteFileRequest + (*GetRemoteFileResponse)(nil), // 7: sift.remote_files.v1.GetRemoteFileResponse + (*ListRemoteFilesRequest)(nil), // 8: sift.remote_files.v1.ListRemoteFilesRequest + (*ListRemoteFilesResponse)(nil), // 9: sift.remote_files.v1.ListRemoteFilesResponse + (*CreateRemoteFileRequest)(nil), // 10: sift.remote_files.v1.CreateRemoteFileRequest + (*CreateRemoteFileResponse)(nil), // 11: sift.remote_files.v1.CreateRemoteFileResponse + (*DeleteRemoteFileRequest)(nil), // 12: sift.remote_files.v1.DeleteRemoteFileRequest + (*DeleteRemoteFileResponse)(nil), // 13: sift.remote_files.v1.DeleteRemoteFileResponse + (*BatchDeleteRemoteFilesRequest)(nil), // 14: sift.remote_files.v1.BatchDeleteRemoteFilesRequest + (*BatchDeleteRemoteFilesResponse)(nil), // 15: sift.remote_files.v1.BatchDeleteRemoteFilesResponse + (*UpdateRemoteFileRequest)(nil), // 16: sift.remote_files.v1.UpdateRemoteFileRequest + (*UpdateRemoteFileResponse)(nil), // 17: sift.remote_files.v1.UpdateRemoteFileResponse + (*GetRemoteFileDownloadUrlRequest)(nil), // 18: sift.remote_files.v1.GetRemoteFileDownloadUrlRequest + (*GetRemoteFileDownloadUrlResponse)(nil), // 19: sift.remote_files.v1.GetRemoteFileDownloadUrlResponse + (*timestamppb.Timestamp)(nil), // 20: google.protobuf.Timestamp + (*v1.MetadataValue)(nil), // 21: sift.metadata.v1.MetadataValue + (*fieldmaskpb.FieldMask)(nil), // 22: google.protobuf.FieldMask } var file_sift_remote_files_v1_remote_files_proto_depIdxs = []int32{ - 0, // 0: sift.remote_files.v1.RemoteFile.entity_type:type_name -> sift.remote_files.v1.EntityType - 2, // 1: sift.remote_files.v1.RemoteFile.video_metadata:type_name -> sift.remote_files.v1.VideoMetadata - 3, // 2: sift.remote_files.v1.RemoteFile.image_metadata:type_name -> sift.remote_files.v1.ImageMetadata - 4, // 3: sift.remote_files.v1.RemoteFile.audio_metadata:type_name -> sift.remote_files.v1.AudioMetadata - 19, // 4: sift.remote_files.v1.RemoteFile.created_date:type_name -> google.protobuf.Timestamp - 19, // 5: sift.remote_files.v1.RemoteFile.modified_date:type_name -> google.protobuf.Timestamp - 20, // 6: sift.remote_files.v1.RemoteFile.metadata_values:type_name -> sift.metadata.v1.MetadataValue - 19, // 7: sift.remote_files.v1.VideoMetadata.timestamp:type_name -> google.protobuf.Timestamp - 19, // 8: sift.remote_files.v1.AudioMetadata.timestamp:type_name -> google.protobuf.Timestamp - 1, // 9: sift.remote_files.v1.GetRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile - 1, // 10: sift.remote_files.v1.ListRemoteFilesResponse.remote_files:type_name -> sift.remote_files.v1.RemoteFile - 0, // 11: sift.remote_files.v1.CreateRemoteFileRequest.entity_type:type_name -> sift.remote_files.v1.EntityType - 2, // 12: sift.remote_files.v1.CreateRemoteFileRequest.video_metadata:type_name -> sift.remote_files.v1.VideoMetadata - 3, // 13: sift.remote_files.v1.CreateRemoteFileRequest.image_metadata:type_name -> sift.remote_files.v1.ImageMetadata - 4, // 14: sift.remote_files.v1.CreateRemoteFileRequest.audio_metadata:type_name -> sift.remote_files.v1.AudioMetadata - 20, // 15: sift.remote_files.v1.CreateRemoteFileRequest.metadata_values:type_name -> sift.metadata.v1.MetadataValue - 1, // 16: sift.remote_files.v1.CreateRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile - 1, // 17: sift.remote_files.v1.UpdateRemoteFileRequest.remote_file:type_name -> sift.remote_files.v1.RemoteFile - 21, // 18: sift.remote_files.v1.UpdateRemoteFileRequest.update_mask:type_name -> google.protobuf.FieldMask - 1, // 19: sift.remote_files.v1.UpdateRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile - 5, // 20: sift.remote_files.v1.RemoteFileService.GetRemoteFile:input_type -> sift.remote_files.v1.GetRemoteFileRequest - 9, // 21: sift.remote_files.v1.RemoteFileService.CreateRemoteFile:input_type -> sift.remote_files.v1.CreateRemoteFileRequest - 7, // 22: sift.remote_files.v1.RemoteFileService.ListRemoteFiles:input_type -> sift.remote_files.v1.ListRemoteFilesRequest - 15, // 23: sift.remote_files.v1.RemoteFileService.UpdateRemoteFile:input_type -> sift.remote_files.v1.UpdateRemoteFileRequest - 11, // 24: sift.remote_files.v1.RemoteFileService.DeleteRemoteFile:input_type -> sift.remote_files.v1.DeleteRemoteFileRequest - 13, // 25: sift.remote_files.v1.RemoteFileService.BatchDeleteRemoteFiles:input_type -> sift.remote_files.v1.BatchDeleteRemoteFilesRequest - 17, // 26: sift.remote_files.v1.RemoteFileService.GetRemoteFileDownloadUrl:input_type -> sift.remote_files.v1.GetRemoteFileDownloadUrlRequest - 6, // 27: sift.remote_files.v1.RemoteFileService.GetRemoteFile:output_type -> sift.remote_files.v1.GetRemoteFileResponse - 10, // 28: sift.remote_files.v1.RemoteFileService.CreateRemoteFile:output_type -> sift.remote_files.v1.CreateRemoteFileResponse - 8, // 29: sift.remote_files.v1.RemoteFileService.ListRemoteFiles:output_type -> sift.remote_files.v1.ListRemoteFilesResponse - 16, // 30: sift.remote_files.v1.RemoteFileService.UpdateRemoteFile:output_type -> sift.remote_files.v1.UpdateRemoteFileResponse - 12, // 31: sift.remote_files.v1.RemoteFileService.DeleteRemoteFile:output_type -> sift.remote_files.v1.DeleteRemoteFileResponse - 14, // 32: sift.remote_files.v1.RemoteFileService.BatchDeleteRemoteFiles:output_type -> sift.remote_files.v1.BatchDeleteRemoteFilesResponse - 18, // 33: sift.remote_files.v1.RemoteFileService.GetRemoteFileDownloadUrl:output_type -> sift.remote_files.v1.GetRemoteFileDownloadUrlResponse - 27, // [27:34] is the sub-list for method output_type - 20, // [20:27] 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 + 1, // 0: sift.remote_files.v1.RemoteFile.entity_type:type_name -> sift.remote_files.v1.EntityType + 3, // 1: sift.remote_files.v1.RemoteFile.video_metadata:type_name -> sift.remote_files.v1.VideoMetadata + 4, // 2: sift.remote_files.v1.RemoteFile.image_metadata:type_name -> sift.remote_files.v1.ImageMetadata + 5, // 3: sift.remote_files.v1.RemoteFile.audio_metadata:type_name -> sift.remote_files.v1.AudioMetadata + 20, // 4: sift.remote_files.v1.RemoteFile.created_date:type_name -> google.protobuf.Timestamp + 20, // 5: sift.remote_files.v1.RemoteFile.modified_date:type_name -> google.protobuf.Timestamp + 21, // 6: sift.remote_files.v1.RemoteFile.metadata_values:type_name -> sift.metadata.v1.MetadataValue + 0, // 7: sift.remote_files.v1.RemoteFile.remote_file_type:type_name -> sift.remote_files.v1.RemoteFileType + 20, // 8: sift.remote_files.v1.VideoMetadata.timestamp:type_name -> google.protobuf.Timestamp + 20, // 9: sift.remote_files.v1.AudioMetadata.timestamp:type_name -> google.protobuf.Timestamp + 2, // 10: sift.remote_files.v1.GetRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile + 2, // 11: sift.remote_files.v1.ListRemoteFilesResponse.remote_files:type_name -> sift.remote_files.v1.RemoteFile + 1, // 12: sift.remote_files.v1.CreateRemoteFileRequest.entity_type:type_name -> sift.remote_files.v1.EntityType + 3, // 13: sift.remote_files.v1.CreateRemoteFileRequest.video_metadata:type_name -> sift.remote_files.v1.VideoMetadata + 4, // 14: sift.remote_files.v1.CreateRemoteFileRequest.image_metadata:type_name -> sift.remote_files.v1.ImageMetadata + 5, // 15: sift.remote_files.v1.CreateRemoteFileRequest.audio_metadata:type_name -> sift.remote_files.v1.AudioMetadata + 21, // 16: sift.remote_files.v1.CreateRemoteFileRequest.metadata_values:type_name -> sift.metadata.v1.MetadataValue + 2, // 17: sift.remote_files.v1.CreateRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile + 2, // 18: sift.remote_files.v1.UpdateRemoteFileRequest.remote_file:type_name -> sift.remote_files.v1.RemoteFile + 22, // 19: sift.remote_files.v1.UpdateRemoteFileRequest.update_mask:type_name -> google.protobuf.FieldMask + 2, // 20: sift.remote_files.v1.UpdateRemoteFileResponse.remote_file:type_name -> sift.remote_files.v1.RemoteFile + 6, // 21: sift.remote_files.v1.RemoteFileService.GetRemoteFile:input_type -> sift.remote_files.v1.GetRemoteFileRequest + 10, // 22: sift.remote_files.v1.RemoteFileService.CreateRemoteFile:input_type -> sift.remote_files.v1.CreateRemoteFileRequest + 8, // 23: sift.remote_files.v1.RemoteFileService.ListRemoteFiles:input_type -> sift.remote_files.v1.ListRemoteFilesRequest + 16, // 24: sift.remote_files.v1.RemoteFileService.UpdateRemoteFile:input_type -> sift.remote_files.v1.UpdateRemoteFileRequest + 12, // 25: sift.remote_files.v1.RemoteFileService.DeleteRemoteFile:input_type -> sift.remote_files.v1.DeleteRemoteFileRequest + 14, // 26: sift.remote_files.v1.RemoteFileService.BatchDeleteRemoteFiles:input_type -> sift.remote_files.v1.BatchDeleteRemoteFilesRequest + 18, // 27: sift.remote_files.v1.RemoteFileService.GetRemoteFileDownloadUrl:input_type -> sift.remote_files.v1.GetRemoteFileDownloadUrlRequest + 7, // 28: sift.remote_files.v1.RemoteFileService.GetRemoteFile:output_type -> sift.remote_files.v1.GetRemoteFileResponse + 11, // 29: sift.remote_files.v1.RemoteFileService.CreateRemoteFile:output_type -> sift.remote_files.v1.CreateRemoteFileResponse + 9, // 30: sift.remote_files.v1.RemoteFileService.ListRemoteFiles:output_type -> sift.remote_files.v1.ListRemoteFilesResponse + 17, // 31: sift.remote_files.v1.RemoteFileService.UpdateRemoteFile:output_type -> sift.remote_files.v1.UpdateRemoteFileResponse + 13, // 32: sift.remote_files.v1.RemoteFileService.DeleteRemoteFile:output_type -> sift.remote_files.v1.DeleteRemoteFileResponse + 15, // 33: sift.remote_files.v1.RemoteFileService.BatchDeleteRemoteFiles:output_type -> sift.remote_files.v1.BatchDeleteRemoteFilesResponse + 19, // 34: sift.remote_files.v1.RemoteFileService.GetRemoteFileDownloadUrl:output_type -> sift.remote_files.v1.GetRemoteFileDownloadUrlResponse + 28, // [28:35] is the sub-list for method output_type + 21, // [21:28] 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_sift_remote_files_v1_remote_files_proto_init() } @@ -2022,7 +2108,7 @@ func file_sift_remote_files_v1_remote_files_proto_init() { File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_sift_remote_files_v1_remote_files_proto_rawDesc, - NumEnums: 1, + NumEnums: 2, NumMessages: 18, NumExtensions: 0, NumServices: 1, diff --git a/go/gen/sift/remote_files/v1/remote_files_vtproto.pb.go b/go/gen/sift/remote_files/v1/remote_files_vtproto.pb.go index 435c73648..34405f1a9 100644 --- a/go/gen/sift/remote_files/v1/remote_files_vtproto.pb.go +++ b/go/gen/sift/remote_files/v1/remote_files_vtproto.pb.go @@ -49,6 +49,7 @@ func (m *RemoteFile) CloneVT() *RemoteFile { r.ModifiedByUserId = m.ModifiedByUserId r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) r.ModifiedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ModifiedDate).CloneVT()) + r.RemoteFileType = m.RemoteFileType if rhs := m.Description; rhs != nil { tmpVal := *rhs r.Description = &tmpVal @@ -551,6 +552,9 @@ func (this *RemoteFile) EqualVT(that *RemoteFile) bool { } } } + if this.RemoteFileType != that.RemoteFileType { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1499,6 +1503,13 @@ func (m *RemoteFile) MarshalToSizedBufferVT(dAtA []byte) (int, error) { } i -= size } + if m.RemoteFileType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoteFileType)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } if len(m.MetadataValues) > 0 { for iNdEx := len(m.MetadataValues) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.MetadataValues[iNdEx]).(interface { @@ -2620,6 +2631,13 @@ func (m *RemoteFile) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.RemoteFileType != 0 { + i = protohelpers.EncodeVarint(dAtA, i, uint64(m.RemoteFileType)) + i-- + dAtA[i] = 0x1 + i-- + dAtA[i] = 0xa0 + } if len(m.MetadataValues) > 0 { for iNdEx := len(m.MetadataValues) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.MetadataValues[iNdEx]).(interface { @@ -3819,6 +3837,9 @@ func (m *RemoteFile) SizeVT() (n int) { n += 2 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.RemoteFileType != 0 { + n += 2 + protohelpers.SizeOfVarint(uint64(m.RemoteFileType)) + } n += len(m.unknownFields) return n } @@ -4836,6 +4857,25 @@ func (m *RemoteFile) UnmarshalVT(dAtA []byte) error { } } iNdEx = postIndex + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteFileType", wireType) + } + m.RemoteFileType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RemoteFileType |= RemoteFileType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -7542,6 +7582,25 @@ func (m *RemoteFile) UnmarshalVTUnsafe(dAtA []byte) error { } } iNdEx = postIndex + case 20: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field RemoteFileType", wireType) + } + m.RemoteFileType = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.RemoteFileType |= RemoteFileType(b&0x7F) << shift + if b < 0x80 { + break + } + } default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/resource_attribute/v1/resource_attribute.pb.go b/go/gen/sift/resource_attribute/v1/resource_attribute.pb.go deleted file mode 100644 index 44bd70f66..000000000 --- a/go/gen/sift/resource_attribute/v1/resource_attribute.pb.go +++ /dev/null @@ -1,5381 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc (unknown) -// source: sift/resource_attribute/v1/resource_attribute.proto - -package resource_attributev1 - -import ( - _ "github.com/sift-stack/sift/go/gen/buf/validate" - _ "github.com/sift-stack/sift/go/gen/google/api" - _ "github.com/sift-stack/sift/go/gen/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - 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) -) - -// Values become selectable enumerable options. -type ResourceAttributeKeyType int32 - -const ( - ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED ResourceAttributeKeyType = 0 - ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM ResourceAttributeKeyType = 1 - ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN ResourceAttributeKeyType = 2 - ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER ResourceAttributeKeyType = 3 - ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM ResourceAttributeKeyType = 4 -) - -// Enum value maps for ResourceAttributeKeyType. -var ( - ResourceAttributeKeyType_name = map[int32]string{ - 0: "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED", - 1: "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM", - 2: "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN", - 3: "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER", - 4: "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM", - } - ResourceAttributeKeyType_value = map[string]int32{ - "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED": 0, - "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM": 1, - "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN": 2, - "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER": 3, - "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM": 4, - } -) - -func (x ResourceAttributeKeyType) Enum() *ResourceAttributeKeyType { - p := new(ResourceAttributeKeyType) - *p = x - return p -} - -func (x ResourceAttributeKeyType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResourceAttributeKeyType) Descriptor() protoreflect.EnumDescriptor { - return file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes[0].Descriptor() -} - -func (ResourceAttributeKeyType) Type() protoreflect.EnumType { - return &file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes[0] -} - -func (x ResourceAttributeKeyType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResourceAttributeKeyType.Descriptor instead. -func (ResourceAttributeKeyType) EnumDescriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{0} -} - -type ResourceAttributeEntityType int32 - -const ( - ResourceAttributeEntityType_RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED ResourceAttributeEntityType = 0 - ResourceAttributeEntityType_RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET ResourceAttributeEntityType = 1 - ResourceAttributeEntityType_RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL ResourceAttributeEntityType = 2 -) - -// Enum value maps for ResourceAttributeEntityType. -var ( - ResourceAttributeEntityType_name = map[int32]string{ - 0: "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED", - 1: "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET", - 2: "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL", - } - ResourceAttributeEntityType_value = map[string]int32{ - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED": 0, - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET": 1, - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL": 2, - } -) - -func (x ResourceAttributeEntityType) Enum() *ResourceAttributeEntityType { - p := new(ResourceAttributeEntityType) - *p = x - return p -} - -func (x ResourceAttributeEntityType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ResourceAttributeEntityType) Descriptor() protoreflect.EnumDescriptor { - return file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes[1].Descriptor() -} - -func (ResourceAttributeEntityType) Type() protoreflect.EnumType { - return &file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes[1] -} - -func (x ResourceAttributeEntityType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ResourceAttributeEntityType.Descriptor instead. -func (ResourceAttributeEntityType) EnumDescriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{1} -} - -// A ResourceAttribute Key defines an attribute that can be assigned to Entities for the purpose of attribute based access control (ABAC). -type ResourceAttributeKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - Type ResourceAttributeKeyType `protobuf:"varint,5,opt,name=type,proto3,enum=sift.resource_attribute.v1.ResourceAttributeKeyType" json:"type,omitempty"` - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - CreatedByUserId string `protobuf:"bytes,7,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - ModifiedDate *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=modified_date,json=modifiedDate,proto3" json:"modified_date,omitempty"` - ModifiedByUserId string `protobuf:"bytes,9,opt,name=modified_by_user_id,json=modifiedByUserId,proto3" json:"modified_by_user_id,omitempty"` - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` -} - -func (x *ResourceAttributeKey) Reset() { - *x = ResourceAttributeKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceAttributeKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceAttributeKey) ProtoMessage() {} - -func (x *ResourceAttributeKey) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ResourceAttributeKey.ProtoReflect.Descriptor instead. -func (*ResourceAttributeKey) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{0} -} - -func (x *ResourceAttributeKey) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *ResourceAttributeKey) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *ResourceAttributeKey) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *ResourceAttributeKey) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *ResourceAttributeKey) GetType() ResourceAttributeKeyType { - if x != nil { - return x.Type - } - return ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED -} - -func (x *ResourceAttributeKey) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *ResourceAttributeKey) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *ResourceAttributeKey) GetModifiedDate() *timestamppb.Timestamp { - if x != nil { - return x.ModifiedDate - } - return nil -} - -func (x *ResourceAttributeKey) GetModifiedByUserId() string { - if x != nil { - return x.ModifiedByUserId - } - return "" -} - -func (x *ResourceAttributeKey) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -// Represents a possible enumerable value for ENUM type resource_attribute keys. -// Users can add new enum values as needed. -type ResourceAttributeEnumValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValueId string `protobuf:"bytes,1,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3" json:"resource_attribute_enum_value_id,omitempty"` - ResourceAttributeKeyId string `protobuf:"bytes,2,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - DisplayName string `protobuf:"bytes,3,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - CreatedByUserId string `protobuf:"bytes,6,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - ModifiedDate *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=modified_date,json=modifiedDate,proto3" json:"modified_date,omitempty"` - ModifiedByUserId string `protobuf:"bytes,8,opt,name=modified_by_user_id,json=modifiedByUserId,proto3" json:"modified_by_user_id,omitempty"` - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` -} - -func (x *ResourceAttributeEnumValue) Reset() { - *x = ResourceAttributeEnumValue{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceAttributeEnumValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceAttributeEnumValue) ProtoMessage() {} - -func (x *ResourceAttributeEnumValue) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ResourceAttributeEnumValue.ProtoReflect.Descriptor instead. -func (*ResourceAttributeEnumValue) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{1} -} - -func (x *ResourceAttributeEnumValue) GetResourceAttributeEnumValueId() string { - if x != nil { - return x.ResourceAttributeEnumValueId - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *ResourceAttributeEnumValue) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetModifiedDate() *timestamppb.Timestamp { - if x != nil { - return x.ModifiedDate - } - return nil -} - -func (x *ResourceAttributeEnumValue) GetModifiedByUserId() string { - if x != nil { - return x.ModifiedByUserId - } - return "" -} - -func (x *ResourceAttributeEnumValue) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -// Represents the assignment of a resource_attribute key-value pair to an entity (asset or channel). -type ResourceAttribute struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeId string `protobuf:"bytes,1,opt,name=resource_attribute_id,json=resourceAttributeId,proto3" json:"resource_attribute_id,omitempty"` - OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - Entity *ResourceAttributeEntityIdentifier `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"` - ResourceAttributeKeyId string `protobuf:"bytes,4,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - // Populated in responses with full key details. - Key *ResourceAttributeKey `protobuf:"bytes,5,opt,name=key,proto3" json:"key,omitempty"` - // Types that are assignable to Value: - // - // *ResourceAttribute_ResourceAttributeEnumValueId - // *ResourceAttribute_BooleanValue - // *ResourceAttribute_NumberValue - Value isResourceAttribute_Value `protobuf_oneof:"value"` - // Populated in responses with full enum value details. - EnumValueDetails *ResourceAttributeEnumValue `protobuf:"bytes,9,opt,name=enum_value_details,json=enumValueDetails,proto3" json:"enum_value_details,omitempty"` - // The timestamp when the relation between the Entity and ResourceAttribute Key and Value was created. - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - CreatedByUserId string `protobuf:"bytes,11,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` -} - -func (x *ResourceAttribute) Reset() { - *x = ResourceAttribute{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceAttribute) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceAttribute) ProtoMessage() {} - -func (x *ResourceAttribute) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ResourceAttribute.ProtoReflect.Descriptor instead. -func (*ResourceAttribute) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{2} -} - -func (x *ResourceAttribute) GetResourceAttributeId() string { - if x != nil { - return x.ResourceAttributeId - } - return "" -} - -func (x *ResourceAttribute) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *ResourceAttribute) GetEntity() *ResourceAttributeEntityIdentifier { - if x != nil { - return x.Entity - } - return nil -} - -func (x *ResourceAttribute) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *ResourceAttribute) GetKey() *ResourceAttributeKey { - if x != nil { - return x.Key - } - return nil -} - -func (m *ResourceAttribute) GetValue() isResourceAttribute_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *ResourceAttribute) GetResourceAttributeEnumValueId() string { - if x, ok := x.GetValue().(*ResourceAttribute_ResourceAttributeEnumValueId); ok { - return x.ResourceAttributeEnumValueId - } - return "" -} - -func (x *ResourceAttribute) GetBooleanValue() bool { - if x, ok := x.GetValue().(*ResourceAttribute_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -func (x *ResourceAttribute) GetNumberValue() float64 { - if x, ok := x.GetValue().(*ResourceAttribute_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -func (x *ResourceAttribute) GetEnumValueDetails() *ResourceAttributeEnumValue { - if x != nil { - return x.EnumValueDetails - } - return nil -} - -func (x *ResourceAttribute) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *ResourceAttribute) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *ResourceAttribute) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -type isResourceAttribute_Value interface { - isResourceAttribute_Value() -} - -type ResourceAttribute_ResourceAttributeEnumValueId struct { - ResourceAttributeEnumValueId string `protobuf:"bytes,6,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3,oneof"` -} - -type ResourceAttribute_BooleanValue struct { - BooleanValue bool `protobuf:"varint,7,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -type ResourceAttribute_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,8,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -func (*ResourceAttribute_ResourceAttributeEnumValueId) isResourceAttribute_Value() {} - -func (*ResourceAttribute_BooleanValue) isResourceAttribute_Value() {} - -func (*ResourceAttribute_NumberValue) isResourceAttribute_Value() {} - -// Represents an entity to which a resource_attribute will be assigned. -type ResourceAttributeEntityIdentifier struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - EntityId string `protobuf:"bytes,1,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"` - EntityType ResourceAttributeEntityType `protobuf:"varint,2,opt,name=entity_type,json=entityType,proto3,enum=sift.resource_attribute.v1.ResourceAttributeEntityType" json:"entity_type,omitempty"` -} - -func (x *ResourceAttributeEntityIdentifier) Reset() { - *x = ResourceAttributeEntityIdentifier{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceAttributeEntityIdentifier) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceAttributeEntityIdentifier) ProtoMessage() {} - -func (x *ResourceAttributeEntityIdentifier) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ResourceAttributeEntityIdentifier.ProtoReflect.Descriptor instead. -func (*ResourceAttributeEntityIdentifier) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{3} -} - -func (x *ResourceAttributeEntityIdentifier) GetEntityId() string { - if x != nil { - return x.EntityId - } - return "" -} - -func (x *ResourceAttributeEntityIdentifier) GetEntityType() ResourceAttributeEntityType { - if x != nil { - return x.EntityType - } - return ResourceAttributeEntityType_RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED -} - -// ResourceAttribute Key RPC messages -type CreateResourceAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Type ResourceAttributeKeyType `protobuf:"varint,3,opt,name=type,proto3,enum=sift.resource_attribute.v1.ResourceAttributeKeyType" json:"type,omitempty"` - // Optional initial enum values to create alongside the key. Only applicable for ENUM type keys. - InitialEnumValues []*CreateResourceAttributeKeyRequest_InitialEnumValue `protobuf:"bytes,4,rep,name=initial_enum_values,json=initialEnumValues,proto3" json:"initial_enum_values,omitempty"` -} - -func (x *CreateResourceAttributeKeyRequest) Reset() { - *x = CreateResourceAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeKeyRequest) ProtoMessage() {} - -func (x *CreateResourceAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 CreateResourceAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{4} -} - -func (x *CreateResourceAttributeKeyRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *CreateResourceAttributeKeyRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *CreateResourceAttributeKeyRequest) GetType() ResourceAttributeKeyType { - if x != nil { - return x.Type - } - return ResourceAttributeKeyType_RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED -} - -func (x *CreateResourceAttributeKeyRequest) GetInitialEnumValues() []*CreateResourceAttributeKeyRequest_InitialEnumValue { - if x != nil { - return x.InitialEnumValues - } - return nil -} - -type CreateResourceAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKey *ResourceAttributeKey `protobuf:"bytes,1,opt,name=resource_attribute_key,json=resourceAttributeKey,proto3" json:"resource_attribute_key,omitempty"` - // The enum values created alongside the key, if any were provided in the request. - EnumValues []*ResourceAttributeEnumValue `protobuf:"bytes,2,rep,name=enum_values,json=enumValues,proto3" json:"enum_values,omitempty"` -} - -func (x *CreateResourceAttributeKeyResponse) Reset() { - *x = CreateResourceAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeKeyResponse) ProtoMessage() {} - -func (x *CreateResourceAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 CreateResourceAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{5} -} - -func (x *CreateResourceAttributeKeyResponse) GetResourceAttributeKey() *ResourceAttributeKey { - if x != nil { - return x.ResourceAttributeKey - } - return nil -} - -func (x *CreateResourceAttributeKeyResponse) GetEnumValues() []*ResourceAttributeEnumValue { - if x != nil { - return x.EnumValues - } - return nil -} - -type GetResourceAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` -} - -func (x *GetResourceAttributeKeyRequest) Reset() { - *x = GetResourceAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeKeyRequest) ProtoMessage() {} - -func (x *GetResourceAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{6} -} - -func (x *GetResourceAttributeKeyRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -type GetResourceAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKey *ResourceAttributeKey `protobuf:"bytes,1,opt,name=resource_attribute_key,json=resourceAttributeKey,proto3" json:"resource_attribute_key,omitempty"` -} - -func (x *GetResourceAttributeKeyResponse) Reset() { - *x = GetResourceAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeKeyResponse) ProtoMessage() {} - -func (x *GetResourceAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{7} -} - -func (x *GetResourceAttributeKeyResponse) GetResourceAttributeKey() *ResourceAttributeKey { - if x != nil { - return x.ResourceAttributeKey - } - return nil -} - -type ListResourceAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The maximum number of resource_attribute keys to return. The service may return fewer than this value. - // If unspecified, at most 50 resource_attribute keys will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListResourceAttributeKeys` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributeKeys` must match - // the call that provided the page token. - PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_key_id`, `name`, `description`, `type`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved resource_attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,name" - OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - // Whether to include archived resource_attribute keys. Defaults to false. - IncludeArchived bool `protobuf:"varint,5,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListResourceAttributeKeysRequest) Reset() { - *x = ListResourceAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributeKeysRequest) ProtoMessage() {} - -func (x *ListResourceAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*ListResourceAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{8} -} - -func (x *ListResourceAttributeKeysRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListResourceAttributeKeysRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListResourceAttributeKeysRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListResourceAttributeKeysRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListResourceAttributeKeysRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -type ListResourceAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeys []*ResourceAttributeKey `protobuf:"bytes,1,rep,name=resource_attribute_keys,json=resourceAttributeKeys,proto3" json:"resource_attribute_keys,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListResourceAttributeKeysResponse) Reset() { - *x = ListResourceAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributeKeysResponse) ProtoMessage() {} - -func (x *ListResourceAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*ListResourceAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{9} -} - -func (x *ListResourceAttributeKeysResponse) GetResourceAttributeKeys() []*ResourceAttributeKey { - if x != nil { - return x.ResourceAttributeKeys - } - return nil -} - -func (x *ListResourceAttributeKeysResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -type UpdateResourceAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - // The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` -} - -func (x *UpdateResourceAttributeKeyRequest) Reset() { - *x = UpdateResourceAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateResourceAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateResourceAttributeKeyRequest) ProtoMessage() {} - -func (x *UpdateResourceAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UpdateResourceAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*UpdateResourceAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{10} -} - -func (x *UpdateResourceAttributeKeyRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *UpdateResourceAttributeKeyRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *UpdateResourceAttributeKeyRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UpdateResourceAttributeKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { - if x != nil { - return x.UpdateMask - } - return nil -} - -type UpdateResourceAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKey *ResourceAttributeKey `protobuf:"bytes,1,opt,name=resource_attribute_key,json=resourceAttributeKey,proto3" json:"resource_attribute_key,omitempty"` -} - -func (x *UpdateResourceAttributeKeyResponse) Reset() { - *x = UpdateResourceAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateResourceAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateResourceAttributeKeyResponse) ProtoMessage() {} - -func (x *UpdateResourceAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UpdateResourceAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*UpdateResourceAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{11} -} - -func (x *UpdateResourceAttributeKeyResponse) GetResourceAttributeKey() *ResourceAttributeKey { - if x != nil { - return x.ResourceAttributeKey - } - return nil -} - -type ArchiveResourceAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` -} - -func (x *ArchiveResourceAttributeKeyRequest) Reset() { - *x = ArchiveResourceAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeKeyRequest) ProtoMessage() {} - -func (x *ArchiveResourceAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ArchiveResourceAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{12} -} - -func (x *ArchiveResourceAttributeKeyRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -type ArchiveResourceAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ArchiveResourceAttributeKeyResponse) Reset() { - *x = ArchiveResourceAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeKeyResponse) ProtoMessage() {} - -func (x *ArchiveResourceAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ArchiveResourceAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{13} -} - -type UnarchiveResourceAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` -} - -func (x *UnarchiveResourceAttributeKeyRequest) Reset() { - *x = UnarchiveResourceAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeKeyRequest) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UnarchiveResourceAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{14} -} - -func (x *UnarchiveResourceAttributeKeyRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -type UnarchiveResourceAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnarchiveResourceAttributeKeyResponse) Reset() { - *x = UnarchiveResourceAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeKeyResponse) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UnarchiveResourceAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{15} -} - -type BatchArchiveResourceAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyIds []string `protobuf:"bytes,1,rep,name=resource_attribute_key_ids,json=resourceAttributeKeyIds,proto3" json:"resource_attribute_key_ids,omitempty"` -} - -func (x *BatchArchiveResourceAttributeKeysRequest) Reset() { - *x = BatchArchiveResourceAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributeKeysRequest) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{16} -} - -func (x *BatchArchiveResourceAttributeKeysRequest) GetResourceAttributeKeyIds() []string { - if x != nil { - return x.ResourceAttributeKeyIds - } - return nil -} - -type BatchArchiveResourceAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BatchArchiveResourceAttributeKeysResponse) Reset() { - *x = BatchArchiveResourceAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributeKeysResponse) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{17} -} - -type BatchUnarchiveResourceAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyIds []string `protobuf:"bytes,1,rep,name=resource_attribute_key_ids,json=resourceAttributeKeyIds,proto3" json:"resource_attribute_key_ids,omitempty"` -} - -func (x *BatchUnarchiveResourceAttributeKeysRequest) Reset() { - *x = BatchUnarchiveResourceAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributeKeysRequest) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchUnarchiveResourceAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{18} -} - -func (x *BatchUnarchiveResourceAttributeKeysRequest) GetResourceAttributeKeyIds() []string { - if x != nil { - return x.ResourceAttributeKeyIds - } - return nil -} - -type BatchUnarchiveResourceAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BatchUnarchiveResourceAttributeKeysResponse) Reset() { - *x = BatchUnarchiveResourceAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributeKeysResponse) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchUnarchiveResourceAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{19} -} - -// ResourceAttribute Enum Value RPC messages -type CreateResourceAttributeEnumValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` -} - -func (x *CreateResourceAttributeEnumValueRequest) Reset() { - *x = CreateResourceAttributeEnumValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeEnumValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeEnumValueRequest) ProtoMessage() {} - -func (x *CreateResourceAttributeEnumValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 CreateResourceAttributeEnumValueRequest.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeEnumValueRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{20} -} - -func (x *CreateResourceAttributeEnumValueRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *CreateResourceAttributeEnumValueRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *CreateResourceAttributeEnumValueRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -type CreateResourceAttributeEnumValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValue *ResourceAttributeEnumValue `protobuf:"bytes,1,opt,name=resource_attribute_enum_value,json=resourceAttributeEnumValue,proto3" json:"resource_attribute_enum_value,omitempty"` -} - -func (x *CreateResourceAttributeEnumValueResponse) Reset() { - *x = CreateResourceAttributeEnumValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeEnumValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeEnumValueResponse) ProtoMessage() {} - -func (x *CreateResourceAttributeEnumValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 CreateResourceAttributeEnumValueResponse.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeEnumValueResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{21} -} - -func (x *CreateResourceAttributeEnumValueResponse) GetResourceAttributeEnumValue() *ResourceAttributeEnumValue { - if x != nil { - return x.ResourceAttributeEnumValue - } - return nil -} - -type GetResourceAttributeEnumValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValueId string `protobuf:"bytes,1,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3" json:"resource_attribute_enum_value_id,omitempty"` -} - -func (x *GetResourceAttributeEnumValueRequest) Reset() { - *x = GetResourceAttributeEnumValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeEnumValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeEnumValueRequest) ProtoMessage() {} - -func (x *GetResourceAttributeEnumValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeEnumValueRequest.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeEnumValueRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{22} -} - -func (x *GetResourceAttributeEnumValueRequest) GetResourceAttributeEnumValueId() string { - if x != nil { - return x.ResourceAttributeEnumValueId - } - return "" -} - -type GetResourceAttributeEnumValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValue *ResourceAttributeEnumValue `protobuf:"bytes,1,opt,name=resource_attribute_enum_value,json=resourceAttributeEnumValue,proto3" json:"resource_attribute_enum_value,omitempty"` -} - -func (x *GetResourceAttributeEnumValueResponse) Reset() { - *x = GetResourceAttributeEnumValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeEnumValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeEnumValueResponse) ProtoMessage() {} - -func (x *GetResourceAttributeEnumValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeEnumValueResponse.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeEnumValueResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{23} -} - -func (x *GetResourceAttributeEnumValueResponse) GetResourceAttributeEnumValue() *ResourceAttributeEnumValue { - if x != nil { - return x.ResourceAttributeEnumValue - } - return nil -} - -type ListResourceAttributeEnumValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - // The maximum number of enum values to return. The service may return fewer than this value. - // If unspecified, at most 50 enum values will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListResourceAttributeEnumValues` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributeEnumValues` must match - // the call that provided the page token. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_enum_value_id`, `name`, `description`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved enum values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "name,created_date desc" - OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - // Whether to include archived enum values. Defaults to false. - IncludeArchived bool `protobuf:"varint,6,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListResourceAttributeEnumValuesRequest) Reset() { - *x = ListResourceAttributeEnumValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributeEnumValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributeEnumValuesRequest) ProtoMessage() {} - -func (x *ListResourceAttributeEnumValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributeEnumValuesRequest.ProtoReflect.Descriptor instead. -func (*ListResourceAttributeEnumValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{24} -} - -func (x *ListResourceAttributeEnumValuesRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (x *ListResourceAttributeEnumValuesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListResourceAttributeEnumValuesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListResourceAttributeEnumValuesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListResourceAttributeEnumValuesRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListResourceAttributeEnumValuesRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -type ListResourceAttributeEnumValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValues []*ResourceAttributeEnumValue `protobuf:"bytes,1,rep,name=resource_attribute_enum_values,json=resourceAttributeEnumValues,proto3" json:"resource_attribute_enum_values,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListResourceAttributeEnumValuesResponse) Reset() { - *x = ListResourceAttributeEnumValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributeEnumValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributeEnumValuesResponse) ProtoMessage() {} - -func (x *ListResourceAttributeEnumValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[25] - 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 ListResourceAttributeEnumValuesResponse.ProtoReflect.Descriptor instead. -func (*ListResourceAttributeEnumValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{25} -} - -func (x *ListResourceAttributeEnumValuesResponse) GetResourceAttributeEnumValues() []*ResourceAttributeEnumValue { - if x != nil { - return x.ResourceAttributeEnumValues - } - return nil -} - -func (x *ListResourceAttributeEnumValuesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -type UpdateResourceAttributeEnumValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValueId string `protobuf:"bytes,1,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3" json:"resource_attribute_enum_value_id,omitempty"` - DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - // The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` -} - -func (x *UpdateResourceAttributeEnumValueRequest) Reset() { - *x = UpdateResourceAttributeEnumValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateResourceAttributeEnumValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateResourceAttributeEnumValueRequest) ProtoMessage() {} - -func (x *UpdateResourceAttributeEnumValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UpdateResourceAttributeEnumValueRequest.ProtoReflect.Descriptor instead. -func (*UpdateResourceAttributeEnumValueRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{26} -} - -func (x *UpdateResourceAttributeEnumValueRequest) GetResourceAttributeEnumValueId() string { - if x != nil { - return x.ResourceAttributeEnumValueId - } - return "" -} - -func (x *UpdateResourceAttributeEnumValueRequest) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *UpdateResourceAttributeEnumValueRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UpdateResourceAttributeEnumValueRequest) GetUpdateMask() *fieldmaskpb.FieldMask { - if x != nil { - return x.UpdateMask - } - return nil -} - -type UpdateResourceAttributeEnumValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValue *ResourceAttributeEnumValue `protobuf:"bytes,1,opt,name=resource_attribute_enum_value,json=resourceAttributeEnumValue,proto3" json:"resource_attribute_enum_value,omitempty"` -} - -func (x *UpdateResourceAttributeEnumValueResponse) Reset() { - *x = UpdateResourceAttributeEnumValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateResourceAttributeEnumValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateResourceAttributeEnumValueResponse) ProtoMessage() {} - -func (x *UpdateResourceAttributeEnumValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UpdateResourceAttributeEnumValueResponse.ProtoReflect.Descriptor instead. -func (*UpdateResourceAttributeEnumValueResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{27} -} - -func (x *UpdateResourceAttributeEnumValueResponse) GetResourceAttributeEnumValue() *ResourceAttributeEnumValue { - if x != nil { - return x.ResourceAttributeEnumValue - } - return nil -} - -type ArchiveResourceAttributeEnumValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArchivedEnumValueId string `protobuf:"bytes,1,opt,name=archived_enum_value_id,json=archivedEnumValueId,proto3" json:"archived_enum_value_id,omitempty"` - // When the archived_enum_value_id is archived all resource-attributes that reference it will be migrated to the replacement_enum_value_id. - ReplacementEnumValueId string `protobuf:"bytes,2,opt,name=replacement_enum_value_id,json=replacementEnumValueId,proto3" json:"replacement_enum_value_id,omitempty"` -} - -func (x *ArchiveResourceAttributeEnumValueRequest) Reset() { - *x = ArchiveResourceAttributeEnumValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[28] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeEnumValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeEnumValueRequest) ProtoMessage() {} - -func (x *ArchiveResourceAttributeEnumValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[28] - 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 ArchiveResourceAttributeEnumValueRequest.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeEnumValueRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{28} -} - -func (x *ArchiveResourceAttributeEnumValueRequest) GetArchivedEnumValueId() string { - if x != nil { - return x.ArchivedEnumValueId - } - return "" -} - -func (x *ArchiveResourceAttributeEnumValueRequest) GetReplacementEnumValueId() string { - if x != nil { - return x.ReplacementEnumValueId - } - return "" -} - -type ArchiveResourceAttributeEnumValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Total number of resource-attributes migrated to the replacement enum value. - ResourceAttributesMigrated int32 `protobuf:"varint,1,opt,name=resource_attributes_migrated,json=resourceAttributesMigrated,proto3" json:"resource_attributes_migrated,omitempty"` -} - -func (x *ArchiveResourceAttributeEnumValueResponse) Reset() { - *x = ArchiveResourceAttributeEnumValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[29] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeEnumValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeEnumValueResponse) ProtoMessage() {} - -func (x *ArchiveResourceAttributeEnumValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[29] - 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 ArchiveResourceAttributeEnumValueResponse.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeEnumValueResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{29} -} - -func (x *ArchiveResourceAttributeEnumValueResponse) GetResourceAttributesMigrated() int32 { - if x != nil { - return x.ResourceAttributesMigrated - } - return 0 -} - -type UnarchiveResourceAttributeEnumValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValueId string `protobuf:"bytes,1,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3" json:"resource_attribute_enum_value_id,omitempty"` -} - -func (x *UnarchiveResourceAttributeEnumValueRequest) Reset() { - *x = UnarchiveResourceAttributeEnumValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[30] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeEnumValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeEnumValueRequest) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeEnumValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UnarchiveResourceAttributeEnumValueRequest.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeEnumValueRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{30} -} - -func (x *UnarchiveResourceAttributeEnumValueRequest) GetResourceAttributeEnumValueId() string { - if x != nil { - return x.ResourceAttributeEnumValueId - } - return "" -} - -type UnarchiveResourceAttributeEnumValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnarchiveResourceAttributeEnumValueResponse) Reset() { - *x = UnarchiveResourceAttributeEnumValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[31] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeEnumValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeEnumValueResponse) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeEnumValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[31] - 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 UnarchiveResourceAttributeEnumValueResponse.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeEnumValueResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{31} -} - -type BatchArchiveResourceAttributeEnumValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArchivalRequests []*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival `protobuf:"bytes,1,rep,name=archival_requests,json=archivalRequests,proto3" json:"archival_requests,omitempty"` -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest) Reset() { - *x = BatchArchiveResourceAttributeEnumValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[32] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributeEnumValuesRequest) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[32] - 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 BatchArchiveResourceAttributeEnumValuesRequest.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributeEnumValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{32} -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest) GetArchivalRequests() []*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival { - if x != nil { - return x.ArchivalRequests - } - return nil -} - -type BatchArchiveResourceAttributeEnumValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Total number of resource-attributes migrated across all archived enum values. - TotalResourceAttributesMigrated int32 `protobuf:"varint,1,opt,name=total_resource_attributes_migrated,json=totalResourceAttributesMigrated,proto3" json:"total_resource_attributes_migrated,omitempty"` -} - -func (x *BatchArchiveResourceAttributeEnumValuesResponse) Reset() { - *x = BatchArchiveResourceAttributeEnumValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[33] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributeEnumValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributeEnumValuesResponse) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributeEnumValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributeEnumValuesResponse.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributeEnumValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{33} -} - -func (x *BatchArchiveResourceAttributeEnumValuesResponse) GetTotalResourceAttributesMigrated() int32 { - if x != nil { - return x.TotalResourceAttributesMigrated - } - return 0 -} - -type BatchUnarchiveResourceAttributeEnumValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeEnumValueIds []string `protobuf:"bytes,1,rep,name=resource_attribute_enum_value_ids,json=resourceAttributeEnumValueIds,proto3" json:"resource_attribute_enum_value_ids,omitempty"` -} - -func (x *BatchUnarchiveResourceAttributeEnumValuesRequest) Reset() { - *x = BatchUnarchiveResourceAttributeEnumValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[34] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributeEnumValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributeEnumValuesRequest) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributeEnumValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[34] - 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 BatchUnarchiveResourceAttributeEnumValuesRequest.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributeEnumValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{34} -} - -func (x *BatchUnarchiveResourceAttributeEnumValuesRequest) GetResourceAttributeEnumValueIds() []string { - if x != nil { - return x.ResourceAttributeEnumValueIds - } - return nil -} - -type BatchUnarchiveResourceAttributeEnumValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BatchUnarchiveResourceAttributeEnumValuesResponse) Reset() { - *x = BatchUnarchiveResourceAttributeEnumValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[35] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributeEnumValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributeEnumValuesResponse) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributeEnumValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[35] - 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 BatchUnarchiveResourceAttributeEnumValuesResponse.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributeEnumValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{35} -} - -// ResourceAttribute RPC messages -type CreateResourceAttributeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Entity *ResourceAttributeEntityIdentifier `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` - ResourceAttributeKeyId string `protobuf:"bytes,2,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - // Types that are assignable to Value: - // - // *CreateResourceAttributeRequest_ResourceAttributeEnumValueId - // *CreateResourceAttributeRequest_BooleanValue - // *CreateResourceAttributeRequest_NumberValue - Value isCreateResourceAttributeRequest_Value `protobuf_oneof:"value"` -} - -func (x *CreateResourceAttributeRequest) Reset() { - *x = CreateResourceAttributeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[36] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeRequest) ProtoMessage() {} - -func (x *CreateResourceAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[36] - 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 CreateResourceAttributeRequest.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{36} -} - -func (x *CreateResourceAttributeRequest) GetEntity() *ResourceAttributeEntityIdentifier { - if x != nil { - return x.Entity - } - return nil -} - -func (x *CreateResourceAttributeRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (m *CreateResourceAttributeRequest) GetValue() isCreateResourceAttributeRequest_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *CreateResourceAttributeRequest) GetResourceAttributeEnumValueId() string { - if x, ok := x.GetValue().(*CreateResourceAttributeRequest_ResourceAttributeEnumValueId); ok { - return x.ResourceAttributeEnumValueId - } - return "" -} - -func (x *CreateResourceAttributeRequest) GetBooleanValue() bool { - if x, ok := x.GetValue().(*CreateResourceAttributeRequest_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -func (x *CreateResourceAttributeRequest) GetNumberValue() float64 { - if x, ok := x.GetValue().(*CreateResourceAttributeRequest_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -type isCreateResourceAttributeRequest_Value interface { - isCreateResourceAttributeRequest_Value() -} - -type CreateResourceAttributeRequest_ResourceAttributeEnumValueId struct { - ResourceAttributeEnumValueId string `protobuf:"bytes,3,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3,oneof"` -} - -type CreateResourceAttributeRequest_BooleanValue struct { - BooleanValue bool `protobuf:"varint,4,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -type CreateResourceAttributeRequest_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,5,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -func (*CreateResourceAttributeRequest_ResourceAttributeEnumValueId) isCreateResourceAttributeRequest_Value() { -} - -func (*CreateResourceAttributeRequest_BooleanValue) isCreateResourceAttributeRequest_Value() {} - -func (*CreateResourceAttributeRequest_NumberValue) isCreateResourceAttributeRequest_Value() {} - -type CreateResourceAttributeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttribute *ResourceAttribute `protobuf:"bytes,1,opt,name=resource_attribute,json=resourceAttribute,proto3" json:"resource_attribute,omitempty"` -} - -func (x *CreateResourceAttributeResponse) Reset() { - *x = CreateResourceAttributeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeResponse) ProtoMessage() {} - -func (x *CreateResourceAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[37] - 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 CreateResourceAttributeResponse.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{37} -} - -func (x *CreateResourceAttributeResponse) GetResourceAttribute() *ResourceAttribute { - if x != nil { - return x.ResourceAttribute - } - return nil -} - -type BatchCreateResourceAttributesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeKeyId string `protobuf:"bytes,1,opt,name=resource_attribute_key_id,json=resourceAttributeKeyId,proto3" json:"resource_attribute_key_id,omitempty"` - // Types that are assignable to Value: - // - // *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId - // *BatchCreateResourceAttributesRequest_BooleanValue - // *BatchCreateResourceAttributesRequest_NumberValue - Value isBatchCreateResourceAttributesRequest_Value `protobuf_oneof:"value"` - Entities []*ResourceAttributeEntityIdentifier `protobuf:"bytes,5,rep,name=entities,proto3" json:"entities,omitempty"` -} - -func (x *BatchCreateResourceAttributesRequest) Reset() { - *x = BatchCreateResourceAttributesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[38] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchCreateResourceAttributesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchCreateResourceAttributesRequest) ProtoMessage() {} - -func (x *BatchCreateResourceAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[38] - 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 BatchCreateResourceAttributesRequest.ProtoReflect.Descriptor instead. -func (*BatchCreateResourceAttributesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{38} -} - -func (x *BatchCreateResourceAttributesRequest) GetResourceAttributeKeyId() string { - if x != nil { - return x.ResourceAttributeKeyId - } - return "" -} - -func (m *BatchCreateResourceAttributesRequest) GetValue() isBatchCreateResourceAttributesRequest_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *BatchCreateResourceAttributesRequest) GetResourceAttributeEnumValueId() string { - if x, ok := x.GetValue().(*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId); ok { - return x.ResourceAttributeEnumValueId - } - return "" -} - -func (x *BatchCreateResourceAttributesRequest) GetBooleanValue() bool { - if x, ok := x.GetValue().(*BatchCreateResourceAttributesRequest_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -func (x *BatchCreateResourceAttributesRequest) GetNumberValue() float64 { - if x, ok := x.GetValue().(*BatchCreateResourceAttributesRequest_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -func (x *BatchCreateResourceAttributesRequest) GetEntities() []*ResourceAttributeEntityIdentifier { - if x != nil { - return x.Entities - } - return nil -} - -type isBatchCreateResourceAttributesRequest_Value interface { - isBatchCreateResourceAttributesRequest_Value() -} - -type BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId struct { - ResourceAttributeEnumValueId string `protobuf:"bytes,2,opt,name=resource_attribute_enum_value_id,json=resourceAttributeEnumValueId,proto3,oneof"` -} - -type BatchCreateResourceAttributesRequest_BooleanValue struct { - BooleanValue bool `protobuf:"varint,3,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -type BatchCreateResourceAttributesRequest_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,4,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -func (*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) isBatchCreateResourceAttributesRequest_Value() { -} - -func (*BatchCreateResourceAttributesRequest_BooleanValue) isBatchCreateResourceAttributesRequest_Value() { -} - -func (*BatchCreateResourceAttributesRequest_NumberValue) isBatchCreateResourceAttributesRequest_Value() { -} - -type BatchCreateResourceAttributesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributes []*ResourceAttribute `protobuf:"bytes,1,rep,name=resource_attributes,json=resourceAttributes,proto3" json:"resource_attributes,omitempty"` -} - -func (x *BatchCreateResourceAttributesResponse) Reset() { - *x = BatchCreateResourceAttributesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[39] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchCreateResourceAttributesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchCreateResourceAttributesResponse) ProtoMessage() {} - -func (x *BatchCreateResourceAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[39] - 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 BatchCreateResourceAttributesResponse.ProtoReflect.Descriptor instead. -func (*BatchCreateResourceAttributesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{39} -} - -func (x *BatchCreateResourceAttributesResponse) GetResourceAttributes() []*ResourceAttribute { - if x != nil { - return x.ResourceAttributes - } - return nil -} - -type GetResourceAttributeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeId string `protobuf:"bytes,1,opt,name=resource_attribute_id,json=resourceAttributeId,proto3" json:"resource_attribute_id,omitempty"` -} - -func (x *GetResourceAttributeRequest) Reset() { - *x = GetResourceAttributeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[40] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeRequest) ProtoMessage() {} - -func (x *GetResourceAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeRequest.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{40} -} - -func (x *GetResourceAttributeRequest) GetResourceAttributeId() string { - if x != nil { - return x.ResourceAttributeId - } - return "" -} - -type GetResourceAttributeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttribute *ResourceAttribute `protobuf:"bytes,1,opt,name=resource_attribute,json=resourceAttribute,proto3" json:"resource_attribute,omitempty"` -} - -func (x *GetResourceAttributeResponse) Reset() { - *x = GetResourceAttributeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[41] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetResourceAttributeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetResourceAttributeResponse) ProtoMessage() {} - -func (x *GetResourceAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 GetResourceAttributeResponse.ProtoReflect.Descriptor instead. -func (*GetResourceAttributeResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{41} -} - -func (x *GetResourceAttributeResponse) GetResourceAttribute() *ResourceAttribute { - if x != nil { - return x.ResourceAttribute - } - return nil -} - -type ListResourceAttributesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The maximum number of resource-attributes to return. The service may return fewer than this value. - // If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListResourceAttributes` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributes` must match - // the call that provided the page token. - PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_id`, `entity_id`, `entity_type`, `resource_attribute_key_id`, `created_by_user_id`, - // `resource_attribute_enum_value_id`, `boolean_value`, `number_value`, `created_by_user_id`, `created_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved resource-attributes. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` and `entity.entity_id`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "entity.entity_id,created_date desc" - OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - // Whether to include archived resource-attributes. Defaults to false. - IncludeArchived bool `protobuf:"varint,5,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListResourceAttributesRequest) Reset() { - *x = ListResourceAttributesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[42] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributesRequest) ProtoMessage() {} - -func (x *ListResourceAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributesRequest.ProtoReflect.Descriptor instead. -func (*ListResourceAttributesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{42} -} - -func (x *ListResourceAttributesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListResourceAttributesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListResourceAttributesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListResourceAttributesRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListResourceAttributesRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -type ListResourceAttributesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributes []*ResourceAttribute `protobuf:"bytes,1,rep,name=resource_attributes,json=resourceAttributes,proto3" json:"resource_attributes,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListResourceAttributesResponse) Reset() { - *x = ListResourceAttributesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[43] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributesResponse) ProtoMessage() {} - -func (x *ListResourceAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributesResponse.ProtoReflect.Descriptor instead. -func (*ListResourceAttributesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{43} -} - -func (x *ListResourceAttributesResponse) GetResourceAttributes() []*ResourceAttribute { - if x != nil { - return x.ResourceAttributes - } - return nil -} - -func (x *ListResourceAttributesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -type ListResourceAttributesByEntityRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Entity *ResourceAttributeEntityIdentifier `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"` - // Whether to include archived resource-attributes. Defaults to false. - IncludeArchived bool `protobuf:"varint,2,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` - // The maximum number of resource-attributes to return. The service may return fewer than this value. - // If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - PageSize uint32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListResourceAttributesByEntity` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributesByEntity` must match - // the call that provided the page token. - PageToken string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` -} - -func (x *ListResourceAttributesByEntityRequest) Reset() { - *x = ListResourceAttributesByEntityRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[44] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributesByEntityRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributesByEntityRequest) ProtoMessage() {} - -func (x *ListResourceAttributesByEntityRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributesByEntityRequest.ProtoReflect.Descriptor instead. -func (*ListResourceAttributesByEntityRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{44} -} - -func (x *ListResourceAttributesByEntityRequest) GetEntity() *ResourceAttributeEntityIdentifier { - if x != nil { - return x.Entity - } - return nil -} - -func (x *ListResourceAttributesByEntityRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -func (x *ListResourceAttributesByEntityRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListResourceAttributesByEntityRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -type ListResourceAttributesByEntityResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributes []*ResourceAttribute `protobuf:"bytes,1,rep,name=resource_attributes,json=resourceAttributes,proto3" json:"resource_attributes,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListResourceAttributesByEntityResponse) Reset() { - *x = ListResourceAttributesByEntityResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[45] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListResourceAttributesByEntityResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListResourceAttributesByEntityResponse) ProtoMessage() {} - -func (x *ListResourceAttributesByEntityResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ListResourceAttributesByEntityResponse.ProtoReflect.Descriptor instead. -func (*ListResourceAttributesByEntityResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{45} -} - -func (x *ListResourceAttributesByEntityResponse) GetResourceAttributes() []*ResourceAttribute { - if x != nil { - return x.ResourceAttributes - } - return nil -} - -func (x *ListResourceAttributesByEntityResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -type ArchiveResourceAttributeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeId string `protobuf:"bytes,1,opt,name=resource_attribute_id,json=resourceAttributeId,proto3" json:"resource_attribute_id,omitempty"` -} - -func (x *ArchiveResourceAttributeRequest) Reset() { - *x = ArchiveResourceAttributeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[46] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeRequest) ProtoMessage() {} - -func (x *ArchiveResourceAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ArchiveResourceAttributeRequest.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{46} -} - -func (x *ArchiveResourceAttributeRequest) GetResourceAttributeId() string { - if x != nil { - return x.ResourceAttributeId - } - return "" -} - -type ArchiveResourceAttributeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ArchiveResourceAttributeResponse) Reset() { - *x = ArchiveResourceAttributeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[47] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveResourceAttributeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveResourceAttributeResponse) ProtoMessage() {} - -func (x *ArchiveResourceAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 ArchiveResourceAttributeResponse.ProtoReflect.Descriptor instead. -func (*ArchiveResourceAttributeResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{47} -} - -type UnarchiveResourceAttributeRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeId string `protobuf:"bytes,1,opt,name=resource_attribute_id,json=resourceAttributeId,proto3" json:"resource_attribute_id,omitempty"` -} - -func (x *UnarchiveResourceAttributeRequest) Reset() { - *x = UnarchiveResourceAttributeRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[48] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeRequest) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UnarchiveResourceAttributeRequest.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{48} -} - -func (x *UnarchiveResourceAttributeRequest) GetResourceAttributeId() string { - if x != nil { - return x.ResourceAttributeId - } - return "" -} - -type UnarchiveResourceAttributeResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnarchiveResourceAttributeResponse) Reset() { - *x = UnarchiveResourceAttributeResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[49] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveResourceAttributeResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveResourceAttributeResponse) ProtoMessage() {} - -func (x *UnarchiveResourceAttributeResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 UnarchiveResourceAttributeResponse.ProtoReflect.Descriptor instead. -func (*UnarchiveResourceAttributeResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{49} -} - -type BatchArchiveResourceAttributesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeIds []string `protobuf:"bytes,1,rep,name=resource_attribute_ids,json=resourceAttributeIds,proto3" json:"resource_attribute_ids,omitempty"` -} - -func (x *BatchArchiveResourceAttributesRequest) Reset() { - *x = BatchArchiveResourceAttributesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[50] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributesRequest) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributesRequest.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{50} -} - -func (x *BatchArchiveResourceAttributesRequest) GetResourceAttributeIds() []string { - if x != nil { - return x.ResourceAttributeIds - } - return nil -} - -type BatchArchiveResourceAttributesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BatchArchiveResourceAttributesResponse) Reset() { - *x = BatchArchiveResourceAttributesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[51] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributesResponse) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributesResponse.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{51} -} - -type BatchUnarchiveResourceAttributesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ResourceAttributeIds []string `protobuf:"bytes,1,rep,name=resource_attribute_ids,json=resourceAttributeIds,proto3" json:"resource_attribute_ids,omitempty"` -} - -func (x *BatchUnarchiveResourceAttributesRequest) Reset() { - *x = BatchUnarchiveResourceAttributesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[52] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributesRequest) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchUnarchiveResourceAttributesRequest.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributesRequest) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{52} -} - -func (x *BatchUnarchiveResourceAttributesRequest) GetResourceAttributeIds() []string { - if x != nil { - return x.ResourceAttributeIds - } - return nil -} - -type BatchUnarchiveResourceAttributesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BatchUnarchiveResourceAttributesResponse) Reset() { - *x = BatchUnarchiveResourceAttributesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[53] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchUnarchiveResourceAttributesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchUnarchiveResourceAttributesResponse) ProtoMessage() {} - -func (x *BatchUnarchiveResourceAttributesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchUnarchiveResourceAttributesResponse.ProtoReflect.Descriptor instead. -func (*BatchUnarchiveResourceAttributesResponse) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{53} -} - -// Nested message for initial enum values in create requests. -type CreateResourceAttributeKeyRequest_InitialEnumValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` -} - -func (x *CreateResourceAttributeKeyRequest_InitialEnumValue) Reset() { - *x = CreateResourceAttributeKeyRequest_InitialEnumValue{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[54] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateResourceAttributeKeyRequest_InitialEnumValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateResourceAttributeKeyRequest_InitialEnumValue) ProtoMessage() {} - -func (x *CreateResourceAttributeKeyRequest_InitialEnumValue) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 CreateResourceAttributeKeyRequest_InitialEnumValue.ProtoReflect.Descriptor instead. -func (*CreateResourceAttributeKeyRequest_InitialEnumValue) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{4, 0} -} - -func (x *CreateResourceAttributeKeyRequest_InitialEnumValue) GetDisplayName() string { - if x != nil { - return x.DisplayName - } - return "" -} - -func (x *CreateResourceAttributeKeyRequest_InitialEnumValue) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -type BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The enum value ID to archive. - ArchivedEnumValueId string `protobuf:"bytes,1,opt,name=archived_enum_value_id,json=archivedEnumValueId,proto3" json:"archived_enum_value_id,omitempty"` - // The enum value ID to migrate resource-attributes to. - ReplacementEnumValueId string `protobuf:"bytes,2,opt,name=replacement_enum_value_id,json=replacementEnumValueId,proto3" json:"replacement_enum_value_id,omitempty"` -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) Reset() { - *x = BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[55] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) ProtoMessage() {} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) ProtoReflect() protoreflect.Message { - mi := &file_sift_resource_attribute_v1_resource_attribute_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 BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival.ProtoReflect.Descriptor instead. -func (*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) Descriptor() ([]byte, []int) { - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP(), []int{32, 0} -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) GetArchivedEnumValueId() string { - if x != nil { - return x.ArchivedEnumValueId - } - return "" -} - -func (x *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) GetReplacementEnumValueId() string { - if x != nil { - return x.ReplacementEnumValueId - } - return "" -} - -var File_sift_resource_attribute_v1_resource_attribute_proto protoreflect.FileDescriptor - -var file_sift_resource_attribute_v1_resource_attribute_proto_rawDesc = []byte{ - 0x0a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 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, 0x1c, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xf8, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, - 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x13, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xce, 0x04, 0x0a, 0x1a, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, - 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x13, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, 0xcf, 0x06, 0x0a, - 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x5a, 0x0a, 0x06, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x47, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x10, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, - 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xac, - 0x01, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x5d, - 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x22, 0xb2, 0x03, - 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x4e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x49, - 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x0b, 0xe0, 0x41, 0x01, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x10, 0x64, 0x52, 0x11, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, - 0x61, 0x0a, 0x10, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0xea, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, - 0x68, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x8e, 0x01, 0x0a, 0x1f, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xd5, 0x01, 0x0a, 0x20, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x17, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x15, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfc, 0x01, 0x0a, 0x21, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x91, 0x01, 0x0a, 0x22, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x6b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x6c, 0x0a, - 0x22, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x25, 0x0a, 0x23, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x24, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x49, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7e, 0x0a, 0x28, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 0x2b, 0x0a, 0x29, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, 0x2a, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 0x2d, 0x0a, 0x2b, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, 0x01, 0x0a, 0x27, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x26, - 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xaa, 0x01, - 0x0a, 0x28, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x1d, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x24, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x7e, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x27, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x02, 0x0a, 0x27, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaa, 0x01, 0x0a, 0x28, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x28, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x16, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, - 0x01, 0x52, 0x13, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, 0x6d, - 0x0a, 0x29, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x40, 0x0a, 0x1c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x22, 0x81, 0x01, - 0x0a, 0x2a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, - 0x64, 0x22, 0x2d, 0x0a, 0x2b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xec, 0x02, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x11, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x5c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x42, 0x0e, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, 0x08, 0x01, 0x10, 0x88, 0x27, 0x52, 0x10, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x1a, - 0x9d, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x16, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x13, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, - 0x7e, 0x0a, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, - 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1f, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x22, - 0x93, 0x01, 0x0a, 0x30, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x21, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x49, 0x64, 0x73, 0x22, 0x33, 0x0a, 0x31, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, 0x02, 0x0a, 0x1e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, - 0x64, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, - 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, 0x01, 0x0a, 0x1f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, - 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x22, 0x82, 0x03, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x49, 0x64, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, - 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x69, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x42, 0x0e, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, 0x08, 0x01, - 0x10, 0x88, 0x27, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x42, 0x07, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x22, 0x5e, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, - 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x61, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa8, 0x01, 0x0a, 0x1e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, - 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5a, - 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0xb0, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x1f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x0a, 0x21, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, - 0x64, 0x22, 0x24, 0x0a, 0x22, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, - 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x22, 0x28, 0x0a, - 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, - 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x73, 0x22, - 0x2a, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xeb, 0x01, 0x0a, 0x18, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x45, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, - 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, - 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x52, - 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, - 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, - 0x41, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, - 0x4f, 0x46, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x04, 0x2a, 0xa3, 0x01, 0x0a, 0x1b, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x2a, 0x52, 0x45, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, - 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, 0x24, 0x52, 0x45, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, - 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, - 0x54, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x32, - 0x8d, 0x2e, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x0a, - 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xc1, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3c, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x27, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x6b, 0x65, 0x79, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, 0x2a, 0x32, 0x3b, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xeb, 0x01, 0x0a, 0x1b, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x45, 0x22, 0x43, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf3, 0x01, 0x0a, 0x1d, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x45, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xea, - 0x01, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf2, 0x01, 0x0a, 0x23, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x12, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, 0x2a, 0x22, - 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x12, 0xe0, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, 0x26, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, - 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, - 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xfb, 0x01, - 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x49, 0x12, 0x47, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, - 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x83, 0x02, 0x0a, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x54, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x32, 0x49, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x21, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, 0x3a, 0x01, 0x2a, 0x22, - 0x47, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, - 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x93, 0x02, 0x0a, 0x23, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x83, - 0x02, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4a, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, 0x01, 0x2a, 0x22, 0x34, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x12, 0x8b, 0x02, 0x0a, 0x29, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x4c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x4d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3a, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, - 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0xd2, 0x01, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, 0x01, - 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x12, 0xc6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x37, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xb4, 0x01, - 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, - 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x79, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0xda, 0x01, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3b, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, - 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe2, 0x01, 0x0a, - 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3f, 0x22, 0x3d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, - 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x12, 0xe5, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, - 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x1a, 0x44, 0x92, 0x41, 0x41, 0x12, 0x3f, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x28, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x29, 0x2e, 0x42, - 0xb2, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x42, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x51, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x76, 0x31, 0xa2, - 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x25, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3a, - 0x3a, 0x56, 0x31, 0x92, 0x41, 0x1e, 0x12, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sift_resource_attribute_v1_resource_attribute_proto_rawDescOnce sync.Once - file_sift_resource_attribute_v1_resource_attribute_proto_rawDescData = file_sift_resource_attribute_v1_resource_attribute_proto_rawDesc -) - -func file_sift_resource_attribute_v1_resource_attribute_proto_rawDescGZIP() []byte { - file_sift_resource_attribute_v1_resource_attribute_proto_rawDescOnce.Do(func() { - file_sift_resource_attribute_v1_resource_attribute_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_resource_attribute_v1_resource_attribute_proto_rawDescData) - }) - return file_sift_resource_attribute_v1_resource_attribute_proto_rawDescData -} - -var file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes = make([]protoimpl.MessageInfo, 56) -var file_sift_resource_attribute_v1_resource_attribute_proto_goTypes = []interface{}{ - (ResourceAttributeKeyType)(0), // 0: sift.resource_attribute.v1.ResourceAttributeKeyType - (ResourceAttributeEntityType)(0), // 1: sift.resource_attribute.v1.ResourceAttributeEntityType - (*ResourceAttributeKey)(nil), // 2: sift.resource_attribute.v1.ResourceAttributeKey - (*ResourceAttributeEnumValue)(nil), // 3: sift.resource_attribute.v1.ResourceAttributeEnumValue - (*ResourceAttribute)(nil), // 4: sift.resource_attribute.v1.ResourceAttribute - (*ResourceAttributeEntityIdentifier)(nil), // 5: sift.resource_attribute.v1.ResourceAttributeEntityIdentifier - (*CreateResourceAttributeKeyRequest)(nil), // 6: sift.resource_attribute.v1.CreateResourceAttributeKeyRequest - (*CreateResourceAttributeKeyResponse)(nil), // 7: sift.resource_attribute.v1.CreateResourceAttributeKeyResponse - (*GetResourceAttributeKeyRequest)(nil), // 8: sift.resource_attribute.v1.GetResourceAttributeKeyRequest - (*GetResourceAttributeKeyResponse)(nil), // 9: sift.resource_attribute.v1.GetResourceAttributeKeyResponse - (*ListResourceAttributeKeysRequest)(nil), // 10: sift.resource_attribute.v1.ListResourceAttributeKeysRequest - (*ListResourceAttributeKeysResponse)(nil), // 11: sift.resource_attribute.v1.ListResourceAttributeKeysResponse - (*UpdateResourceAttributeKeyRequest)(nil), // 12: sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest - (*UpdateResourceAttributeKeyResponse)(nil), // 13: sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse - (*ArchiveResourceAttributeKeyRequest)(nil), // 14: sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest - (*ArchiveResourceAttributeKeyResponse)(nil), // 15: sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse - (*UnarchiveResourceAttributeKeyRequest)(nil), // 16: sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest - (*UnarchiveResourceAttributeKeyResponse)(nil), // 17: sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse - (*BatchArchiveResourceAttributeKeysRequest)(nil), // 18: sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest - (*BatchArchiveResourceAttributeKeysResponse)(nil), // 19: sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse - (*BatchUnarchiveResourceAttributeKeysRequest)(nil), // 20: sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest - (*BatchUnarchiveResourceAttributeKeysResponse)(nil), // 21: sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse - (*CreateResourceAttributeEnumValueRequest)(nil), // 22: sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest - (*CreateResourceAttributeEnumValueResponse)(nil), // 23: sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse - (*GetResourceAttributeEnumValueRequest)(nil), // 24: sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest - (*GetResourceAttributeEnumValueResponse)(nil), // 25: sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse - (*ListResourceAttributeEnumValuesRequest)(nil), // 26: sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest - (*ListResourceAttributeEnumValuesResponse)(nil), // 27: sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse - (*UpdateResourceAttributeEnumValueRequest)(nil), // 28: sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest - (*UpdateResourceAttributeEnumValueResponse)(nil), // 29: sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse - (*ArchiveResourceAttributeEnumValueRequest)(nil), // 30: sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest - (*ArchiveResourceAttributeEnumValueResponse)(nil), // 31: sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse - (*UnarchiveResourceAttributeEnumValueRequest)(nil), // 32: sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest - (*UnarchiveResourceAttributeEnumValueResponse)(nil), // 33: sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse - (*BatchArchiveResourceAttributeEnumValuesRequest)(nil), // 34: sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest - (*BatchArchiveResourceAttributeEnumValuesResponse)(nil), // 35: sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse - (*BatchUnarchiveResourceAttributeEnumValuesRequest)(nil), // 36: sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest - (*BatchUnarchiveResourceAttributeEnumValuesResponse)(nil), // 37: sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse - (*CreateResourceAttributeRequest)(nil), // 38: sift.resource_attribute.v1.CreateResourceAttributeRequest - (*CreateResourceAttributeResponse)(nil), // 39: sift.resource_attribute.v1.CreateResourceAttributeResponse - (*BatchCreateResourceAttributesRequest)(nil), // 40: sift.resource_attribute.v1.BatchCreateResourceAttributesRequest - (*BatchCreateResourceAttributesResponse)(nil), // 41: sift.resource_attribute.v1.BatchCreateResourceAttributesResponse - (*GetResourceAttributeRequest)(nil), // 42: sift.resource_attribute.v1.GetResourceAttributeRequest - (*GetResourceAttributeResponse)(nil), // 43: sift.resource_attribute.v1.GetResourceAttributeResponse - (*ListResourceAttributesRequest)(nil), // 44: sift.resource_attribute.v1.ListResourceAttributesRequest - (*ListResourceAttributesResponse)(nil), // 45: sift.resource_attribute.v1.ListResourceAttributesResponse - (*ListResourceAttributesByEntityRequest)(nil), // 46: sift.resource_attribute.v1.ListResourceAttributesByEntityRequest - (*ListResourceAttributesByEntityResponse)(nil), // 47: sift.resource_attribute.v1.ListResourceAttributesByEntityResponse - (*ArchiveResourceAttributeRequest)(nil), // 48: sift.resource_attribute.v1.ArchiveResourceAttributeRequest - (*ArchiveResourceAttributeResponse)(nil), // 49: sift.resource_attribute.v1.ArchiveResourceAttributeResponse - (*UnarchiveResourceAttributeRequest)(nil), // 50: sift.resource_attribute.v1.UnarchiveResourceAttributeRequest - (*UnarchiveResourceAttributeResponse)(nil), // 51: sift.resource_attribute.v1.UnarchiveResourceAttributeResponse - (*BatchArchiveResourceAttributesRequest)(nil), // 52: sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest - (*BatchArchiveResourceAttributesResponse)(nil), // 53: sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse - (*BatchUnarchiveResourceAttributesRequest)(nil), // 54: sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest - (*BatchUnarchiveResourceAttributesResponse)(nil), // 55: sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse - (*CreateResourceAttributeKeyRequest_InitialEnumValue)(nil), // 56: sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValue - (*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival)(nil), // 57: sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival - (*timestamppb.Timestamp)(nil), // 58: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 59: google.protobuf.FieldMask -} -var file_sift_resource_attribute_v1_resource_attribute_proto_depIdxs = []int32{ - 0, // 0: sift.resource_attribute.v1.ResourceAttributeKey.type:type_name -> sift.resource_attribute.v1.ResourceAttributeKeyType - 58, // 1: sift.resource_attribute.v1.ResourceAttributeKey.created_date:type_name -> google.protobuf.Timestamp - 58, // 2: sift.resource_attribute.v1.ResourceAttributeKey.modified_date:type_name -> google.protobuf.Timestamp - 58, // 3: sift.resource_attribute.v1.ResourceAttributeKey.archived_date:type_name -> google.protobuf.Timestamp - 58, // 4: sift.resource_attribute.v1.ResourceAttributeEnumValue.created_date:type_name -> google.protobuf.Timestamp - 58, // 5: sift.resource_attribute.v1.ResourceAttributeEnumValue.modified_date:type_name -> google.protobuf.Timestamp - 58, // 6: sift.resource_attribute.v1.ResourceAttributeEnumValue.archived_date:type_name -> google.protobuf.Timestamp - 5, // 7: sift.resource_attribute.v1.ResourceAttribute.entity:type_name -> sift.resource_attribute.v1.ResourceAttributeEntityIdentifier - 2, // 8: sift.resource_attribute.v1.ResourceAttribute.key:type_name -> sift.resource_attribute.v1.ResourceAttributeKey - 3, // 9: sift.resource_attribute.v1.ResourceAttribute.enum_value_details:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 58, // 10: sift.resource_attribute.v1.ResourceAttribute.created_date:type_name -> google.protobuf.Timestamp - 58, // 11: sift.resource_attribute.v1.ResourceAttribute.archived_date:type_name -> google.protobuf.Timestamp - 1, // 12: sift.resource_attribute.v1.ResourceAttributeEntityIdentifier.entity_type:type_name -> sift.resource_attribute.v1.ResourceAttributeEntityType - 0, // 13: sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.type:type_name -> sift.resource_attribute.v1.ResourceAttributeKeyType - 56, // 14: sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.initial_enum_values:type_name -> sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValue - 2, // 15: sift.resource_attribute.v1.CreateResourceAttributeKeyResponse.resource_attribute_key:type_name -> sift.resource_attribute.v1.ResourceAttributeKey - 3, // 16: sift.resource_attribute.v1.CreateResourceAttributeKeyResponse.enum_values:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 2, // 17: sift.resource_attribute.v1.GetResourceAttributeKeyResponse.resource_attribute_key:type_name -> sift.resource_attribute.v1.ResourceAttributeKey - 2, // 18: sift.resource_attribute.v1.ListResourceAttributeKeysResponse.resource_attribute_keys:type_name -> sift.resource_attribute.v1.ResourceAttributeKey - 59, // 19: sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest.update_mask:type_name -> google.protobuf.FieldMask - 2, // 20: sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse.resource_attribute_key:type_name -> sift.resource_attribute.v1.ResourceAttributeKey - 3, // 21: sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse.resource_attribute_enum_value:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 3, // 22: sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse.resource_attribute_enum_value:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 3, // 23: sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse.resource_attribute_enum_values:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 59, // 24: sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest.update_mask:type_name -> google.protobuf.FieldMask - 3, // 25: sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse.resource_attribute_enum_value:type_name -> sift.resource_attribute.v1.ResourceAttributeEnumValue - 57, // 26: sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.archival_requests:type_name -> sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival - 5, // 27: sift.resource_attribute.v1.CreateResourceAttributeRequest.entity:type_name -> sift.resource_attribute.v1.ResourceAttributeEntityIdentifier - 4, // 28: sift.resource_attribute.v1.CreateResourceAttributeResponse.resource_attribute:type_name -> sift.resource_attribute.v1.ResourceAttribute - 5, // 29: sift.resource_attribute.v1.BatchCreateResourceAttributesRequest.entities:type_name -> sift.resource_attribute.v1.ResourceAttributeEntityIdentifier - 4, // 30: sift.resource_attribute.v1.BatchCreateResourceAttributesResponse.resource_attributes:type_name -> sift.resource_attribute.v1.ResourceAttribute - 4, // 31: sift.resource_attribute.v1.GetResourceAttributeResponse.resource_attribute:type_name -> sift.resource_attribute.v1.ResourceAttribute - 4, // 32: sift.resource_attribute.v1.ListResourceAttributesResponse.resource_attributes:type_name -> sift.resource_attribute.v1.ResourceAttribute - 5, // 33: sift.resource_attribute.v1.ListResourceAttributesByEntityRequest.entity:type_name -> sift.resource_attribute.v1.ResourceAttributeEntityIdentifier - 4, // 34: sift.resource_attribute.v1.ListResourceAttributesByEntityResponse.resource_attributes:type_name -> sift.resource_attribute.v1.ResourceAttribute - 6, // 35: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttributeKey:input_type -> sift.resource_attribute.v1.CreateResourceAttributeKeyRequest - 8, // 36: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttributeKey:input_type -> sift.resource_attribute.v1.GetResourceAttributeKeyRequest - 10, // 37: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributeKeys:input_type -> sift.resource_attribute.v1.ListResourceAttributeKeysRequest - 12, // 38: sift.resource_attribute.v1.ResourceAttributeService.UpdateResourceAttributeKey:input_type -> sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest - 14, // 39: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttributeKey:input_type -> sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest - 16, // 40: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttributeKey:input_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest - 18, // 41: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributeKeys:input_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest - 20, // 42: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributeKeys:input_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest - 22, // 43: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttributeEnumValue:input_type -> sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest - 24, // 44: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttributeEnumValue:input_type -> sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest - 26, // 45: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributeEnumValues:input_type -> sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest - 28, // 46: sift.resource_attribute.v1.ResourceAttributeService.UpdateResourceAttributeEnumValue:input_type -> sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest - 30, // 47: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttributeEnumValue:input_type -> sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest - 32, // 48: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttributeEnumValue:input_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest - 34, // 49: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributeEnumValues:input_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest - 36, // 50: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributeEnumValues:input_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest - 38, // 51: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttribute:input_type -> sift.resource_attribute.v1.CreateResourceAttributeRequest - 40, // 52: sift.resource_attribute.v1.ResourceAttributeService.BatchCreateResourceAttributes:input_type -> sift.resource_attribute.v1.BatchCreateResourceAttributesRequest - 42, // 53: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttribute:input_type -> sift.resource_attribute.v1.GetResourceAttributeRequest - 44, // 54: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributes:input_type -> sift.resource_attribute.v1.ListResourceAttributesRequest - 46, // 55: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributesByEntity:input_type -> sift.resource_attribute.v1.ListResourceAttributesByEntityRequest - 48, // 56: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttribute:input_type -> sift.resource_attribute.v1.ArchiveResourceAttributeRequest - 50, // 57: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttribute:input_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeRequest - 52, // 58: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributes:input_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest - 54, // 59: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributes:input_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest - 7, // 60: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttributeKey:output_type -> sift.resource_attribute.v1.CreateResourceAttributeKeyResponse - 9, // 61: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttributeKey:output_type -> sift.resource_attribute.v1.GetResourceAttributeKeyResponse - 11, // 62: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributeKeys:output_type -> sift.resource_attribute.v1.ListResourceAttributeKeysResponse - 13, // 63: sift.resource_attribute.v1.ResourceAttributeService.UpdateResourceAttributeKey:output_type -> sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse - 15, // 64: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttributeKey:output_type -> sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse - 17, // 65: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttributeKey:output_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse - 19, // 66: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributeKeys:output_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse - 21, // 67: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributeKeys:output_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse - 23, // 68: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttributeEnumValue:output_type -> sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse - 25, // 69: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttributeEnumValue:output_type -> sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse - 27, // 70: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributeEnumValues:output_type -> sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse - 29, // 71: sift.resource_attribute.v1.ResourceAttributeService.UpdateResourceAttributeEnumValue:output_type -> sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse - 31, // 72: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttributeEnumValue:output_type -> sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse - 33, // 73: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttributeEnumValue:output_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse - 35, // 74: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributeEnumValues:output_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse - 37, // 75: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributeEnumValues:output_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse - 39, // 76: sift.resource_attribute.v1.ResourceAttributeService.CreateResourceAttribute:output_type -> sift.resource_attribute.v1.CreateResourceAttributeResponse - 41, // 77: sift.resource_attribute.v1.ResourceAttributeService.BatchCreateResourceAttributes:output_type -> sift.resource_attribute.v1.BatchCreateResourceAttributesResponse - 43, // 78: sift.resource_attribute.v1.ResourceAttributeService.GetResourceAttribute:output_type -> sift.resource_attribute.v1.GetResourceAttributeResponse - 45, // 79: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributes:output_type -> sift.resource_attribute.v1.ListResourceAttributesResponse - 47, // 80: sift.resource_attribute.v1.ResourceAttributeService.ListResourceAttributesByEntity:output_type -> sift.resource_attribute.v1.ListResourceAttributesByEntityResponse - 49, // 81: sift.resource_attribute.v1.ResourceAttributeService.ArchiveResourceAttribute:output_type -> sift.resource_attribute.v1.ArchiveResourceAttributeResponse - 51, // 82: sift.resource_attribute.v1.ResourceAttributeService.UnarchiveResourceAttribute:output_type -> sift.resource_attribute.v1.UnarchiveResourceAttributeResponse - 53, // 83: sift.resource_attribute.v1.ResourceAttributeService.BatchArchiveResourceAttributes:output_type -> sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse - 55, // 84: sift.resource_attribute.v1.ResourceAttributeService.BatchUnarchiveResourceAttributes:output_type -> sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse - 60, // [60:85] is the sub-list for method output_type - 35, // [35:60] is the sub-list for method input_type - 35, // [35:35] is the sub-list for extension type_name - 35, // [35:35] is the sub-list for extension extendee - 0, // [0:35] is the sub-list for field type_name -} - -func init() { file_sift_resource_attribute_v1_resource_attribute_proto_init() } -func file_sift_resource_attribute_v1_resource_attribute_proto_init() { - if File_sift_resource_attribute_v1_resource_attribute_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceAttributeKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceAttributeEnumValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceAttribute); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceAttributeEntityIdentifier); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeEnumValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeEnumValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeEnumValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeEnumValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributeEnumValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributeEnumValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceAttributeEnumValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateResourceAttributeEnumValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeEnumValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeEnumValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeEnumValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeEnumValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributeEnumValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributeEnumValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributeEnumValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributeEnumValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchCreateResourceAttributesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchCreateResourceAttributesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetResourceAttributeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributesByEntityRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListResourceAttributesByEntityResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveResourceAttributeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveResourceAttributeResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchUnarchiveResourceAttributesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateResourceAttributeKeyRequest_InitialEnumValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[2].OneofWrappers = []interface{}{ - (*ResourceAttribute_ResourceAttributeEnumValueId)(nil), - (*ResourceAttribute_BooleanValue)(nil), - (*ResourceAttribute_NumberValue)(nil), - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[36].OneofWrappers = []interface{}{ - (*CreateResourceAttributeRequest_ResourceAttributeEnumValueId)(nil), - (*CreateResourceAttributeRequest_BooleanValue)(nil), - (*CreateResourceAttributeRequest_NumberValue)(nil), - } - file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes[38].OneofWrappers = []interface{}{ - (*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId)(nil), - (*BatchCreateResourceAttributesRequest_BooleanValue)(nil), - (*BatchCreateResourceAttributesRequest_NumberValue)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sift_resource_attribute_v1_resource_attribute_proto_rawDesc, - NumEnums: 2, - NumMessages: 56, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sift_resource_attribute_v1_resource_attribute_proto_goTypes, - DependencyIndexes: file_sift_resource_attribute_v1_resource_attribute_proto_depIdxs, - EnumInfos: file_sift_resource_attribute_v1_resource_attribute_proto_enumTypes, - MessageInfos: file_sift_resource_attribute_v1_resource_attribute_proto_msgTypes, - }.Build() - File_sift_resource_attribute_v1_resource_attribute_proto = out.File - file_sift_resource_attribute_v1_resource_attribute_proto_rawDesc = nil - file_sift_resource_attribute_v1_resource_attribute_proto_goTypes = nil - file_sift_resource_attribute_v1_resource_attribute_proto_depIdxs = nil -} diff --git a/go/gen/sift/resource_attribute/v1/resource_attribute.pb.gw.go b/go/gen/sift/resource_attribute/v1/resource_attribute.pb.gw.go deleted file mode 100644 index 570d3f5eb..000000000 --- a/go/gen/sift/resource_attribute/v1/resource_attribute.pb.gw.go +++ /dev/null @@ -1,2533 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: sift/resource_attribute/v1/resource_attribute.proto - -/* -Package resource_attributev1 is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package resource_attributev1 - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_ResourceAttributeService_CreateResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateResourceAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_CreateResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateResourceAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_GetResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := client.GetResourceAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_GetResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := server.GetResourceAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_ResourceAttributeService_ListResourceAttributeKeys_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_ResourceAttributeService_ListResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributeKeys_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListResourceAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ListResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributeKeys_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListResourceAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_UpdateResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := client.UpdateResourceAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_UpdateResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := server.UpdateResourceAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_ArchiveResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := client.ArchiveResourceAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ArchiveResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := server.ArchiveResourceAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_UnarchiveResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := client.UnarchiveResourceAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_UnarchiveResourceAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - msg, err := server.UnarchiveResourceAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchArchiveResourceAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchArchiveResourceAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchUnarchiveResourceAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchUnarchiveResourceAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_CreateResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateResourceAttributeEnumValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_CreateResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateResourceAttributeEnumValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_GetResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := client.GetResourceAttributeEnumValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_GetResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := server.GetResourceAttributeEnumValue(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_ResourceAttributeService_ListResourceAttributeEnumValues_0 = &utilities.DoubleArray{Encoding: map[string]int{"resource_attribute_key_id": 0, "resourceAttributeKeyId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_ResourceAttributeService_ListResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributeEnumValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListResourceAttributeEnumValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ListResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_key_id") - } - - protoReq.ResourceAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_key_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributeEnumValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListResourceAttributeEnumValues(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := client.UpdateResourceAttributeEnumValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := server.UpdateResourceAttributeEnumValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["archived_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "archived_enum_value_id") - } - - protoReq.ArchivedEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "archived_enum_value_id", err) - } - - msg, err := client.ArchiveResourceAttributeEnumValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["archived_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "archived_enum_value_id") - } - - protoReq.ArchivedEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "archived_enum_value_id", err) - } - - msg, err := server.ArchiveResourceAttributeEnumValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := client.UnarchiveResourceAttributeEnumValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeEnumValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_enum_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_enum_value_id") - } - - protoReq.ResourceAttributeEnumValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_enum_value_id", err) - } - - msg, err := server.UnarchiveResourceAttributeEnumValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchArchiveResourceAttributeEnumValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchArchiveResourceAttributeEnumValues(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchUnarchiveResourceAttributeEnumValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributeEnumValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchUnarchiveResourceAttributeEnumValues(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_CreateResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateResourceAttribute(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_CreateResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateResourceAttributeRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateResourceAttribute(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchCreateResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchCreateResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchCreateResourceAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchCreateResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchCreateResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchCreateResourceAttributes(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_GetResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := client.GetResourceAttribute(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_GetResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := server.GetResourceAttribute(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_ResourceAttributeService_ListResourceAttributes_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_ResourceAttributeService_ListResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributes_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListResourceAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ListResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributes_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListResourceAttributes(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_ResourceAttributeService_ListResourceAttributesByEntity_0 = &utilities.DoubleArray{Encoding: map[string]int{"entity": 0, "entity_id": 1, "entityId": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 1, 3, 4}} -) - -func request_ResourceAttributeService_ListResourceAttributesByEntity_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributesByEntityRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["entity.entity_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity.entity_id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "entity.entity_id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity.entity_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributesByEntity_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListResourceAttributesByEntity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ListResourceAttributesByEntity_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListResourceAttributesByEntityRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["entity.entity_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "entity.entity_id") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "entity.entity_id", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "entity.entity_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ResourceAttributeService_ListResourceAttributesByEntity_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListResourceAttributesByEntity(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_ArchiveResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := client.ArchiveResourceAttribute(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_ArchiveResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := server.ArchiveResourceAttribute(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_UnarchiveResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := client.UnarchiveResourceAttribute(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_UnarchiveResourceAttribute_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveResourceAttributeRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["resource_attribute_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "resource_attribute_id") - } - - protoReq.ResourceAttributeId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "resource_attribute_id", err) - } - - msg, err := server.UnarchiveResourceAttribute(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchArchiveResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchArchiveResourceAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchArchiveResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchArchiveResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchArchiveResourceAttributes(ctx, &protoReq) - return msg, metadata, err - -} - -func request_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client ResourceAttributeServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchUnarchiveResourceAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(ctx context.Context, marshaler runtime.Marshaler, server ResourceAttributeServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchUnarchiveResourceAttributesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchUnarchiveResourceAttributes(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterResourceAttributeServiceHandlerServer registers the http handlers for service ResourceAttributeService to "mux". -// UnaryRPC :call ResourceAttributeServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterResourceAttributeServiceHandlerFromEndpoint instead. -func RegisterResourceAttributeServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ResourceAttributeServiceServer) error { - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_CreateResourceAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_GetResourceAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ListResourceAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_ResourceAttributeService_UpdateResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_UpdateResourceAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UpdateResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ArchiveResourceAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_UnarchiveResourceAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_CreateResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_GetResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/enum-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ListResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_ResourceAttributeService_UpdateResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{archived_enum_value_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_CreateResourceAttribute_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchCreateResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchCreateResourceAttributes_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchCreateResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_GetResourceAttribute_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ListResourceAttributes_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributesByEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity", runtime.WithHTTPPathPattern("/api/v1/entities/{entity.entity_id}/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ListResourceAttributesByEntity_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributesByEntity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_ArchiveResourceAttribute_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_UnarchiveResourceAttribute_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchArchiveResourceAttributes_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterResourceAttributeServiceHandlerFromEndpoint is same as RegisterResourceAttributeServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterResourceAttributeServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterResourceAttributeServiceHandler(ctx, mux, conn) -} - -// RegisterResourceAttributeServiceHandler registers the http handlers for service ResourceAttributeService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterResourceAttributeServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterResourceAttributeServiceHandlerClient(ctx, mux, NewResourceAttributeServiceClient(conn)) -} - -// RegisterResourceAttributeServiceHandlerClient registers the http handlers for service ResourceAttributeService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ResourceAttributeServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ResourceAttributeServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "ResourceAttributeServiceClient" to call the correct interceptors. -func RegisterResourceAttributeServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ResourceAttributeServiceClient) error { - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_CreateResourceAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_GetResourceAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ListResourceAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_ResourceAttributeService_UpdateResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_UpdateResourceAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UpdateResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ArchiveResourceAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_UnarchiveResourceAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_CreateResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_GetResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-keys/{resource_attribute_key_id}/enum-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ListResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_ResourceAttributeService_UpdateResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UpdateResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{archived_enum_value_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues", runtime.WithHTTPPathPattern("/api/v1/resource-attribute-enum-values/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_CreateResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_CreateResourceAttribute_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_CreateResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchCreateResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchCreateResourceAttributes_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchCreateResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_GetResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_GetResourceAttribute_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_GetResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ListResourceAttributes_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_ResourceAttributeService_ListResourceAttributesByEntity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity", runtime.WithHTTPPathPattern("/api/v1/entities/{entity.entity_id}/resource-attributes")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ListResourceAttributesByEntity_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ListResourceAttributesByEntity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_ArchiveResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_ArchiveResourceAttribute_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_ArchiveResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_UnarchiveResourceAttribute_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/{resource_attribute_id}/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_UnarchiveResourceAttribute_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_UnarchiveResourceAttribute_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchArchiveResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch-archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchArchiveResourceAttributes_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchArchiveResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_ResourceAttributeService_BatchUnarchiveResourceAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes", runtime.WithHTTPPathPattern("/api/v1/resource-attributes/batch-unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_ResourceAttributeService_CreateResourceAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resource-attribute-keys"}, "")) - - pattern_ResourceAttributeService_GetResourceAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resource-attribute-keys", "resource_attribute_key_id"}, "")) - - pattern_ResourceAttributeService_ListResourceAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resource-attribute-keys"}, "")) - - pattern_ResourceAttributeService_UpdateResourceAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resource-attribute-keys", "resource_attribute_key_id"}, "")) - - pattern_ResourceAttributeService_ArchiveResourceAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attribute-keys", "resource_attribute_key_id", "archive"}, "")) - - pattern_ResourceAttributeService_UnarchiveResourceAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attribute-keys", "resource_attribute_key_id", "unarchive"}, "")) - - pattern_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attribute-keys", "batch-archive"}, "")) - - pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attribute-keys", "batch-unarchive"}, "")) - - pattern_ResourceAttributeService_CreateResourceAttributeEnumValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resource-attribute-enum-values"}, "")) - - pattern_ResourceAttributeService_GetResourceAttributeEnumValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resource-attribute-enum-values", "resource_attribute_enum_value_id"}, "")) - - pattern_ResourceAttributeService_ListResourceAttributeEnumValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attribute-keys", "resource_attribute_key_id", "enum-values"}, "")) - - pattern_ResourceAttributeService_UpdateResourceAttributeEnumValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resource-attribute-enum-values", "resource_attribute_enum_value_id"}, "")) - - pattern_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attribute-enum-values", "archived_enum_value_id", "archive"}, "")) - - pattern_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attribute-enum-values", "resource_attribute_enum_value_id", "unarchive"}, "")) - - pattern_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attribute-enum-values", "batch-archive"}, "")) - - pattern_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attribute-enum-values", "batch-unarchive"}, "")) - - pattern_ResourceAttributeService_CreateResourceAttribute_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resource-attributes"}, "")) - - pattern_ResourceAttributeService_BatchCreateResourceAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attributes", "batch"}, "")) - - pattern_ResourceAttributeService_GetResourceAttribute_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "resource-attributes", "resource_attribute_id"}, "")) - - pattern_ResourceAttributeService_ListResourceAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "resource-attributes"}, "")) - - pattern_ResourceAttributeService_ListResourceAttributesByEntity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "entities", "entity.entity_id", "resource-attributes"}, "")) - - pattern_ResourceAttributeService_ArchiveResourceAttribute_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attributes", "resource_attribute_id", "archive"}, "")) - - pattern_ResourceAttributeService_UnarchiveResourceAttribute_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "resource-attributes", "resource_attribute_id", "unarchive"}, "")) - - pattern_ResourceAttributeService_BatchArchiveResourceAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attributes", "batch-archive"}, "")) - - pattern_ResourceAttributeService_BatchUnarchiveResourceAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "resource-attributes", "batch-unarchive"}, "")) -) - -var ( - forward_ResourceAttributeService_CreateResourceAttributeKey_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_GetResourceAttributeKey_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ListResourceAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_UpdateResourceAttributeKey_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ArchiveResourceAttributeKey_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_UnarchiveResourceAttributeKey_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchArchiveResourceAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_CreateResourceAttributeEnumValue_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_GetResourceAttributeEnumValue_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ListResourceAttributeEnumValues_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_UpdateResourceAttributeEnumValue_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ArchiveResourceAttributeEnumValue_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_UnarchiveResourceAttributeEnumValue_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_CreateResourceAttribute_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchCreateResourceAttributes_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_GetResourceAttribute_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ListResourceAttributes_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ListResourceAttributesByEntity_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_ArchiveResourceAttribute_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_UnarchiveResourceAttribute_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchArchiveResourceAttributes_0 = runtime.ForwardResponseMessage - - forward_ResourceAttributeService_BatchUnarchiveResourceAttributes_0 = runtime.ForwardResponseMessage -) diff --git a/go/gen/sift/resource_attribute/v1/resource_attribute_vtproto.pb.go b/go/gen/sift/resource_attribute/v1/resource_attribute_vtproto.pb.go deleted file mode 100644 index 5b208d7a0..000000000 --- a/go/gen/sift/resource_attribute/v1/resource_attribute_vtproto.pb.go +++ /dev/null @@ -1,23904 +0,0 @@ -// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. -// protoc-gen-go-vtproto version: v0.6.0 -// source: sift/resource_attribute/v1/resource_attribute.proto - -package resource_attributev1 - -import ( - context "context" - binary "encoding/binary" - fmt "fmt" - protohelpers "github.com/planetscale/vtprotobuf/protohelpers" - fieldmaskpb1 "github.com/planetscale/vtprotobuf/types/known/fieldmaskpb" - timestamppb1 "github.com/planetscale/vtprotobuf/types/known/timestamppb" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - proto "google.golang.org/protobuf/proto" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - io "io" - math "math" - unsafe "unsafe" -) - -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) -) - -func (m *ResourceAttributeKey) CloneVT() *ResourceAttributeKey { - if m == nil { - return (*ResourceAttributeKey)(nil) - } - r := new(ResourceAttributeKey) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.OrganizationId = m.OrganizationId - r.DisplayName = m.DisplayName - r.Description = m.Description - r.Type = m.Type - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.CreatedByUserId = m.CreatedByUserId - r.ModifiedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ModifiedDate).CloneVT()) - r.ModifiedByUserId = m.ModifiedByUserId - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ResourceAttributeKey) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ResourceAttributeEnumValue) CloneVT() *ResourceAttributeEnumValue { - if m == nil { - return (*ResourceAttributeEnumValue)(nil) - } - r := new(ResourceAttributeEnumValue) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.DisplayName = m.DisplayName - r.Description = m.Description - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.CreatedByUserId = m.CreatedByUserId - r.ModifiedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ModifiedDate).CloneVT()) - r.ModifiedByUserId = m.ModifiedByUserId - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ResourceAttributeEnumValue) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ResourceAttribute) CloneVT() *ResourceAttribute { - if m == nil { - return (*ResourceAttribute)(nil) - } - r := new(ResourceAttribute) - r.ResourceAttributeId = m.ResourceAttributeId - r.OrganizationId = m.OrganizationId - r.Entity = m.Entity.CloneVT() - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.Key = m.Key.CloneVT() - r.EnumValueDetails = m.EnumValueDetails.CloneVT() - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.CreatedByUserId = m.CreatedByUserId - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isResourceAttribute_Value - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ResourceAttribute) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) CloneVT() isResourceAttribute_Value { - if m == nil { - return (*ResourceAttribute_ResourceAttributeEnumValueId)(nil) - } - r := new(ResourceAttribute_ResourceAttributeEnumValueId) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - return r -} - -func (m *ResourceAttribute_BooleanValue) CloneVT() isResourceAttribute_Value { - if m == nil { - return (*ResourceAttribute_BooleanValue)(nil) - } - r := new(ResourceAttribute_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *ResourceAttribute_NumberValue) CloneVT() isResourceAttribute_Value { - if m == nil { - return (*ResourceAttribute_NumberValue)(nil) - } - r := new(ResourceAttribute_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *ResourceAttributeEntityIdentifier) CloneVT() *ResourceAttributeEntityIdentifier { - if m == nil { - return (*ResourceAttributeEntityIdentifier)(nil) - } - r := new(ResourceAttributeEntityIdentifier) - r.EntityId = m.EntityId - r.EntityType = m.EntityType - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ResourceAttributeEntityIdentifier) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) CloneVT() *CreateResourceAttributeKeyRequest_InitialEnumValue { - if m == nil { - return (*CreateResourceAttributeKeyRequest_InitialEnumValue)(nil) - } - r := new(CreateResourceAttributeKeyRequest_InitialEnumValue) - r.DisplayName = m.DisplayName - r.Description = m.Description - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeKeyRequest) CloneVT() *CreateResourceAttributeKeyRequest { - if m == nil { - return (*CreateResourceAttributeKeyRequest)(nil) - } - r := new(CreateResourceAttributeKeyRequest) - r.DisplayName = m.DisplayName - r.Description = m.Description - r.Type = m.Type - if rhs := m.InitialEnumValues; rhs != nil { - tmpContainer := make([]*CreateResourceAttributeKeyRequest_InitialEnumValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.InitialEnumValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeKeyResponse) CloneVT() *CreateResourceAttributeKeyResponse { - if m == nil { - return (*CreateResourceAttributeKeyResponse)(nil) - } - r := new(CreateResourceAttributeKeyResponse) - r.ResourceAttributeKey = m.ResourceAttributeKey.CloneVT() - if rhs := m.EnumValues; rhs != nil { - tmpContainer := make([]*ResourceAttributeEnumValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.EnumValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeKeyRequest) CloneVT() *GetResourceAttributeKeyRequest { - if m == nil { - return (*GetResourceAttributeKeyRequest)(nil) - } - r := new(GetResourceAttributeKeyRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeKeyResponse) CloneVT() *GetResourceAttributeKeyResponse { - if m == nil { - return (*GetResourceAttributeKeyResponse)(nil) - } - r := new(GetResourceAttributeKeyResponse) - r.ResourceAttributeKey = m.ResourceAttributeKey.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributeKeysRequest) CloneVT() *ListResourceAttributeKeysRequest { - if m == nil { - return (*ListResourceAttributeKeysRequest)(nil) - } - r := new(ListResourceAttributeKeysRequest) - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributeKeysResponse) CloneVT() *ListResourceAttributeKeysResponse { - if m == nil { - return (*ListResourceAttributeKeysResponse)(nil) - } - r := new(ListResourceAttributeKeysResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.ResourceAttributeKeys; rhs != nil { - tmpContainer := make([]*ResourceAttributeKey, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ResourceAttributeKeys = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateResourceAttributeKeyRequest) CloneVT() *UpdateResourceAttributeKeyRequest { - if m == nil { - return (*UpdateResourceAttributeKeyRequest)(nil) - } - r := new(UpdateResourceAttributeKeyRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.DisplayName = m.DisplayName - r.Description = m.Description - r.UpdateMask = (*fieldmaskpb.FieldMask)((*fieldmaskpb1.FieldMask)(m.UpdateMask).CloneVT()) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateResourceAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateResourceAttributeKeyResponse) CloneVT() *UpdateResourceAttributeKeyResponse { - if m == nil { - return (*UpdateResourceAttributeKeyResponse)(nil) - } - r := new(UpdateResourceAttributeKeyResponse) - r.ResourceAttributeKey = m.ResourceAttributeKey.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateResourceAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeKeyRequest) CloneVT() *ArchiveResourceAttributeKeyRequest { - if m == nil { - return (*ArchiveResourceAttributeKeyRequest)(nil) - } - r := new(ArchiveResourceAttributeKeyRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeKeyResponse) CloneVT() *ArchiveResourceAttributeKeyResponse { - if m == nil { - return (*ArchiveResourceAttributeKeyResponse)(nil) - } - r := new(ArchiveResourceAttributeKeyResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeKeyRequest) CloneVT() *UnarchiveResourceAttributeKeyRequest { - if m == nil { - return (*UnarchiveResourceAttributeKeyRequest)(nil) - } - r := new(UnarchiveResourceAttributeKeyRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeKeyResponse) CloneVT() *UnarchiveResourceAttributeKeyResponse { - if m == nil { - return (*UnarchiveResourceAttributeKeyResponse)(nil) - } - r := new(UnarchiveResourceAttributeKeyResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributeKeysRequest) CloneVT() *BatchArchiveResourceAttributeKeysRequest { - if m == nil { - return (*BatchArchiveResourceAttributeKeysRequest)(nil) - } - r := new(BatchArchiveResourceAttributeKeysRequest) - if rhs := m.ResourceAttributeKeyIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.ResourceAttributeKeyIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributeKeysResponse) CloneVT() *BatchArchiveResourceAttributeKeysResponse { - if m == nil { - return (*BatchArchiveResourceAttributeKeysResponse)(nil) - } - r := new(BatchArchiveResourceAttributeKeysResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) CloneVT() *BatchUnarchiveResourceAttributeKeysRequest { - if m == nil { - return (*BatchUnarchiveResourceAttributeKeysRequest)(nil) - } - r := new(BatchUnarchiveResourceAttributeKeysRequest) - if rhs := m.ResourceAttributeKeyIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.ResourceAttributeKeyIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) CloneVT() *BatchUnarchiveResourceAttributeKeysResponse { - if m == nil { - return (*BatchUnarchiveResourceAttributeKeysResponse)(nil) - } - r := new(BatchUnarchiveResourceAttributeKeysResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeEnumValueRequest) CloneVT() *CreateResourceAttributeEnumValueRequest { - if m == nil { - return (*CreateResourceAttributeEnumValueRequest)(nil) - } - r := new(CreateResourceAttributeEnumValueRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.DisplayName = m.DisplayName - r.Description = m.Description - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeEnumValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeEnumValueResponse) CloneVT() *CreateResourceAttributeEnumValueResponse { - if m == nil { - return (*CreateResourceAttributeEnumValueResponse)(nil) - } - r := new(CreateResourceAttributeEnumValueResponse) - r.ResourceAttributeEnumValue = m.ResourceAttributeEnumValue.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeEnumValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeEnumValueRequest) CloneVT() *GetResourceAttributeEnumValueRequest { - if m == nil { - return (*GetResourceAttributeEnumValueRequest)(nil) - } - r := new(GetResourceAttributeEnumValueRequest) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeEnumValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeEnumValueResponse) CloneVT() *GetResourceAttributeEnumValueResponse { - if m == nil { - return (*GetResourceAttributeEnumValueResponse)(nil) - } - r := new(GetResourceAttributeEnumValueResponse) - r.ResourceAttributeEnumValue = m.ResourceAttributeEnumValue.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeEnumValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributeEnumValuesRequest) CloneVT() *ListResourceAttributeEnumValuesRequest { - if m == nil { - return (*ListResourceAttributeEnumValuesRequest)(nil) - } - r := new(ListResourceAttributeEnumValuesRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributeEnumValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributeEnumValuesResponse) CloneVT() *ListResourceAttributeEnumValuesResponse { - if m == nil { - return (*ListResourceAttributeEnumValuesResponse)(nil) - } - r := new(ListResourceAttributeEnumValuesResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.ResourceAttributeEnumValues; rhs != nil { - tmpContainer := make([]*ResourceAttributeEnumValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ResourceAttributeEnumValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributeEnumValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateResourceAttributeEnumValueRequest) CloneVT() *UpdateResourceAttributeEnumValueRequest { - if m == nil { - return (*UpdateResourceAttributeEnumValueRequest)(nil) - } - r := new(UpdateResourceAttributeEnumValueRequest) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - r.DisplayName = m.DisplayName - r.Description = m.Description - r.UpdateMask = (*fieldmaskpb.FieldMask)((*fieldmaskpb1.FieldMask)(m.UpdateMask).CloneVT()) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateResourceAttributeEnumValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateResourceAttributeEnumValueResponse) CloneVT() *UpdateResourceAttributeEnumValueResponse { - if m == nil { - return (*UpdateResourceAttributeEnumValueResponse)(nil) - } - r := new(UpdateResourceAttributeEnumValueResponse) - r.ResourceAttributeEnumValue = m.ResourceAttributeEnumValue.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateResourceAttributeEnumValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeEnumValueRequest) CloneVT() *ArchiveResourceAttributeEnumValueRequest { - if m == nil { - return (*ArchiveResourceAttributeEnumValueRequest)(nil) - } - r := new(ArchiveResourceAttributeEnumValueRequest) - r.ArchivedEnumValueId = m.ArchivedEnumValueId - r.ReplacementEnumValueId = m.ReplacementEnumValueId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeEnumValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeEnumValueResponse) CloneVT() *ArchiveResourceAttributeEnumValueResponse { - if m == nil { - return (*ArchiveResourceAttributeEnumValueResponse)(nil) - } - r := new(ArchiveResourceAttributeEnumValueResponse) - r.ResourceAttributesMigrated = m.ResourceAttributesMigrated - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeEnumValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) CloneVT() *UnarchiveResourceAttributeEnumValueRequest { - if m == nil { - return (*UnarchiveResourceAttributeEnumValueRequest)(nil) - } - r := new(UnarchiveResourceAttributeEnumValueRequest) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) CloneVT() *UnarchiveResourceAttributeEnumValueResponse { - if m == nil { - return (*UnarchiveResourceAttributeEnumValueResponse)(nil) - } - r := new(UnarchiveResourceAttributeEnumValueResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) CloneVT() *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival { - if m == nil { - return (*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival)(nil) - } - r := new(BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) - r.ArchivedEnumValueId = m.ArchivedEnumValueId - r.ReplacementEnumValueId = m.ReplacementEnumValueId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) CloneVT() *BatchArchiveResourceAttributeEnumValuesRequest { - if m == nil { - return (*BatchArchiveResourceAttributeEnumValuesRequest)(nil) - } - r := new(BatchArchiveResourceAttributeEnumValuesRequest) - if rhs := m.ArchivalRequests; rhs != nil { - tmpContainer := make([]*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ArchivalRequests = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) CloneVT() *BatchArchiveResourceAttributeEnumValuesResponse { - if m == nil { - return (*BatchArchiveResourceAttributeEnumValuesResponse)(nil) - } - r := new(BatchArchiveResourceAttributeEnumValuesResponse) - r.TotalResourceAttributesMigrated = m.TotalResourceAttributesMigrated - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) CloneVT() *BatchUnarchiveResourceAttributeEnumValuesRequest { - if m == nil { - return (*BatchUnarchiveResourceAttributeEnumValuesRequest)(nil) - } - r := new(BatchUnarchiveResourceAttributeEnumValuesRequest) - if rhs := m.ResourceAttributeEnumValueIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.ResourceAttributeEnumValueIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) CloneVT() *BatchUnarchiveResourceAttributeEnumValuesResponse { - if m == nil { - return (*BatchUnarchiveResourceAttributeEnumValuesResponse)(nil) - } - r := new(BatchUnarchiveResourceAttributeEnumValuesResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeRequest) CloneVT() *CreateResourceAttributeRequest { - if m == nil { - return (*CreateResourceAttributeRequest)(nil) - } - r := new(CreateResourceAttributeRequest) - r.Entity = m.Entity.CloneVT() - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isCreateResourceAttributeRequest_Value - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) CloneVT() isCreateResourceAttributeRequest_Value { - if m == nil { - return (*CreateResourceAttributeRequest_ResourceAttributeEnumValueId)(nil) - } - r := new(CreateResourceAttributeRequest_ResourceAttributeEnumValueId) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - return r -} - -func (m *CreateResourceAttributeRequest_BooleanValue) CloneVT() isCreateResourceAttributeRequest_Value { - if m == nil { - return (*CreateResourceAttributeRequest_BooleanValue)(nil) - } - r := new(CreateResourceAttributeRequest_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *CreateResourceAttributeRequest_NumberValue) CloneVT() isCreateResourceAttributeRequest_Value { - if m == nil { - return (*CreateResourceAttributeRequest_NumberValue)(nil) - } - r := new(CreateResourceAttributeRequest_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *CreateResourceAttributeResponse) CloneVT() *CreateResourceAttributeResponse { - if m == nil { - return (*CreateResourceAttributeResponse)(nil) - } - r := new(CreateResourceAttributeResponse) - r.ResourceAttribute = m.ResourceAttribute.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateResourceAttributeResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchCreateResourceAttributesRequest) CloneVT() *BatchCreateResourceAttributesRequest { - if m == nil { - return (*BatchCreateResourceAttributesRequest)(nil) - } - r := new(BatchCreateResourceAttributesRequest) - r.ResourceAttributeKeyId = m.ResourceAttributeKeyId - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isBatchCreateResourceAttributesRequest_Value - }).CloneVT() - } - if rhs := m.Entities; rhs != nil { - tmpContainer := make([]*ResourceAttributeEntityIdentifier, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.Entities = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchCreateResourceAttributesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) CloneVT() isBatchCreateResourceAttributesRequest_Value { - if m == nil { - return (*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId)(nil) - } - r := new(BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) - r.ResourceAttributeEnumValueId = m.ResourceAttributeEnumValueId - return r -} - -func (m *BatchCreateResourceAttributesRequest_BooleanValue) CloneVT() isBatchCreateResourceAttributesRequest_Value { - if m == nil { - return (*BatchCreateResourceAttributesRequest_BooleanValue)(nil) - } - r := new(BatchCreateResourceAttributesRequest_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *BatchCreateResourceAttributesRequest_NumberValue) CloneVT() isBatchCreateResourceAttributesRequest_Value { - if m == nil { - return (*BatchCreateResourceAttributesRequest_NumberValue)(nil) - } - r := new(BatchCreateResourceAttributesRequest_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *BatchCreateResourceAttributesResponse) CloneVT() *BatchCreateResourceAttributesResponse { - if m == nil { - return (*BatchCreateResourceAttributesResponse)(nil) - } - r := new(BatchCreateResourceAttributesResponse) - if rhs := m.ResourceAttributes; rhs != nil { - tmpContainer := make([]*ResourceAttribute, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ResourceAttributes = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchCreateResourceAttributesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeRequest) CloneVT() *GetResourceAttributeRequest { - if m == nil { - return (*GetResourceAttributeRequest)(nil) - } - r := new(GetResourceAttributeRequest) - r.ResourceAttributeId = m.ResourceAttributeId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetResourceAttributeResponse) CloneVT() *GetResourceAttributeResponse { - if m == nil { - return (*GetResourceAttributeResponse)(nil) - } - r := new(GetResourceAttributeResponse) - r.ResourceAttribute = m.ResourceAttribute.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetResourceAttributeResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributesRequest) CloneVT() *ListResourceAttributesRequest { - if m == nil { - return (*ListResourceAttributesRequest)(nil) - } - r := new(ListResourceAttributesRequest) - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributesResponse) CloneVT() *ListResourceAttributesResponse { - if m == nil { - return (*ListResourceAttributesResponse)(nil) - } - r := new(ListResourceAttributesResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.ResourceAttributes; rhs != nil { - tmpContainer := make([]*ResourceAttribute, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ResourceAttributes = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributesByEntityRequest) CloneVT() *ListResourceAttributesByEntityRequest { - if m == nil { - return (*ListResourceAttributesByEntityRequest)(nil) - } - r := new(ListResourceAttributesByEntityRequest) - r.Entity = m.Entity.CloneVT() - r.IncludeArchived = m.IncludeArchived - r.PageSize = m.PageSize - r.PageToken = m.PageToken - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributesByEntityRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListResourceAttributesByEntityResponse) CloneVT() *ListResourceAttributesByEntityResponse { - if m == nil { - return (*ListResourceAttributesByEntityResponse)(nil) - } - r := new(ListResourceAttributesByEntityResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.ResourceAttributes; rhs != nil { - tmpContainer := make([]*ResourceAttribute, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.ResourceAttributes = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListResourceAttributesByEntityResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeRequest) CloneVT() *ArchiveResourceAttributeRequest { - if m == nil { - return (*ArchiveResourceAttributeRequest)(nil) - } - r := new(ArchiveResourceAttributeRequest) - r.ResourceAttributeId = m.ResourceAttributeId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveResourceAttributeResponse) CloneVT() *ArchiveResourceAttributeResponse { - if m == nil { - return (*ArchiveResourceAttributeResponse)(nil) - } - r := new(ArchiveResourceAttributeResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveResourceAttributeResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeRequest) CloneVT() *UnarchiveResourceAttributeRequest { - if m == nil { - return (*UnarchiveResourceAttributeRequest)(nil) - } - r := new(UnarchiveResourceAttributeRequest) - r.ResourceAttributeId = m.ResourceAttributeId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveResourceAttributeResponse) CloneVT() *UnarchiveResourceAttributeResponse { - if m == nil { - return (*UnarchiveResourceAttributeResponse)(nil) - } - r := new(UnarchiveResourceAttributeResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveResourceAttributeResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributesRequest) CloneVT() *BatchArchiveResourceAttributesRequest { - if m == nil { - return (*BatchArchiveResourceAttributesRequest)(nil) - } - r := new(BatchArchiveResourceAttributesRequest) - if rhs := m.ResourceAttributeIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.ResourceAttributeIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchArchiveResourceAttributesResponse) CloneVT() *BatchArchiveResourceAttributesResponse { - if m == nil { - return (*BatchArchiveResourceAttributesResponse)(nil) - } - r := new(BatchArchiveResourceAttributesResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchArchiveResourceAttributesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributesRequest) CloneVT() *BatchUnarchiveResourceAttributesRequest { - if m == nil { - return (*BatchUnarchiveResourceAttributesRequest)(nil) - } - r := new(BatchUnarchiveResourceAttributesRequest) - if rhs := m.ResourceAttributeIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.ResourceAttributeIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchUnarchiveResourceAttributesResponse) CloneVT() *BatchUnarchiveResourceAttributesResponse { - if m == nil { - return (*BatchUnarchiveResourceAttributesResponse)(nil) - } - r := new(BatchUnarchiveResourceAttributesResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchUnarchiveResourceAttributesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (this *ResourceAttributeKey) EqualVT(that *ResourceAttributeKey) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - if this.Type != that.Type { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ModifiedDate).EqualVT((*timestamppb1.Timestamp)(that.ModifiedDate)) { - return false - } - if this.ModifiedByUserId != that.ModifiedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ResourceAttributeKey) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ResourceAttributeKey) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ResourceAttributeEnumValue) EqualVT(that *ResourceAttributeEnumValue) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ModifiedDate).EqualVT((*timestamppb1.Timestamp)(that.ModifiedDate)) { - return false - } - if this.ModifiedByUserId != that.ModifiedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ResourceAttributeEnumValue) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ResourceAttributeEnumValue) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ResourceAttribute) EqualVT(that *ResourceAttribute) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isResourceAttribute_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if this.ResourceAttributeId != that.ResourceAttributeId { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if !this.Entity.EqualVT(that.Entity) { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if !this.Key.EqualVT(that.Key) { - return false - } - if !this.EnumValueDetails.EqualVT(that.EnumValueDetails) { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ResourceAttribute) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ResourceAttribute) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ResourceAttribute_ResourceAttributeEnumValueId) EqualVT(thatIface isResourceAttribute_Value) bool { - that, ok := thatIface.(*ResourceAttribute_ResourceAttributeEnumValueId) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - return true -} - -func (this *ResourceAttribute_BooleanValue) EqualVT(thatIface isResourceAttribute_Value) bool { - that, ok := thatIface.(*ResourceAttribute_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *ResourceAttribute_NumberValue) EqualVT(thatIface isResourceAttribute_Value) bool { - that, ok := thatIface.(*ResourceAttribute_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *ResourceAttributeEntityIdentifier) EqualVT(that *ResourceAttributeEntityIdentifier) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.EntityId != that.EntityId { - return false - } - if this.EntityType != that.EntityType { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ResourceAttributeEntityIdentifier) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ResourceAttributeEntityIdentifier) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeKeyRequest_InitialEnumValue) EqualVT(that *CreateResourceAttributeKeyRequest_InitialEnumValue) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeKeyRequest_InitialEnumValue) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeKeyRequest_InitialEnumValue) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeKeyRequest) EqualVT(that *CreateResourceAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - if this.Type != that.Type { - return false - } - if len(this.InitialEnumValues) != len(that.InitialEnumValues) { - return false - } - for i, vx := range this.InitialEnumValues { - vy := that.InitialEnumValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &CreateResourceAttributeKeyRequest_InitialEnumValue{} - } - if q == nil { - q = &CreateResourceAttributeKeyRequest_InitialEnumValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeKeyResponse) EqualVT(that *CreateResourceAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeKey.EqualVT(that.ResourceAttributeKey) { - return false - } - if len(this.EnumValues) != len(that.EnumValues) { - return false - } - for i, vx := range this.EnumValues { - vy := that.EnumValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttributeEnumValue{} - } - if q == nil { - q = &ResourceAttributeEnumValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeKeyRequest) EqualVT(that *GetResourceAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeKeyResponse) EqualVT(that *GetResourceAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeKey.EqualVT(that.ResourceAttributeKey) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributeKeysRequest) EqualVT(that *ListResourceAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributeKeysResponse) EqualVT(that *ListResourceAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeKeys) != len(that.ResourceAttributeKeys) { - return false - } - for i, vx := range this.ResourceAttributeKeys { - vy := that.ResourceAttributeKeys[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttributeKey{} - } - if q == nil { - q = &ResourceAttributeKey{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateResourceAttributeKeyRequest) EqualVT(that *UpdateResourceAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - if !(*fieldmaskpb1.FieldMask)(this.UpdateMask).EqualVT((*fieldmaskpb1.FieldMask)(that.UpdateMask)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateResourceAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateResourceAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateResourceAttributeKeyResponse) EqualVT(that *UpdateResourceAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeKey.EqualVT(that.ResourceAttributeKey) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateResourceAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateResourceAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeKeyRequest) EqualVT(that *ArchiveResourceAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeKeyResponse) EqualVT(that *ArchiveResourceAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeKeyRequest) EqualVT(that *UnarchiveResourceAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeKeyResponse) EqualVT(that *UnarchiveResourceAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributeKeysRequest) EqualVT(that *BatchArchiveResourceAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeKeyIds) != len(that.ResourceAttributeKeyIds) { - return false - } - for i, vx := range this.ResourceAttributeKeyIds { - vy := that.ResourceAttributeKeyIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributeKeysResponse) EqualVT(that *BatchArchiveResourceAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributeKeysRequest) EqualVT(that *BatchUnarchiveResourceAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeKeyIds) != len(that.ResourceAttributeKeyIds) { - return false - } - for i, vx := range this.ResourceAttributeKeyIds { - vy := that.ResourceAttributeKeyIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributeKeysResponse) EqualVT(that *BatchUnarchiveResourceAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeEnumValueRequest) EqualVT(that *CreateResourceAttributeEnumValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeEnumValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeEnumValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeEnumValueResponse) EqualVT(that *CreateResourceAttributeEnumValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeEnumValue.EqualVT(that.ResourceAttributeEnumValue) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeEnumValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeEnumValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeEnumValueRequest) EqualVT(that *GetResourceAttributeEnumValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeEnumValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeEnumValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeEnumValueResponse) EqualVT(that *GetResourceAttributeEnumValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeEnumValue.EqualVT(that.ResourceAttributeEnumValue) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeEnumValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeEnumValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributeEnumValuesRequest) EqualVT(that *ListResourceAttributeEnumValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributeEnumValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributeEnumValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributeEnumValuesResponse) EqualVT(that *ListResourceAttributeEnumValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeEnumValues) != len(that.ResourceAttributeEnumValues) { - return false - } - for i, vx := range this.ResourceAttributeEnumValues { - vy := that.ResourceAttributeEnumValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttributeEnumValue{} - } - if q == nil { - q = &ResourceAttributeEnumValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributeEnumValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributeEnumValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateResourceAttributeEnumValueRequest) EqualVT(that *UpdateResourceAttributeEnumValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - if this.DisplayName != that.DisplayName { - return false - } - if this.Description != that.Description { - return false - } - if !(*fieldmaskpb1.FieldMask)(this.UpdateMask).EqualVT((*fieldmaskpb1.FieldMask)(that.UpdateMask)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateResourceAttributeEnumValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateResourceAttributeEnumValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateResourceAttributeEnumValueResponse) EqualVT(that *UpdateResourceAttributeEnumValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttributeEnumValue.EqualVT(that.ResourceAttributeEnumValue) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateResourceAttributeEnumValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateResourceAttributeEnumValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeEnumValueRequest) EqualVT(that *ArchiveResourceAttributeEnumValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ArchivedEnumValueId != that.ArchivedEnumValueId { - return false - } - if this.ReplacementEnumValueId != that.ReplacementEnumValueId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeEnumValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeEnumValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeEnumValueResponse) EqualVT(that *ArchiveResourceAttributeEnumValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributesMigrated != that.ResourceAttributesMigrated { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeEnumValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeEnumValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeEnumValueRequest) EqualVT(that *UnarchiveResourceAttributeEnumValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeEnumValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeEnumValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeEnumValueResponse) EqualVT(that *UnarchiveResourceAttributeEnumValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeEnumValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeEnumValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) EqualVT(that *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ArchivedEnumValueId != that.ArchivedEnumValueId { - return false - } - if this.ReplacementEnumValueId != that.ReplacementEnumValueId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributeEnumValuesRequest) EqualVT(that *BatchArchiveResourceAttributeEnumValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ArchivalRequests) != len(that.ArchivalRequests) { - return false - } - for i, vx := range this.ArchivalRequests { - vy := that.ArchivalRequests[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival{} - } - if q == nil { - q = &BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributeEnumValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributeEnumValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributeEnumValuesResponse) EqualVT(that *BatchArchiveResourceAttributeEnumValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.TotalResourceAttributesMigrated != that.TotalResourceAttributesMigrated { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributeEnumValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributeEnumValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributeEnumValuesRequest) EqualVT(that *BatchUnarchiveResourceAttributeEnumValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeEnumValueIds) != len(that.ResourceAttributeEnumValueIds) { - return false - } - for i, vx := range this.ResourceAttributeEnumValueIds { - vy := that.ResourceAttributeEnumValueIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributeEnumValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributeEnumValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributeEnumValuesResponse) EqualVT(that *BatchUnarchiveResourceAttributeEnumValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributeEnumValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributeEnumValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeRequest) EqualVT(that *CreateResourceAttributeRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isCreateResourceAttributeRequest_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if !this.Entity.EqualVT(that.Entity) { - return false - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) EqualVT(thatIface isCreateResourceAttributeRequest_Value) bool { - that, ok := thatIface.(*CreateResourceAttributeRequest_ResourceAttributeEnumValueId) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - return true -} - -func (this *CreateResourceAttributeRequest_BooleanValue) EqualVT(thatIface isCreateResourceAttributeRequest_Value) bool { - that, ok := thatIface.(*CreateResourceAttributeRequest_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *CreateResourceAttributeRequest_NumberValue) EqualVT(thatIface isCreateResourceAttributeRequest_Value) bool { - that, ok := thatIface.(*CreateResourceAttributeRequest_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *CreateResourceAttributeResponse) EqualVT(that *CreateResourceAttributeResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttribute.EqualVT(that.ResourceAttribute) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateResourceAttributeResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateResourceAttributeResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchCreateResourceAttributesRequest) EqualVT(that *BatchCreateResourceAttributesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isBatchCreateResourceAttributesRequest_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if this.ResourceAttributeKeyId != that.ResourceAttributeKeyId { - return false - } - if len(this.Entities) != len(that.Entities) { - return false - } - for i, vx := range this.Entities { - vy := that.Entities[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttributeEntityIdentifier{} - } - if q == nil { - q = &ResourceAttributeEntityIdentifier{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchCreateResourceAttributesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchCreateResourceAttributesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) EqualVT(thatIface isBatchCreateResourceAttributesRequest_Value) bool { - that, ok := thatIface.(*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.ResourceAttributeEnumValueId != that.ResourceAttributeEnumValueId { - return false - } - return true -} - -func (this *BatchCreateResourceAttributesRequest_BooleanValue) EqualVT(thatIface isBatchCreateResourceAttributesRequest_Value) bool { - that, ok := thatIface.(*BatchCreateResourceAttributesRequest_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *BatchCreateResourceAttributesRequest_NumberValue) EqualVT(thatIface isBatchCreateResourceAttributesRequest_Value) bool { - that, ok := thatIface.(*BatchCreateResourceAttributesRequest_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *BatchCreateResourceAttributesResponse) EqualVT(that *BatchCreateResourceAttributesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributes) != len(that.ResourceAttributes) { - return false - } - for i, vx := range this.ResourceAttributes { - vy := that.ResourceAttributes[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttribute{} - } - if q == nil { - q = &ResourceAttribute{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchCreateResourceAttributesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchCreateResourceAttributesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeRequest) EqualVT(that *GetResourceAttributeRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeId != that.ResourceAttributeId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetResourceAttributeResponse) EqualVT(that *GetResourceAttributeResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.ResourceAttribute.EqualVT(that.ResourceAttribute) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetResourceAttributeResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetResourceAttributeResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributesRequest) EqualVT(that *ListResourceAttributesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributesResponse) EqualVT(that *ListResourceAttributesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributes) != len(that.ResourceAttributes) { - return false - } - for i, vx := range this.ResourceAttributes { - vy := that.ResourceAttributes[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttribute{} - } - if q == nil { - q = &ResourceAttribute{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributesByEntityRequest) EqualVT(that *ListResourceAttributesByEntityRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.Entity.EqualVT(that.Entity) { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributesByEntityRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributesByEntityRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListResourceAttributesByEntityResponse) EqualVT(that *ListResourceAttributesByEntityResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributes) != len(that.ResourceAttributes) { - return false - } - for i, vx := range this.ResourceAttributes { - vy := that.ResourceAttributes[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &ResourceAttribute{} - } - if q == nil { - q = &ResourceAttribute{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListResourceAttributesByEntityResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListResourceAttributesByEntityResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeRequest) EqualVT(that *ArchiveResourceAttributeRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeId != that.ResourceAttributeId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveResourceAttributeResponse) EqualVT(that *ArchiveResourceAttributeResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveResourceAttributeResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveResourceAttributeResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeRequest) EqualVT(that *UnarchiveResourceAttributeRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.ResourceAttributeId != that.ResourceAttributeId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveResourceAttributeResponse) EqualVT(that *UnarchiveResourceAttributeResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveResourceAttributeResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveResourceAttributeResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributesRequest) EqualVT(that *BatchArchiveResourceAttributesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeIds) != len(that.ResourceAttributeIds) { - return false - } - for i, vx := range this.ResourceAttributeIds { - vy := that.ResourceAttributeIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchArchiveResourceAttributesResponse) EqualVT(that *BatchArchiveResourceAttributesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchArchiveResourceAttributesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchArchiveResourceAttributesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributesRequest) EqualVT(that *BatchUnarchiveResourceAttributesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.ResourceAttributeIds) != len(that.ResourceAttributeIds) { - return false - } - for i, vx := range this.ResourceAttributeIds { - vy := that.ResourceAttributeIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchUnarchiveResourceAttributesResponse) EqualVT(that *BatchUnarchiveResourceAttributesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchUnarchiveResourceAttributesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchUnarchiveResourceAttributesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// ResourceAttributeServiceClient is the client API for ResourceAttributeService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type ResourceAttributeServiceClient interface { - CreateResourceAttributeKey(ctx context.Context, in *CreateResourceAttributeKeyRequest, opts ...grpc.CallOption) (*CreateResourceAttributeKeyResponse, error) - GetResourceAttributeKey(ctx context.Context, in *GetResourceAttributeKeyRequest, opts ...grpc.CallOption) (*GetResourceAttributeKeyResponse, error) - ListResourceAttributeKeys(ctx context.Context, in *ListResourceAttributeKeysRequest, opts ...grpc.CallOption) (*ListResourceAttributeKeysResponse, error) - UpdateResourceAttributeKey(ctx context.Context, in *UpdateResourceAttributeKeyRequest, opts ...grpc.CallOption) (*UpdateResourceAttributeKeyResponse, error) - // Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes. - ArchiveResourceAttributeKey(ctx context.Context, in *ArchiveResourceAttributeKeyRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeKeyResponse, error) - // Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes. - UnarchiveResourceAttributeKey(ctx context.Context, in *UnarchiveResourceAttributeKeyRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeKeyResponse, error) - // Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes. - BatchArchiveResourceAttributeKeys(ctx context.Context, in *BatchArchiveResourceAttributeKeysRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributeKeysResponse, error) - // Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes. - BatchUnarchiveResourceAttributeKeys(ctx context.Context, in *BatchUnarchiveResourceAttributeKeysRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributeKeysResponse, error) - CreateResourceAttributeEnumValue(ctx context.Context, in *CreateResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*CreateResourceAttributeEnumValueResponse, error) - GetResourceAttributeEnumValue(ctx context.Context, in *GetResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*GetResourceAttributeEnumValueResponse, error) - ListResourceAttributeEnumValues(ctx context.Context, in *ListResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*ListResourceAttributeEnumValuesResponse, error) - UpdateResourceAttributeEnumValue(ctx context.Context, in *UpdateResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*UpdateResourceAttributeEnumValueResponse, error) - // Archives an enum value and migrates all resource-attributes with that value to a replacement value. - ArchiveResourceAttributeEnumValue(ctx context.Context, in *ArchiveResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeEnumValueResponse, error) - // Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - UnarchiveResourceAttributeEnumValue(ctx context.Context, in *UnarchiveResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeEnumValueResponse, error) - // Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values. - BatchArchiveResourceAttributeEnumValues(ctx context.Context, in *BatchArchiveResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributeEnumValuesResponse, error) - // Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - BatchUnarchiveResourceAttributeEnumValues(ctx context.Context, in *BatchUnarchiveResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributeEnumValuesResponse, error) - // Creates relation between an Entity and a ResourceAttribute Key and Value. - CreateResourceAttribute(ctx context.Context, in *CreateResourceAttributeRequest, opts ...grpc.CallOption) (*CreateResourceAttributeResponse, error) - // Creates resource-attributes for multiple entities with the same key-value pair. - BatchCreateResourceAttributes(ctx context.Context, in *BatchCreateResourceAttributesRequest, opts ...grpc.CallOption) (*BatchCreateResourceAttributesResponse, error) - GetResourceAttribute(ctx context.Context, in *GetResourceAttributeRequest, opts ...grpc.CallOption) (*GetResourceAttributeResponse, error) - ListResourceAttributes(ctx context.Context, in *ListResourceAttributesRequest, opts ...grpc.CallOption) (*ListResourceAttributesResponse, error) - // Lists all resource-attributes for a specific entity. Excludes archived by default. - ListResourceAttributesByEntity(ctx context.Context, in *ListResourceAttributesByEntityRequest, opts ...grpc.CallOption) (*ListResourceAttributesByEntityResponse, error) - ArchiveResourceAttribute(ctx context.Context, in *ArchiveResourceAttributeRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeResponse, error) - UnarchiveResourceAttribute(ctx context.Context, in *UnarchiveResourceAttributeRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeResponse, error) - // Archives multiple resource-attributes. - BatchArchiveResourceAttributes(ctx context.Context, in *BatchArchiveResourceAttributesRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributesResponse, error) - // Unarchives multiple resource-attributes. - BatchUnarchiveResourceAttributes(ctx context.Context, in *BatchUnarchiveResourceAttributesRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributesResponse, error) -} - -type resourceAttributeServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewResourceAttributeServiceClient(cc grpc.ClientConnInterface) ResourceAttributeServiceClient { - return &resourceAttributeServiceClient{cc} -} - -func (c *resourceAttributeServiceClient) CreateResourceAttributeKey(ctx context.Context, in *CreateResourceAttributeKeyRequest, opts ...grpc.CallOption) (*CreateResourceAttributeKeyResponse, error) { - out := new(CreateResourceAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) GetResourceAttributeKey(ctx context.Context, in *GetResourceAttributeKeyRequest, opts ...grpc.CallOption) (*GetResourceAttributeKeyResponse, error) { - out := new(GetResourceAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ListResourceAttributeKeys(ctx context.Context, in *ListResourceAttributeKeysRequest, opts ...grpc.CallOption) (*ListResourceAttributeKeysResponse, error) { - out := new(ListResourceAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) UpdateResourceAttributeKey(ctx context.Context, in *UpdateResourceAttributeKeyRequest, opts ...grpc.CallOption) (*UpdateResourceAttributeKeyResponse, error) { - out := new(UpdateResourceAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ArchiveResourceAttributeKey(ctx context.Context, in *ArchiveResourceAttributeKeyRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeKeyResponse, error) { - out := new(ArchiveResourceAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) UnarchiveResourceAttributeKey(ctx context.Context, in *UnarchiveResourceAttributeKeyRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeKeyResponse, error) { - out := new(UnarchiveResourceAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchArchiveResourceAttributeKeys(ctx context.Context, in *BatchArchiveResourceAttributeKeysRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributeKeysResponse, error) { - out := new(BatchArchiveResourceAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchUnarchiveResourceAttributeKeys(ctx context.Context, in *BatchUnarchiveResourceAttributeKeysRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributeKeysResponse, error) { - out := new(BatchUnarchiveResourceAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) CreateResourceAttributeEnumValue(ctx context.Context, in *CreateResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*CreateResourceAttributeEnumValueResponse, error) { - out := new(CreateResourceAttributeEnumValueResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) GetResourceAttributeEnumValue(ctx context.Context, in *GetResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*GetResourceAttributeEnumValueResponse, error) { - out := new(GetResourceAttributeEnumValueResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ListResourceAttributeEnumValues(ctx context.Context, in *ListResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*ListResourceAttributeEnumValuesResponse, error) { - out := new(ListResourceAttributeEnumValuesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) UpdateResourceAttributeEnumValue(ctx context.Context, in *UpdateResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*UpdateResourceAttributeEnumValueResponse, error) { - out := new(UpdateResourceAttributeEnumValueResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ArchiveResourceAttributeEnumValue(ctx context.Context, in *ArchiveResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeEnumValueResponse, error) { - out := new(ArchiveResourceAttributeEnumValueResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) UnarchiveResourceAttributeEnumValue(ctx context.Context, in *UnarchiveResourceAttributeEnumValueRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeEnumValueResponse, error) { - out := new(UnarchiveResourceAttributeEnumValueResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchArchiveResourceAttributeEnumValues(ctx context.Context, in *BatchArchiveResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributeEnumValuesResponse, error) { - out := new(BatchArchiveResourceAttributeEnumValuesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchUnarchiveResourceAttributeEnumValues(ctx context.Context, in *BatchUnarchiveResourceAttributeEnumValuesRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributeEnumValuesResponse, error) { - out := new(BatchUnarchiveResourceAttributeEnumValuesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) CreateResourceAttribute(ctx context.Context, in *CreateResourceAttributeRequest, opts ...grpc.CallOption) (*CreateResourceAttributeResponse, error) { - out := new(CreateResourceAttributeResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchCreateResourceAttributes(ctx context.Context, in *BatchCreateResourceAttributesRequest, opts ...grpc.CallOption) (*BatchCreateResourceAttributesResponse, error) { - out := new(BatchCreateResourceAttributesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) GetResourceAttribute(ctx context.Context, in *GetResourceAttributeRequest, opts ...grpc.CallOption) (*GetResourceAttributeResponse, error) { - out := new(GetResourceAttributeResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ListResourceAttributes(ctx context.Context, in *ListResourceAttributesRequest, opts ...grpc.CallOption) (*ListResourceAttributesResponse, error) { - out := new(ListResourceAttributesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ListResourceAttributesByEntity(ctx context.Context, in *ListResourceAttributesByEntityRequest, opts ...grpc.CallOption) (*ListResourceAttributesByEntityResponse, error) { - out := new(ListResourceAttributesByEntityResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) ArchiveResourceAttribute(ctx context.Context, in *ArchiveResourceAttributeRequest, opts ...grpc.CallOption) (*ArchiveResourceAttributeResponse, error) { - out := new(ArchiveResourceAttributeResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) UnarchiveResourceAttribute(ctx context.Context, in *UnarchiveResourceAttributeRequest, opts ...grpc.CallOption) (*UnarchiveResourceAttributeResponse, error) { - out := new(UnarchiveResourceAttributeResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchArchiveResourceAttributes(ctx context.Context, in *BatchArchiveResourceAttributesRequest, opts ...grpc.CallOption) (*BatchArchiveResourceAttributesResponse, error) { - out := new(BatchArchiveResourceAttributesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *resourceAttributeServiceClient) BatchUnarchiveResourceAttributes(ctx context.Context, in *BatchUnarchiveResourceAttributesRequest, opts ...grpc.CallOption) (*BatchUnarchiveResourceAttributesResponse, error) { - out := new(BatchUnarchiveResourceAttributesResponse) - err := c.cc.Invoke(ctx, "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// ResourceAttributeServiceServer is the server API for ResourceAttributeService service. -// All implementations must embed UnimplementedResourceAttributeServiceServer -// for forward compatibility -type ResourceAttributeServiceServer interface { - CreateResourceAttributeKey(context.Context, *CreateResourceAttributeKeyRequest) (*CreateResourceAttributeKeyResponse, error) - GetResourceAttributeKey(context.Context, *GetResourceAttributeKeyRequest) (*GetResourceAttributeKeyResponse, error) - ListResourceAttributeKeys(context.Context, *ListResourceAttributeKeysRequest) (*ListResourceAttributeKeysResponse, error) - UpdateResourceAttributeKey(context.Context, *UpdateResourceAttributeKeyRequest) (*UpdateResourceAttributeKeyResponse, error) - // Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes. - ArchiveResourceAttributeKey(context.Context, *ArchiveResourceAttributeKeyRequest) (*ArchiveResourceAttributeKeyResponse, error) - // Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes. - UnarchiveResourceAttributeKey(context.Context, *UnarchiveResourceAttributeKeyRequest) (*UnarchiveResourceAttributeKeyResponse, error) - // Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes. - BatchArchiveResourceAttributeKeys(context.Context, *BatchArchiveResourceAttributeKeysRequest) (*BatchArchiveResourceAttributeKeysResponse, error) - // Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes. - BatchUnarchiveResourceAttributeKeys(context.Context, *BatchUnarchiveResourceAttributeKeysRequest) (*BatchUnarchiveResourceAttributeKeysResponse, error) - CreateResourceAttributeEnumValue(context.Context, *CreateResourceAttributeEnumValueRequest) (*CreateResourceAttributeEnumValueResponse, error) - GetResourceAttributeEnumValue(context.Context, *GetResourceAttributeEnumValueRequest) (*GetResourceAttributeEnumValueResponse, error) - ListResourceAttributeEnumValues(context.Context, *ListResourceAttributeEnumValuesRequest) (*ListResourceAttributeEnumValuesResponse, error) - UpdateResourceAttributeEnumValue(context.Context, *UpdateResourceAttributeEnumValueRequest) (*UpdateResourceAttributeEnumValueResponse, error) - // Archives an enum value and migrates all resource-attributes with that value to a replacement value. - ArchiveResourceAttributeEnumValue(context.Context, *ArchiveResourceAttributeEnumValueRequest) (*ArchiveResourceAttributeEnumValueResponse, error) - // Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - UnarchiveResourceAttributeEnumValue(context.Context, *UnarchiveResourceAttributeEnumValueRequest) (*UnarchiveResourceAttributeEnumValueResponse, error) - // Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values. - BatchArchiveResourceAttributeEnumValues(context.Context, *BatchArchiveResourceAttributeEnumValuesRequest) (*BatchArchiveResourceAttributeEnumValuesResponse, error) - // Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - BatchUnarchiveResourceAttributeEnumValues(context.Context, *BatchUnarchiveResourceAttributeEnumValuesRequest) (*BatchUnarchiveResourceAttributeEnumValuesResponse, error) - // Creates relation between an Entity and a ResourceAttribute Key and Value. - CreateResourceAttribute(context.Context, *CreateResourceAttributeRequest) (*CreateResourceAttributeResponse, error) - // Creates resource-attributes for multiple entities with the same key-value pair. - BatchCreateResourceAttributes(context.Context, *BatchCreateResourceAttributesRequest) (*BatchCreateResourceAttributesResponse, error) - GetResourceAttribute(context.Context, *GetResourceAttributeRequest) (*GetResourceAttributeResponse, error) - ListResourceAttributes(context.Context, *ListResourceAttributesRequest) (*ListResourceAttributesResponse, error) - // Lists all resource-attributes for a specific entity. Excludes archived by default. - ListResourceAttributesByEntity(context.Context, *ListResourceAttributesByEntityRequest) (*ListResourceAttributesByEntityResponse, error) - ArchiveResourceAttribute(context.Context, *ArchiveResourceAttributeRequest) (*ArchiveResourceAttributeResponse, error) - UnarchiveResourceAttribute(context.Context, *UnarchiveResourceAttributeRequest) (*UnarchiveResourceAttributeResponse, error) - // Archives multiple resource-attributes. - BatchArchiveResourceAttributes(context.Context, *BatchArchiveResourceAttributesRequest) (*BatchArchiveResourceAttributesResponse, error) - // Unarchives multiple resource-attributes. - BatchUnarchiveResourceAttributes(context.Context, *BatchUnarchiveResourceAttributesRequest) (*BatchUnarchiveResourceAttributesResponse, error) - mustEmbedUnimplementedResourceAttributeServiceServer() -} - -// UnimplementedResourceAttributeServiceServer must be embedded to have forward compatible implementations. -type UnimplementedResourceAttributeServiceServer struct { -} - -func (UnimplementedResourceAttributeServiceServer) CreateResourceAttributeKey(context.Context, *CreateResourceAttributeKeyRequest) (*CreateResourceAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateResourceAttributeKey not implemented") -} -func (UnimplementedResourceAttributeServiceServer) GetResourceAttributeKey(context.Context, *GetResourceAttributeKeyRequest) (*GetResourceAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetResourceAttributeKey not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ListResourceAttributeKeys(context.Context, *ListResourceAttributeKeysRequest) (*ListResourceAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResourceAttributeKeys not implemented") -} -func (UnimplementedResourceAttributeServiceServer) UpdateResourceAttributeKey(context.Context, *UpdateResourceAttributeKeyRequest) (*UpdateResourceAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateResourceAttributeKey not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ArchiveResourceAttributeKey(context.Context, *ArchiveResourceAttributeKeyRequest) (*ArchiveResourceAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchiveResourceAttributeKey not implemented") -} -func (UnimplementedResourceAttributeServiceServer) UnarchiveResourceAttributeKey(context.Context, *UnarchiveResourceAttributeKeyRequest) (*UnarchiveResourceAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnarchiveResourceAttributeKey not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchArchiveResourceAttributeKeys(context.Context, *BatchArchiveResourceAttributeKeysRequest) (*BatchArchiveResourceAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchArchiveResourceAttributeKeys not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchUnarchiveResourceAttributeKeys(context.Context, *BatchUnarchiveResourceAttributeKeysRequest) (*BatchUnarchiveResourceAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchUnarchiveResourceAttributeKeys not implemented") -} -func (UnimplementedResourceAttributeServiceServer) CreateResourceAttributeEnumValue(context.Context, *CreateResourceAttributeEnumValueRequest) (*CreateResourceAttributeEnumValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateResourceAttributeEnumValue not implemented") -} -func (UnimplementedResourceAttributeServiceServer) GetResourceAttributeEnumValue(context.Context, *GetResourceAttributeEnumValueRequest) (*GetResourceAttributeEnumValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetResourceAttributeEnumValue not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ListResourceAttributeEnumValues(context.Context, *ListResourceAttributeEnumValuesRequest) (*ListResourceAttributeEnumValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResourceAttributeEnumValues not implemented") -} -func (UnimplementedResourceAttributeServiceServer) UpdateResourceAttributeEnumValue(context.Context, *UpdateResourceAttributeEnumValueRequest) (*UpdateResourceAttributeEnumValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateResourceAttributeEnumValue not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ArchiveResourceAttributeEnumValue(context.Context, *ArchiveResourceAttributeEnumValueRequest) (*ArchiveResourceAttributeEnumValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchiveResourceAttributeEnumValue not implemented") -} -func (UnimplementedResourceAttributeServiceServer) UnarchiveResourceAttributeEnumValue(context.Context, *UnarchiveResourceAttributeEnumValueRequest) (*UnarchiveResourceAttributeEnumValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnarchiveResourceAttributeEnumValue not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchArchiveResourceAttributeEnumValues(context.Context, *BatchArchiveResourceAttributeEnumValuesRequest) (*BatchArchiveResourceAttributeEnumValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchArchiveResourceAttributeEnumValues not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchUnarchiveResourceAttributeEnumValues(context.Context, *BatchUnarchiveResourceAttributeEnumValuesRequest) (*BatchUnarchiveResourceAttributeEnumValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchUnarchiveResourceAttributeEnumValues not implemented") -} -func (UnimplementedResourceAttributeServiceServer) CreateResourceAttribute(context.Context, *CreateResourceAttributeRequest) (*CreateResourceAttributeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateResourceAttribute not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchCreateResourceAttributes(context.Context, *BatchCreateResourceAttributesRequest) (*BatchCreateResourceAttributesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchCreateResourceAttributes not implemented") -} -func (UnimplementedResourceAttributeServiceServer) GetResourceAttribute(context.Context, *GetResourceAttributeRequest) (*GetResourceAttributeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetResourceAttribute not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ListResourceAttributes(context.Context, *ListResourceAttributesRequest) (*ListResourceAttributesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResourceAttributes not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ListResourceAttributesByEntity(context.Context, *ListResourceAttributesByEntityRequest) (*ListResourceAttributesByEntityResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListResourceAttributesByEntity not implemented") -} -func (UnimplementedResourceAttributeServiceServer) ArchiveResourceAttribute(context.Context, *ArchiveResourceAttributeRequest) (*ArchiveResourceAttributeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchiveResourceAttribute not implemented") -} -func (UnimplementedResourceAttributeServiceServer) UnarchiveResourceAttribute(context.Context, *UnarchiveResourceAttributeRequest) (*UnarchiveResourceAttributeResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnarchiveResourceAttribute not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchArchiveResourceAttributes(context.Context, *BatchArchiveResourceAttributesRequest) (*BatchArchiveResourceAttributesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchArchiveResourceAttributes not implemented") -} -func (UnimplementedResourceAttributeServiceServer) BatchUnarchiveResourceAttributes(context.Context, *BatchUnarchiveResourceAttributesRequest) (*BatchUnarchiveResourceAttributesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchUnarchiveResourceAttributes not implemented") -} -func (UnimplementedResourceAttributeServiceServer) mustEmbedUnimplementedResourceAttributeServiceServer() { -} - -// UnsafeResourceAttributeServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to ResourceAttributeServiceServer will -// result in compilation errors. -type UnsafeResourceAttributeServiceServer interface { - mustEmbedUnimplementedResourceAttributeServiceServer() -} - -func RegisterResourceAttributeServiceServer(s grpc.ServiceRegistrar, srv ResourceAttributeServiceServer) { - s.RegisterService(&ResourceAttributeService_ServiceDesc, srv) -} - -func _ResourceAttributeService_CreateResourceAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateResourceAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).CreateResourceAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).CreateResourceAttributeKey(ctx, req.(*CreateResourceAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_GetResourceAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetResourceAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).GetResourceAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).GetResourceAttributeKey(ctx, req.(*GetResourceAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ListResourceAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListResourceAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ListResourceAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ListResourceAttributeKeys(ctx, req.(*ListResourceAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_UpdateResourceAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateResourceAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).UpdateResourceAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).UpdateResourceAttributeKey(ctx, req.(*UpdateResourceAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ArchiveResourceAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchiveResourceAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttributeKey(ctx, req.(*ArchiveResourceAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_UnarchiveResourceAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnarchiveResourceAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttributeKey(ctx, req.(*UnarchiveResourceAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchArchiveResourceAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchArchiveResourceAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributeKeys(ctx, req.(*BatchArchiveResourceAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchUnarchiveResourceAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributeKeys(ctx, req.(*BatchUnarchiveResourceAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_CreateResourceAttributeEnumValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateResourceAttributeEnumValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).CreateResourceAttributeEnumValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).CreateResourceAttributeEnumValue(ctx, req.(*CreateResourceAttributeEnumValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_GetResourceAttributeEnumValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetResourceAttributeEnumValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).GetResourceAttributeEnumValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).GetResourceAttributeEnumValue(ctx, req.(*GetResourceAttributeEnumValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ListResourceAttributeEnumValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListResourceAttributeEnumValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ListResourceAttributeEnumValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ListResourceAttributeEnumValues(ctx, req.(*ListResourceAttributeEnumValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_UpdateResourceAttributeEnumValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateResourceAttributeEnumValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).UpdateResourceAttributeEnumValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).UpdateResourceAttributeEnumValue(ctx, req.(*UpdateResourceAttributeEnumValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ArchiveResourceAttributeEnumValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchiveResourceAttributeEnumValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttributeEnumValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttributeEnumValue(ctx, req.(*ArchiveResourceAttributeEnumValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_UnarchiveResourceAttributeEnumValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnarchiveResourceAttributeEnumValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttributeEnumValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttributeEnumValue(ctx, req.(*UnarchiveResourceAttributeEnumValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchArchiveResourceAttributeEnumValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributeEnumValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributeEnumValues(ctx, req.(*BatchArchiveResourceAttributeEnumValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchUnarchiveResourceAttributeEnumValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributeEnumValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributeEnumValues(ctx, req.(*BatchUnarchiveResourceAttributeEnumValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_CreateResourceAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateResourceAttributeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).CreateResourceAttribute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).CreateResourceAttribute(ctx, req.(*CreateResourceAttributeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchCreateResourceAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchCreateResourceAttributesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchCreateResourceAttributes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchCreateResourceAttributes(ctx, req.(*BatchCreateResourceAttributesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_GetResourceAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetResourceAttributeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).GetResourceAttribute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).GetResourceAttribute(ctx, req.(*GetResourceAttributeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ListResourceAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListResourceAttributesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ListResourceAttributes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ListResourceAttributes(ctx, req.(*ListResourceAttributesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ListResourceAttributesByEntity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListResourceAttributesByEntityRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ListResourceAttributesByEntity(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ListResourceAttributesByEntity(ctx, req.(*ListResourceAttributesByEntityRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_ArchiveResourceAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchiveResourceAttributeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttribute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).ArchiveResourceAttribute(ctx, req.(*ArchiveResourceAttributeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_UnarchiveResourceAttribute_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnarchiveResourceAttributeRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttribute(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).UnarchiveResourceAttribute(ctx, req.(*UnarchiveResourceAttributeRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchArchiveResourceAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchArchiveResourceAttributesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchArchiveResourceAttributes(ctx, req.(*BatchArchiveResourceAttributesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _ResourceAttributeService_BatchUnarchiveResourceAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchUnarchiveResourceAttributesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributes(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ResourceAttributeServiceServer).BatchUnarchiveResourceAttributes(ctx, req.(*BatchUnarchiveResourceAttributesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// ResourceAttributeService_ServiceDesc is the grpc.ServiceDesc for ResourceAttributeService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var ResourceAttributeService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "sift.resource_attribute.v1.ResourceAttributeService", - HandlerType: (*ResourceAttributeServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateResourceAttributeKey", - Handler: _ResourceAttributeService_CreateResourceAttributeKey_Handler, - }, - { - MethodName: "GetResourceAttributeKey", - Handler: _ResourceAttributeService_GetResourceAttributeKey_Handler, - }, - { - MethodName: "ListResourceAttributeKeys", - Handler: _ResourceAttributeService_ListResourceAttributeKeys_Handler, - }, - { - MethodName: "UpdateResourceAttributeKey", - Handler: _ResourceAttributeService_UpdateResourceAttributeKey_Handler, - }, - { - MethodName: "ArchiveResourceAttributeKey", - Handler: _ResourceAttributeService_ArchiveResourceAttributeKey_Handler, - }, - { - MethodName: "UnarchiveResourceAttributeKey", - Handler: _ResourceAttributeService_UnarchiveResourceAttributeKey_Handler, - }, - { - MethodName: "BatchArchiveResourceAttributeKeys", - Handler: _ResourceAttributeService_BatchArchiveResourceAttributeKeys_Handler, - }, - { - MethodName: "BatchUnarchiveResourceAttributeKeys", - Handler: _ResourceAttributeService_BatchUnarchiveResourceAttributeKeys_Handler, - }, - { - MethodName: "CreateResourceAttributeEnumValue", - Handler: _ResourceAttributeService_CreateResourceAttributeEnumValue_Handler, - }, - { - MethodName: "GetResourceAttributeEnumValue", - Handler: _ResourceAttributeService_GetResourceAttributeEnumValue_Handler, - }, - { - MethodName: "ListResourceAttributeEnumValues", - Handler: _ResourceAttributeService_ListResourceAttributeEnumValues_Handler, - }, - { - MethodName: "UpdateResourceAttributeEnumValue", - Handler: _ResourceAttributeService_UpdateResourceAttributeEnumValue_Handler, - }, - { - MethodName: "ArchiveResourceAttributeEnumValue", - Handler: _ResourceAttributeService_ArchiveResourceAttributeEnumValue_Handler, - }, - { - MethodName: "UnarchiveResourceAttributeEnumValue", - Handler: _ResourceAttributeService_UnarchiveResourceAttributeEnumValue_Handler, - }, - { - MethodName: "BatchArchiveResourceAttributeEnumValues", - Handler: _ResourceAttributeService_BatchArchiveResourceAttributeEnumValues_Handler, - }, - { - MethodName: "BatchUnarchiveResourceAttributeEnumValues", - Handler: _ResourceAttributeService_BatchUnarchiveResourceAttributeEnumValues_Handler, - }, - { - MethodName: "CreateResourceAttribute", - Handler: _ResourceAttributeService_CreateResourceAttribute_Handler, - }, - { - MethodName: "BatchCreateResourceAttributes", - Handler: _ResourceAttributeService_BatchCreateResourceAttributes_Handler, - }, - { - MethodName: "GetResourceAttribute", - Handler: _ResourceAttributeService_GetResourceAttribute_Handler, - }, - { - MethodName: "ListResourceAttributes", - Handler: _ResourceAttributeService_ListResourceAttributes_Handler, - }, - { - MethodName: "ListResourceAttributesByEntity", - Handler: _ResourceAttributeService_ListResourceAttributesByEntity_Handler, - }, - { - MethodName: "ArchiveResourceAttribute", - Handler: _ResourceAttributeService_ArchiveResourceAttribute_Handler, - }, - { - MethodName: "UnarchiveResourceAttribute", - Handler: _ResourceAttributeService_UnarchiveResourceAttribute_Handler, - }, - { - MethodName: "BatchArchiveResourceAttributes", - Handler: _ResourceAttributeService_BatchArchiveResourceAttributes_Handler, - }, - { - MethodName: "BatchUnarchiveResourceAttributes", - Handler: _ResourceAttributeService_BatchUnarchiveResourceAttributes_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "sift/resource_attribute/v1/resource_attribute.proto", -} - -func (m *ResourceAttributeKey) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeKey) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttributeKey) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x3a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x28 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttributeEnumValue) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeEnumValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttributeEnumValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x42 - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x32 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x1a - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttribute) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttribute) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttribute) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x62 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x5a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.EnumValueDetails != nil { - size, err := m.EnumValueDetails.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if m.Key != nil { - size, err := m.Key.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x22 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x32 - return len(dAtA) - i, nil -} -func (m *ResourceAttribute_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttribute_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - return len(dAtA) - i, nil -} -func (m *ResourceAttribute_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttribute_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x41 - return len(dAtA) - i, nil -} -func (m *ResourceAttributeEntityIdentifier) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeEntityIdentifier) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ResourceAttributeEntityIdentifier) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.EntityType != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EntityType)) - i-- - dAtA[i] = 0x10 - } - if len(m.EntityId) > 0 { - i -= len(m.EntityId) - copy(dAtA[i:], m.EntityId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.EntityId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.InitialEnumValues) > 0 { - for iNdEx := len(m.InitialEnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.InitialEnumValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x18 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.EnumValues) > 0 { - for iNdEx := len(m.EnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.EnumValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeys) > 0 { - for iNdEx := len(m.ResourceAttributeKeys) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributeKeys[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyIds) > 0 { - for iNdEx := len(m.ResourceAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyIds) > 0 { - for iNdEx := len(m.ResourceAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x2a - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x22 - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x1a - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x10 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValues) > 0 { - for iNdEx := len(m.ResourceAttributeEnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributeEnumValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ReplacementEnumValueId) > 0 { - i -= len(m.ReplacementEnumValueId) - copy(dAtA[i:], m.ReplacementEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplacementEnumValueId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ArchivedEnumValueId) > 0 { - i -= len(m.ArchivedEnumValueId) - copy(dAtA[i:], m.ArchivedEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ArchivedEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributesMigrated != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ResourceAttributesMigrated)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ReplacementEnumValueId) > 0 { - i -= len(m.ReplacementEnumValueId) - copy(dAtA[i:], m.ReplacementEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplacementEnumValueId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ArchivedEnumValueId) > 0 { - i -= len(m.ArchivedEnumValueId) - copy(dAtA[i:], m.ArchivedEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ArchivedEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ArchivalRequests) > 0 { - for iNdEx := len(m.ArchivalRequests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ArchivalRequests[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.TotalResourceAttributesMigrated != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TotalResourceAttributesMigrated)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueIds) > 0 { - for iNdEx := len(m.ResourceAttributeEnumValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeEnumValueIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeEnumValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x1a - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeRequest_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeRequest_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x29 - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateResourceAttributeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttribute != nil { - size, err := m.ResourceAttribute.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateResourceAttributesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateResourceAttributesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.Entities) > 0 { - for iNdEx := len(m.Entities) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Entities[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x12 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesRequest_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesRequest_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x21 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateResourceAttributesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetResourceAttributeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttribute != nil { - size, err := m.ResourceAttribute.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesByEntityRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesByEntityRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributesByEntityRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x22 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x18 - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesByEntityResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesByEntityResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListResourceAttributesByEntityResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeIds) > 0 { - for iNdEx := len(m.ResourceAttributeIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeIds) > 0 { - for iNdEx := len(m.ResourceAttributeIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttributeKey) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeKey) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttributeKey) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x3a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x28 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttributeEnumValue) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeEnumValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttributeEnumValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x42 - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x3a - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x32 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x1a - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttribute) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttribute) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttribute) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x62 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x5a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.EnumValueDetails != nil { - size, err := m.EnumValueDetails.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if msg, ok := m.Value.(*ResourceAttribute_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*ResourceAttribute_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*ResourceAttribute_ResourceAttributeEnumValueId); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if m.Key != nil { - size, err := m.Key.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x22 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x32 - return len(dAtA) - i, nil -} -func (m *ResourceAttribute_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttribute_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - return len(dAtA) - i, nil -} -func (m *ResourceAttribute_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttribute_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x41 - return len(dAtA) - i, nil -} -func (m *ResourceAttributeEntityIdentifier) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ResourceAttributeEntityIdentifier) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ResourceAttributeEntityIdentifier) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.EntityType != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.EntityType)) - i-- - dAtA[i] = 0x10 - } - if len(m.EntityId) > 0 { - i -= len(m.EntityId) - copy(dAtA[i:], m.EntityId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.EntityId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.InitialEnumValues) > 0 { - for iNdEx := len(m.InitialEnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.InitialEnumValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x18 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.EnumValues) > 0 { - for iNdEx := len(m.EnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.EnumValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x12 - } - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeys) > 0 { - for iNdEx := len(m.ResourceAttributeKeys) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributeKeys[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateResourceAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateResourceAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeKey != nil { - size, err := m.ResourceAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyIds) > 0 { - for iNdEx := len(m.ResourceAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeKeyIds) > 0 { - for iNdEx := len(m.ResourceAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeEnumValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeEnumValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeEnumValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeEnumValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributeEnumValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x2a - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x22 - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x1a - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x10 - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributeEnumValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValues) > 0 { - for iNdEx := len(m.ResourceAttributeEnumValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributeEnumValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateResourceAttributeEnumValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.DisplayName) > 0 { - i -= len(m.DisplayName) - copy(dAtA[i:], m.DisplayName) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.DisplayName))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateResourceAttributeEnumValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributeEnumValue != nil { - size, err := m.ResourceAttributeEnumValue.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeEnumValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ReplacementEnumValueId) > 0 { - i -= len(m.ReplacementEnumValueId) - copy(dAtA[i:], m.ReplacementEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplacementEnumValueId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ArchivedEnumValueId) > 0 { - i -= len(m.ArchivedEnumValueId) - copy(dAtA[i:], m.ArchivedEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ArchivedEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeEnumValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttributesMigrated != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.ResourceAttributesMigrated)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueId) > 0 { - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ReplacementEnumValueId) > 0 { - i -= len(m.ReplacementEnumValueId) - copy(dAtA[i:], m.ReplacementEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ReplacementEnumValueId))) - i-- - dAtA[i] = 0x12 - } - if len(m.ArchivedEnumValueId) > 0 { - i -= len(m.ArchivedEnumValueId) - copy(dAtA[i:], m.ArchivedEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ArchivedEnumValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ArchivalRequests) > 0 { - for iNdEx := len(m.ArchivalRequests) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ArchivalRequests[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.TotalResourceAttributesMigrated != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.TotalResourceAttributesMigrated)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeEnumValueIds) > 0 { - for iNdEx := len(m.ResourceAttributeEnumValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeEnumValueIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeEnumValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if msg, ok := m.Value.(*CreateResourceAttributeRequest_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*CreateResourceAttributeRequest_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*CreateResourceAttributeRequest_ResourceAttributeEnumValueId); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x1a - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeRequest_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x20 - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeRequest_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeRequest_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x29 - return len(dAtA) - i, nil -} -func (m *CreateResourceAttributeResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateResourceAttributeResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateResourceAttributeResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttribute != nil { - size, err := m.ResourceAttribute.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateResourceAttributesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateResourceAttributesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.Entities) > 0 { - for iNdEx := len(m.Entities) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.Entities[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x2a - } - } - if msg, ok := m.Value.(*BatchCreateResourceAttributesRequest_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*BatchCreateResourceAttributesRequest_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.ResourceAttributeKeyId) > 0 { - i -= len(m.ResourceAttributeKeyId) - copy(dAtA[i:], m.ResourceAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.ResourceAttributeEnumValueId) - copy(dAtA[i:], m.ResourceAttributeEnumValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeEnumValueId))) - i-- - dAtA[i] = 0x12 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesRequest_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x18 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesRequest_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesRequest_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x21 - return len(dAtA) - i, nil -} -func (m *BatchCreateResourceAttributesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateResourceAttributesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateResourceAttributesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetResourceAttributeResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetResourceAttributeResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetResourceAttributeResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.ResourceAttribute != nil { - size, err := m.ResourceAttribute.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesByEntityRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesByEntityRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributesByEntityRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x22 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x18 - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x10 - } - if m.Entity != nil { - size, err := m.Entity.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListResourceAttributesByEntityResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListResourceAttributesByEntityResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListResourceAttributesByEntityResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.ResourceAttributes) > 0 { - for iNdEx := len(m.ResourceAttributes) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.ResourceAttributes[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveResourceAttributeResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveResourceAttributeResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveResourceAttributeResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeId) > 0 { - i -= len(m.ResourceAttributeId) - copy(dAtA[i:], m.ResourceAttributeId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveResourceAttributeResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveResourceAttributeResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveResourceAttributeResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeIds) > 0 { - for iNdEx := len(m.ResourceAttributeIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchArchiveResourceAttributesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.ResourceAttributeIds) > 0 { - for iNdEx := len(m.ResourceAttributeIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.ResourceAttributeIds[iNdEx]) - copy(dAtA[i:], m.ResourceAttributeIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ResourceAttributeIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchUnarchiveResourceAttributesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *ResourceAttributeKey) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Type != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ModifiedDate != nil { - l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ModifiedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ResourceAttributeEnumValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ModifiedDate != nil { - l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ModifiedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ResourceAttribute) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Entity != nil { - l = m.Entity.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Key != nil { - l = m.Key.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - if m.EnumValueDetails != nil { - l = m.EnumValueDetails.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ResourceAttribute_ResourceAttributeEnumValueId) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *ResourceAttribute_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *ResourceAttribute_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *ResourceAttributeEntityIdentifier) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.EntityId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.EntityType != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.EntityType)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Type != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) - } - if len(m.InitialEnumValues) > 0 { - for _, e := range m.InitialEnumValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeKey != nil { - l = m.ResourceAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if len(m.EnumValues) > 0 { - for _, e := range m.EnumValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeKey != nil { - l = m.ResourceAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeKeys) > 0 { - for _, e := range m.ResourceAttributeKeys { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateResourceAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.UpdateMask != nil { - l = (*fieldmaskpb1.FieldMask)(m.UpdateMask).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateResourceAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeKey != nil { - l = m.ResourceAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeKeyIds) > 0 { - for _, s := range m.ResourceAttributeKeyIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeKeyIds) > 0 { - for _, s := range m.ResourceAttributeKeyIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeEnumValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeEnumValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeEnumValue != nil { - l = m.ResourceAttributeEnumValue.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeEnumValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeEnumValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeEnumValue != nil { - l = m.ResourceAttributeEnumValue.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributeEnumValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributeEnumValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeEnumValues) > 0 { - for _, e := range m.ResourceAttributeEnumValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateResourceAttributeEnumValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.DisplayName) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.UpdateMask != nil { - l = (*fieldmaskpb1.FieldMask)(m.UpdateMask).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateResourceAttributeEnumValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributeEnumValue != nil { - l = m.ResourceAttributeEnumValue.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeEnumValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ArchivedEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ReplacementEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeEnumValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttributesMigrated != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.ResourceAttributesMigrated)) - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeEnumValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeEnumValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ArchivedEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ReplacementEnumValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributeEnumValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ArchivalRequests) > 0 { - for _, e := range m.ArchivalRequests { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributeEnumValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.TotalResourceAttributesMigrated != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.TotalResourceAttributesMigrated)) - } - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeEnumValueIds) > 0 { - for _, s := range m.ResourceAttributeEnumValueIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Entity != nil { - l = m.Entity.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - n += len(m.unknownFields) - return n -} - -func (m *CreateResourceAttributeRequest_ResourceAttributeEnumValueId) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *CreateResourceAttributeRequest_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *CreateResourceAttributeRequest_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *CreateResourceAttributeResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttribute != nil { - l = m.ResourceAttribute.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *BatchCreateResourceAttributesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - if len(m.Entities) > 0 { - for _, e := range m.Entities { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeEnumValueId) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *BatchCreateResourceAttributesRequest_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *BatchCreateResourceAttributesRequest_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *BatchCreateResourceAttributesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributes) > 0 { - for _, e := range m.ResourceAttributes { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetResourceAttributeResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.ResourceAttribute != nil { - l = m.ResourceAttribute.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributes) > 0 { - for _, e := range m.ResourceAttributes { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributesByEntityRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.Entity != nil { - l = m.Entity.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListResourceAttributesByEntityResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributes) > 0 { - for _, e := range m.ResourceAttributes { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveResourceAttributeResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.ResourceAttributeId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveResourceAttributeResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeIds) > 0 { - for _, s := range m.ResourceAttributeIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchArchiveResourceAttributesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.ResourceAttributeIds) > 0 { - for _, s := range m.ResourceAttributeIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *BatchUnarchiveResourceAttributesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *ResourceAttributeKey) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= ResourceAttributeKeyType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ModifiedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttributeEnumValue) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeEnumValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeEnumValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ModifiedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttribute) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttribute: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttribute: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Key == nil { - m.Key = &ResourceAttributeKey{} - } - if err := m.Key.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &ResourceAttribute_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &ResourceAttribute_BooleanValue{BooleanValue: b} - case 8: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &ResourceAttribute_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EnumValueDetails", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EnumValueDetails == nil { - m.EnumValueDetails = &ResourceAttributeEnumValue{} - } - if err := m.EnumValueDetails.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttributeEntityIdentifier) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeEntityIdentifier: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeEntityIdentifier: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EntityId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EntityId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EntityType", wireType) - } - m.EntityType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.EntityType |= ResourceAttributeEntityType(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest_InitialEnumValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest_InitialEnumValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= ResourceAttributeKeyType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialEnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InitialEnumValues = append(m.InitialEnumValues, &CreateResourceAttributeKeyRequest_InitialEnumValue{}) - if err := m.InitialEnumValues[len(m.InitialEnumValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EnumValues = append(m.EnumValues, &ResourceAttributeEnumValue{}) - if err := m.EnumValues[len(m.EnumValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeys", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeys = append(m.ResourceAttributeKeys, &ResourceAttributeKey{}) - if err := m.ResourceAttributeKeys[len(m.ResourceAttributeKeys)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyIds = append(m.ResourceAttributeKeyIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyIds = append(m.ResourceAttributeKeyIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeEnumValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeEnumValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeEnumValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeEnumValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeEnumValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeEnumValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValues = append(m.ResourceAttributeEnumValues, &ResourceAttributeEnumValue{}) - if err := m.ResourceAttributeEnumValues[len(m.ResourceAttributeEnumValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeEnumValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.DisplayName = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeEnumValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeEnumValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ArchivedEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplacementEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ReplacementEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeEnumValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributesMigrated", wireType) - } - m.ResourceAttributesMigrated = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ResourceAttributesMigrated |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeEnumValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeEnumValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ArchivedEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplacementEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ReplacementEnumValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivalRequests", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ArchivalRequests = append(m.ArchivalRequests, &BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival{}) - if err := m.ArchivalRequests[len(m.ArchivalRequests)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalResourceAttributesMigrated", wireType) - } - m.TotalResourceAttributesMigrated = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalResourceAttributesMigrated |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValueIds = append(m.ResourceAttributeEnumValueIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &CreateResourceAttributeRequest_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &CreateResourceAttributeRequest_BooleanValue{BooleanValue: b} - case 5: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &CreateResourceAttributeRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttribute", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttribute == nil { - m.ResourceAttribute = &ResourceAttribute{} - } - if err := m.ResourceAttribute.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateResourceAttributesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &BatchCreateResourceAttributesRequest_BooleanValue{BooleanValue: b} - case 4: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &BatchCreateResourceAttributesRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entities", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Entities = append(m.Entities, &ResourceAttributeEntityIdentifier{}) - if err := m.Entities[len(m.Entities)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateResourceAttributesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttribute", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttribute == nil { - m.ResourceAttribute = &ResourceAttribute{} - } - if err := m.ResourceAttribute.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesByEntityRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesByEntityRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesByEntityRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesByEntityResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesByEntityResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesByEntityResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeIds = append(m.ResourceAttributeIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeIds = append(m.ResourceAttributeIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttributeKey) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= ResourceAttributeKeyType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ModifiedByUserId = stringValue - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttributeEnumValue) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeEnumValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeEnumValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeEnumValueId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ModifiedByUserId = stringValue - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttribute) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttribute: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttribute: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Key == nil { - m.Key = &ResourceAttributeKey{} - } - if err := m.Key.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &ResourceAttribute_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: stringValue} - iNdEx = postIndex - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &ResourceAttribute_BooleanValue{BooleanValue: b} - case 8: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &ResourceAttribute_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EnumValueDetails", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.EnumValueDetails == nil { - m.EnumValueDetails = &ResourceAttributeEnumValue{} - } - if err := m.EnumValueDetails.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ResourceAttributeEntityIdentifier) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ResourceAttributeEntityIdentifier: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ResourceAttributeEntityIdentifier: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EntityId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.EntityId = stringValue - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field EntityType", wireType) - } - m.EntityType = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.EntityType |= ResourceAttributeEntityType(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyRequest_InitialEnumValue) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest_InitialEnumValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest_InitialEnumValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= ResourceAttributeKeyType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field InitialEnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.InitialEnumValues = append(m.InitialEnumValues, &CreateResourceAttributeKeyRequest_InitialEnumValue{}) - if err := m.InitialEnumValues[len(m.InitialEnumValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field EnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.EnumValues = append(m.EnumValues, &ResourceAttributeEnumValue{}) - if err := m.EnumValues[len(m.EnumValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeys", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeKeys = append(m.ResourceAttributeKeys, &ResourceAttributeKey{}) - if err := m.ResourceAttributeKeys[len(m.ResourceAttributeKeys)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeKey == nil { - m.ResourceAttributeKey = &ResourceAttributeKey{} - } - if err := m.ResourceAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyIds = append(m.ResourceAttributeKeyIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyIds = append(m.ResourceAttributeKeyIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeEnumValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeEnumValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeEnumValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeEnumValueId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeEnumValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeEnumValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributeEnumValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributeEnumValues = append(m.ResourceAttributeEnumValues, &ResourceAttributeEnumValue{}) - if err := m.ResourceAttributeEnumValues[len(m.ResourceAttributeEnumValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeEnumValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeEnumValueId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field DisplayName", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.DisplayName = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateResourceAttributeEnumValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttributeEnumValue == nil { - m.ResourceAttributeEnumValue = &ResourceAttributeEnumValue{} - } - if err := m.ResourceAttributeEnumValue.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeEnumValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ArchivedEnumValueId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplacementEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ReplacementEnumValueId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeEnumValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributesMigrated", wireType) - } - m.ResourceAttributesMigrated = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.ResourceAttributesMigrated |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeEnumValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeEnumValueId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeEnumValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeEnumValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ArchivedEnumValueId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ReplacementEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ReplacementEnumValueId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivalRequests", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ArchivalRequests = append(m.ArchivalRequests, &BatchArchiveResourceAttributeEnumValuesRequest_EnumValueArchival{}) - if err := m.ArchivalRequests[len(m.ArchivalRequests)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributeEnumValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field TotalResourceAttributesMigrated", wireType) - } - m.TotalResourceAttributesMigrated = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.TotalResourceAttributesMigrated |= int32(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeEnumValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeEnumValueIds = append(m.ResourceAttributeEnumValueIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributeEnumValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributeEnumValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &CreateResourceAttributeRequest_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: stringValue} - iNdEx = postIndex - case 4: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &CreateResourceAttributeRequest_BooleanValue{BooleanValue: b} - case 5: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &CreateResourceAttributeRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateResourceAttributeResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttribute", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttribute == nil { - m.ResourceAttribute = &ResourceAttribute{} - } - if err := m.ResourceAttribute.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateResourceAttributesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeEnumValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &BatchCreateResourceAttributesRequest_ResourceAttributeEnumValueId{ResourceAttributeEnumValueId: stringValue} - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &BatchCreateResourceAttributesRequest_BooleanValue{BooleanValue: b} - case 4: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &BatchCreateResourceAttributesRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entities", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Entities = append(m.Entities, &ResourceAttributeEntityIdentifier{}) - if err := m.Entities[len(m.Entities)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateResourceAttributesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetResourceAttributeResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttribute", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ResourceAttribute == nil { - m.ResourceAttribute = &ResourceAttribute{} - } - if err := m.ResourceAttribute.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesByEntityRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesByEntityRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesByEntityRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Entity", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Entity == nil { - m.Entity = &ResourceAttributeEntityIdentifier{} - } - if err := m.Entity.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListResourceAttributesByEntityResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListResourceAttributesByEntityResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListResourceAttributesByEntityResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributes", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ResourceAttributes = append(m.ResourceAttributes, &ResourceAttribute{}) - if err := m.ResourceAttributes[len(m.ResourceAttributes)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveResourceAttributeResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveResourceAttributeResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveResourceAttributeResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveResourceAttributeResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeIds = append(m.ResourceAttributeIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchArchiveResourceAttributesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchArchiveResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ResourceAttributeIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ResourceAttributeIds = append(m.ResourceAttributeIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchUnarchiveResourceAttributesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchUnarchiveResourceAttributesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} diff --git a/go/gen/sift/rule_evaluation/v1/rule_evaluation.pb.go b/go/gen/sift/rule_evaluation/v1/rule_evaluation.pb.go index 10e60210c..ace00c346 100644 --- a/go/gen/sift/rule_evaluation/v1/rule_evaluation.pb.go +++ b/go/gen/sift/rule_evaluation/v1/rule_evaluation.pb.go @@ -10,6 +10,7 @@ import ( _ "github.com/sift-stack/sift/go/gen/google/api" _ "github.com/sift-stack/sift/go/gen/protoc-gen-openapiv2/options" v1 "github.com/sift-stack/sift/go/gen/sift/common/type/v1" + _ "github.com/sift-stack/sift/go/gen/sift/reports/v1" v11 "github.com/sift-stack/sift/go/gen/sift/rules/v1" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -876,250 +877,252 @@ var file_sift_rule_evaluation_v1_rule_evaluation_proto_rawDesc = []byte{ 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0x96, 0x06, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x72, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x96, 0x06, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x72, 0x75, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0e, 0x72, + 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x12, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x69, + 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x0c, 0x52, + 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, + 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x06, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x24, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1f, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x22, 0x4e, 0x0a, 0x1d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x73, 0x22, 0x5e, 0x0a, 0x1e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x22, 0xde, 0x04, 0x0a, 0x1b, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x03, 0x72, + 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x54, 0x69, + 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x5d, + 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, + 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x4d, 0x0a, 0x0e, - 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, - 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x48, + 0x01, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x06, 0x0a, 0x04, + 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x5f, 0x0a, 0x1c, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, + 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x0a, 0x07, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xae, 0x01, + 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, + 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, + 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, + 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x72, 0x79, + 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, 0xd8, + 0x06, 0x0a, 0x15, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x02, 0x0a, 0x0d, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x41, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x12, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x0c, - 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x03, - 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0f, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x40, 0x0a, - 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, 0x24, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, - 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1f, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, 0x0f, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x22, 0x4e, 0x0a, 0x1d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x1e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x61, - 0x67, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x18, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, 0x09, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, - 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x22, 0xde, 0x04, 0x0a, - 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x03, - 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x4d, 0x0a, 0x0e, 0x72, 0x75, 0x6e, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x54, - 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, - 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, - 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, - 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, - 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0xa7, 0x01, + 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, + 0x95, 0x01, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, + 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, + 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xda, + 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, - 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x48, 0x01, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, - 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, 0x06, 0x0a, - 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x5f, 0x0a, - 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, - 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x3f, 0x0a, - 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x22, 0xae, - 0x01, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, - 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x79, 0x52, - 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x72, - 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x32, - 0xd8, 0x06, 0x0a, 0x15, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x02, 0x0a, 0x0d, 0x45, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0xa7, - 0x01, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x1a, 0x95, 0x01, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, - 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, - 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0xda, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x92, 0x41, 0xa1, 0x01, 0x12, 0x14, 0x45, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, - 0x65, 0x77, 0x1a, 0x88, 0x01, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x20, 0x64, - 0x72, 0x79, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, - 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, 0x9b, 0x01, 0x92, - 0x41, 0x97, 0x01, 0x12, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x1a, - 0x79, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, - 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, - 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0x97, 0x02, 0x0a, 0x1b, 0x63, - 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x52, 0x75, 0x6c, 0x65, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, - 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, - 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, - 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6c, 0x65, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, - 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x53, 0x69, - 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x1b, 0x12, 0x19, 0x0a, 0x17, 0x52, 0x75, 0x6c, - 0x65, 0x20, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, + 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x92, 0x41, 0xa1, 0x01, 0x12, 0x14, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, + 0x77, 0x1a, 0x88, 0x01, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x72, + 0x79, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, + 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, + 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, 0x9b, 0x01, 0x92, 0x41, + 0x97, 0x01, 0x12, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x1a, 0x79, + 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, + 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, + 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0x97, 0x02, 0x0a, 0x1b, 0x63, 0x6f, + 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x52, 0x75, 0x6c, 0x65, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, + 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x76, 0x31, 0xa2, 0x02, 0x03, + 0x53, 0x52, 0x58, 0xaa, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x53, + 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6c, + 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x53, 0x69, 0x66, + 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x1b, 0x12, 0x19, 0x0a, 0x17, 0x52, 0x75, 0x6c, 0x65, + 0x20, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/go/gen/sift/rules/v1/rules.pb.go b/go/gen/sift/rules/v1/rules.pb.go index 9fb2742cb..bef2a67c1 100644 --- a/go/gen/sift/rules/v1/rules.pb.go +++ b/go/gen/sift/rules/v1/rules.pb.go @@ -1666,7 +1666,8 @@ type ValidationResult struct { AssetExpressionValidationResults []*AssetExpressionValidationResult `protobuf:"bytes,3,rep,name=asset_expression_validation_results,json=assetExpressionValidationResults,proto3" json:"asset_expression_validation_results,omitempty"` // If the rule is invalid and unable to be saved, this will contain the error message. Expression errors will be returned in // the asset_expression_validation_results. - Error *string `protobuf:"bytes,4,opt,name=error,proto3,oneof" json:"error,omitempty"` + Error *string `protobuf:"bytes,4,opt,name=error,proto3,oneof" json:"error,omitempty"` + RuleName string `protobuf:"bytes,5,opt,name=rule_name,json=ruleName,proto3" json:"rule_name,omitempty"` } func (x *ValidationResult) Reset() { @@ -1729,6 +1730,13 @@ func (x *ValidationResult) GetError() string { return "" } +func (x *ValidationResult) GetRuleName() string { + if x != nil { + return x.RuleName + } + return "" +} + type BatchUpdateRulesRequest struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1738,8 +1746,9 @@ type BatchUpdateRulesRequest struct { Rules []*UpdateRuleRequest `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` // If validate_only is true, the request will only validate the request and not save the rules. ValidateOnly bool `protobuf:"varint,2,opt,name=validate_only,json=validateOnly,proto3" json:"validate_only,omitempty"` - // If override_expression_validation is true, the request will save the rules even if the expressions are invalid. This - // can be useful for multi-asset rules where an invalid expression for one asset should not prevent the rule from being saved. + // Deprecated - to improve API response clarity in the event of a failure, Sift will always perform input validation. + // + // Deprecated: Do not use. OverrideExpressionValidation bool `protobuf:"varint,3,opt,name=override_expression_validation,json=overrideExpressionValidation,proto3" json:"override_expression_validation,omitempty"` } @@ -1789,6 +1798,7 @@ func (x *BatchUpdateRulesRequest) GetValidateOnly() bool { return false } +// Deprecated: Do not use. func (x *BatchUpdateRulesRequest) GetOverrideExpressionValidation() bool { if x != nil { return x.OverrideExpressionValidation @@ -4147,6 +4157,9 @@ type CalculatedChannelConfig struct { Expression string `protobuf:"bytes,2,opt,name=expression,proto3" json:"expression,omitempty"` // This will be ignored in requests and will be generated automatically. FunctionDependencies []*v11.FunctionDependency `protobuf:"bytes,3,rep,name=function_dependencies,json=functionDependencies,proto3" json:"function_dependencies,omitempty"` + // This will be ignored in requests and will be generated automatically. + // Tracks which calculated channel versions this rule depends on. + CalculatedChannelDependencies []*v11.CalculatedChannelDependency `protobuf:"bytes,5,rep,name=calculated_channel_dependencies,json=calculatedChannelDependencies,proto3" json:"calculated_channel_dependencies,omitempty"` } func (x *CalculatedChannelConfig) Reset() { @@ -4202,14 +4215,26 @@ func (x *CalculatedChannelConfig) GetFunctionDependencies() []*v11.FunctionDepen return nil } +func (x *CalculatedChannelConfig) GetCalculatedChannelDependencies() []*v11.CalculatedChannelDependency { + if x != nil { + return x.CalculatedChannelDependencies + } + return nil +} + type ChannelReference struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Required for native channel references. Must not be set when calculated_channel_version_id is provided. Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - // Deprecated - use name instead. If provided, name will be joined with the component as `component.name` + // Deprecated - use name instead. If provided, name will be joined with the component as `component.name`. + // Must not be set when calculated_channel_version_id is provided. Component string `protobuf:"bytes,2,opt,name=component,proto3" json:"component,omitempty"` + // Reference to a calculated channel version. When set, the rule will use the calculated channel + // instead of looking up a native channel by name. Must not be set when name is provided. + CalculatedChannelVersionId *string `protobuf:"bytes,3,opt,name=calculated_channel_version_id,json=calculatedChannelVersionId,proto3,oneof" json:"calculated_channel_version_id,omitempty"` } func (x *ChannelReference) Reset() { @@ -4258,6 +4283,13 @@ func (x *ChannelReference) GetComponent() string { return "" } +func (x *ChannelReference) GetCalculatedChannelVersionId() string { + if x != nil && x.CalculatedChannelVersionId != nil { + return *x.CalculatedChannelVersionId + } + return "" +} + type RuleActionConfiguration struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -4964,139 +4996,103 @@ var file_sift_rules_v1_rules_proto_rawDesc = []byte{ 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x09, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x07, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x18, 0x01, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, - 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, - 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x41, - 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x5b, 0x0a, 0x13, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, - 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, - 0x44, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xbe, 0x09, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0x18, 0x01, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x69, + 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, + 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x07, 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, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, - 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x14, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x41, 0x0a, + 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x5b, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x44, + 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x11, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, - 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, - 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1a, 0x69, 0x73, 0x5f, - 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x75, - 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4a, 0x04, - 0x08, 0x05, 0x10, 0x06, 0x22, 0x9b, 0x04, 0x0a, 0x0d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, - 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x19, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x04, - 0x10, 0x05, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, - 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3f, 0x0a, - 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, - 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x0d, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x14, 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, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x6c, + 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, 0x0a, 0x12, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4a, 0x04, 0x08, + 0x05, 0x10, 0x06, 0x22, 0x9b, 0x04, 0x0a, 0x0d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, + 0x6c, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, @@ -5112,207 +5108,248 @@ var file_sift_rules_v1_rules_proto_rawDesc = []byte{ 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x38, 0x0a, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, 0x52, - 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x56, 0x0a, 0x12, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x61, 0x67, - 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, - 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc6, 0x03, 0x0a, - 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x16, - 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, - 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x48, 0x01, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, - 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, - 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, - 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, - 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, - 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0b, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x54, 0x61, 0x67, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x08, - 0x0a, 0x06, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x22, 0x60, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x05, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3f, 0x0a, 0x0f, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, - 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x5c, 0x0a, 0x14, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x72, 0x75, 0x6c, - 0x65, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x47, 0x0a, 0x15, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, - 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xad, 0x06, 0x0a, 0x11, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x20, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x69, 0x73, - 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, - 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, - 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, - 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, - 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x12, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, - 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x1a, 0x69, 0x73, - 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, - 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, - 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x1d, 0x0a, 0x1b, - 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x16, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x4a, 0x04, 0x08, - 0x02, 0x10, 0x03, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x32, 0x0a, - 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, - 0x64, 0x22, 0x83, 0x02, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x72, 0x75, - 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x23, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, + 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x19, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4a, 0x04, 0x08, 0x04, 0x10, + 0x05, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, + 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2f, 0x0a, 0x11, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0b, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, + 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x38, 0x0a, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x16, 0x52, 0x75, + 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, + 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x56, 0x0a, 0x12, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1e, 0x0a, - 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcb, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x49, 0x0a, 0x1e, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, + 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0c, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, 0x61, 0x67, 0x49, + 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, + 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xc6, 0x03, 0x0a, 0x12, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x16, 0x0a, + 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x06, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, + 0x48, 0x01, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, 0x12, 0x21, 0x0a, 0x0c, + 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x12, + 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, + 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, 0x65, 0x53, 0x65, 0x6e, + 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, 0x78, 0x70, 0x12, 0x1e, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, 0x01, 0x01, 0x12, 0x19, + 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, + 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, + 0x42, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x73, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x54, + 0x61, 0x67, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x08, 0x0a, + 0x06, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x22, 0x60, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3f, 0x0a, 0x0f, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, + 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, 0x5c, 0x0a, 0x14, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, + 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x47, 0x0a, 0x15, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x22, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xad, 0x06, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, + 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, + 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0x18, 0x01, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x69, 0x73, 0x45, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, + 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, + 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x52, 0x0a, 0x13, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x12, 0x63, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, + 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, + 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x45, 0x0a, 0x1a, 0x69, 0x73, 0x5f, + 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x02, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x88, 0x01, 0x01, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xf5, 0x01, 0x0a, 0x16, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x48, 0x00, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x4a, 0x04, 0x08, 0x02, + 0x10, 0x03, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, + 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x32, 0x0a, 0x12, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, + 0x22, 0xa5, 0x02, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x72, 0x75, 0x6c, + 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x23, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x20, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x1e, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x08, + 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, + 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x76, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x48, 0x0a, 0x1e, 0x6f, + 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x04, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, @@ -5618,7 +5655,7 @@ var file_sift_rules_v1_rules_proto_rawDesc = []byte{ 0x75, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x48, 0x00, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xfb, 0x02, 0x0a, 0x17, + 0x75, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xfa, 0x03, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, @@ -5636,473 +5673,488 @@ var file_sift_rules_v1_rules_proto_rawDesc = []byte{ 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, - 0x65, 0x73, 0x1a, 0x65, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 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, 0x35, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x10, 0x43, 0x68, 0x61, + 0x65, 0x73, 0x12, 0x7d, 0x0a, 0x1f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, + 0x73, 0x1a, 0x65, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 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, 0x35, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbd, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x97, 0x02, 0x0a, 0x17, 0x52, 0x75, - 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0a, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, - 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x07, 0x77, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, - 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x1a, 0x57, 0x65, 0x62, - 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, - 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x22, 0x94, 0x02, 0x0a, 0x1d, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, - 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x58, 0x0a, 0x12, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x3e, - 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, - 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, - 0x69, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, 0x1d, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x97, 0x02, 0x0a, 0x17, 0x52, 0x75, 0x6c, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0c, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0a, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x0a, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x07, 0x77, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x1a, 0x57, 0x65, 0x62, 0x68, + 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, + 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x22, 0x94, 0x02, 0x0a, 0x1d, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x07, + 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x12, 0x4c, 0x0a, 0x0f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x69, + 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x58, 0x0a, 0x12, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x54, - 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x39, 0x0a, - 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, - 0xfd, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x11, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x88, 0x01, 0x01, - 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x22, - 0xf7, 0x01, 0x0a, 0x10, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, - 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x5c, 0x0a, 0x0b, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x18, 0x53, 0x45, 0x41, 0x52, - 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, - 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, - 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, - 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x5c, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, - 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4e, 0x4e, 0x4f, - 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x45, 0x42, 0x48, - 0x4f, 0x4f, 0x4b, 0x10, 0x03, 0x2a, 0xad, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, - 0x20, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, - 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, - 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, - 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, - 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, - 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, - 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, - 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, - 0x55, 0x41, 0x4c, 0x10, 0x06, 0x32, 0x9f, 0x27, 0x0a, 0x0b, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, - 0x41, 0x12, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x32, - 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x61, - 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x12, 0x94, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, + 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x3e, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x17, 0x0a, + 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, + 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x69, + 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, 0x0a, 0x0e, 0x54, 0x69, + 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x52, 0x09, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xfd, + 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x11, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x20, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x22, 0xf7, + 0x01, 0x0a, 0x10, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, + 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x5c, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x18, 0x53, 0x45, 0x41, 0x52, 0x43, + 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x41, + 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, 0x43, 0x10, 0x01, 0x12, + 0x15, 0x0a, 0x11, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, + 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x5c, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x4b, + 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, 0x4e, 0x4e, 0x4f, 0x54, + 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, 0x45, 0x42, 0x48, 0x4f, + 0x4f, 0x4b, 0x10, 0x03, 0x2a, 0xad, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x28, 0x0a, 0x20, + 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x41, 0x52, + 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, + 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, + 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, + 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x10, 0x0a, + 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x03, 0x12, + 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, + 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x51, + 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, 0x5f, 0x45, 0x51, 0x55, + 0x41, 0x4c, 0x10, 0x06, 0x32, 0x9f, 0x27, 0x0a, 0x0b, 0x52, 0x75, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, 0x92, 0x41, 0x41, + 0x12, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x32, 0x51, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x61, 0x73, + 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x12, 0x94, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, - 0x32, 0x12, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x27, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, 0x41, 0x2a, 0x12, 0x0d, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x47, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x92, 0x41, 0x1d, 0x12, 0x0a, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x0f, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x27, 0x12, 0x0a, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x1a, 0x0d, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x10, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x75, 0x92, 0x41, 0x4e, 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x3a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x73, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, - 0x69, 0x73, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x1a, 0x19, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x88, 0x02, - 0x01, 0x92, 0x41, 0x43, 0x12, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x1a, 0x35, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, - 0x73, 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, - 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, - 0x41, 0x1f, 0x12, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, - 0x10, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x32, + 0x12, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x27, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x0d, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x57, - 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x1a, 0x43, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, - 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x11, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x92, 0x41, 0x2a, 0x12, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x15, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x0d, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x92, 0x41, 0x23, 0x12, 0x0d, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x12, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, - 0xc6, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, - 0x92, 0x41, 0x2e, 0x12, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, - 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x5d, 0x88, 0x02, 0x01, 0x92, 0x41, 0x36, 0x12, 0x0c, 0x55, 0x6e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x26, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x88, - 0x02, 0x01, 0x92, 0x41, 0x42, 0x12, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x2c, 0x44, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, - 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xdf, 0x01, - 0x0a, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x88, 0x02, 0x01, - 0x92, 0x41, 0x5b, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x1a, 0x4a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, - 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x12, - 0x84, 0x02, 0x0a, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, - 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x48, - 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, - 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x5f, - 0x12, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, - 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x56, 0x69, 0x65, 0x77, 0x4a, - 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, - 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, - 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x88, 0x02, 0x01, 0x92, 0x41, 0x56, 0x12, 0x0d, 0x56, 0x69, 0x65, - 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x12, - 0x94, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, - 0x88, 0x02, 0x01, 0x92, 0x41, 0x64, 0x12, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, - 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, - 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, - 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, - 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x12, 0x80, 0x02, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, - 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x97, 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x6c, 0x12, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, - 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x88, - 0x02, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, - 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, - 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, - 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x73, 0x6f, 0x6e, 0x12, 0x94, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x27, 0x12, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x1a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xd9, 0x01, 0x0a, 0x10, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, 0x41, 0x2a, 0x12, 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x19, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x47, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x92, 0x41, 0x1d, 0x12, 0x0a, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x0f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, + 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x27, 0x12, 0x0a, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x1a, 0x0d, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x10, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x74, 0x92, 0x41, 0x49, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x12, 0x0e, 0x47, 0x65, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x27, 0x52, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x2a, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, - 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x1a, 0xb1, 0x01, 0x92, 0x41, 0xad, 0x01, 0x12, 0x30, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, - 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x1a, 0x79, 0x0a, 0x1f, - 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, - 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, - 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, - 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, - 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, - 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, - 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0xc1, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, - 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0d, 0x53, 0x69, 0x66, - 0x74, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x10, 0x12, 0x0e, 0x0a, 0x0c, 0x52, - 0x75, 0x6c, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x75, 0x92, 0x41, 0x4e, 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x3a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, + 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, + 0x73, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x1a, 0x19, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, + 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x88, 0x02, 0x01, + 0x92, 0x41, 0x43, 0x12, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, + 0x35, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, + 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, + 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, + 0x1f, 0x12, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x10, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x57, 0x12, + 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x1a, 0x43, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, + 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, 0x22, + 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x11, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x52, 0x92, 0x41, 0x2a, 0x12, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x15, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x0d, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x92, 0x41, 0x23, 0x12, 0x0d, 0x55, 0x6e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x12, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xc6, + 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x58, 0x92, + 0x41, 0x2e, 0x12, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x0c, 0x55, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x5d, 0x88, 0x02, 0x01, 0x92, 0x41, 0x36, 0x12, 0x0c, 0x55, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x26, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x88, 0x02, + 0x01, 0x92, 0x41, 0x42, 0x12, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x2c, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, + 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x12, 0xdf, 0x01, 0x0a, + 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x88, 0x02, 0x01, 0x92, + 0x41, 0x5b, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x1a, 0x4a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x12, 0x84, + 0x02, 0x0a, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, + 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, + 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, + 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x5f, 0x12, + 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, + 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, + 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, + 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x7a, 0x88, 0x02, 0x01, 0x92, 0x41, 0x56, 0x12, 0x0d, 0x56, 0x69, 0x65, 0x77, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0x94, + 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x96, 0x01, 0x88, + 0x02, 0x01, 0x92, 0x41, 0x64, 0x12, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, + 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, + 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, + 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x3a, + 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, + 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x12, 0x80, 0x02, 0x0a, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, + 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x97, + 0x01, 0x88, 0x02, 0x01, 0x92, 0x41, 0x6c, 0x12, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x56, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, + 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, + 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x12, 0xe7, 0x01, 0x0a, 0x0f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x88, 0x02, + 0x01, 0x92, 0x41, 0x5b, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, + 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, + 0x6f, 0x6e, 0x12, 0x94, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x27, 0x12, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x1a, 0x1a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xd9, 0x01, 0x0a, 0x10, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x74, 0x92, 0x41, 0x49, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x12, 0x0e, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x27, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x2a, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, + 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x1a, 0xb1, 0x01, 0x92, 0x41, 0xad, 0x01, 0x12, 0x30, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x1a, 0x79, 0x0a, 0x1f, 0x52, + 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, + 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, + 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, + 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, + 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0xc1, 0x01, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x37, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, + 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, + 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, + 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, + 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, + 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, 0x10, 0x12, 0x0e, 0x0a, 0x0c, 0x52, 0x75, + 0x6c, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( @@ -6196,12 +6248,13 @@ var file_sift_rules_v1_rules_proto_goTypes = []interface{}{ (*EvaluateRulesResponse)(nil), // 73: sift.rules.v1.EvaluateRulesResponse (*DryRunAnnotation)(nil), // 74: sift.rules.v1.DryRunAnnotation (*BatchUpdateRulesResponse_RuleIdentifiers)(nil), // 75: sift.rules.v1.BatchUpdateRulesResponse.RuleIdentifiers - nil, // 76: sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntry - (*timestamppb.Timestamp)(nil), // 77: google.protobuf.Timestamp - (*v1.MetadataValue)(nil), // 78: sift.metadata.v1.MetadataValue - (*v11.NamedResources)(nil), // 79: sift.common.type.v1.NamedResources - (*v11.FunctionDependency)(nil), // 80: sift.common.type.v1.FunctionDependency - (v12.AnnotationType)(0), // 81: sift.annotations.v1.AnnotationType + nil, // 76: sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntry + (*timestamppb.Timestamp)(nil), // 77: google.protobuf.Timestamp + (*v1.MetadataValue)(nil), // 78: sift.metadata.v1.MetadataValue + (*v11.NamedResources)(nil), // 79: sift.common.type.v1.NamedResources + (*v11.FunctionDependency)(nil), // 80: sift.common.type.v1.FunctionDependency + (*v11.CalculatedChannelDependency)(nil), // 81: sift.common.type.v1.CalculatedChannelDependency + (v12.AnnotationType)(0), // 82: sift.annotations.v1.AnnotationType } var file_sift_rules_v1_rules_proto_depIdxs = []int32{ 77, // 0: sift.rules.v1.Rule.created_date:type_name -> google.protobuf.Timestamp @@ -6257,72 +6310,73 @@ var file_sift_rules_v1_rules_proto_depIdxs = []int32{ 63, // 50: sift.rules.v1.SingleChannelComparisonExpression.last_value:type_name -> sift.rules.v1.LastValueThreshold 76, // 51: sift.rules.v1.CalculatedChannelConfig.channel_references:type_name -> sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntry 80, // 52: sift.rules.v1.CalculatedChannelConfig.function_dependencies:type_name -> sift.common.type.v1.FunctionDependency - 67, // 53: sift.rules.v1.RuleActionConfiguration.notification:type_name -> sift.rules.v1.NotificationActionConfiguration - 69, // 54: sift.rules.v1.RuleActionConfiguration.annotation:type_name -> sift.rules.v1.AnnotationActionConfiguration - 68, // 55: sift.rules.v1.RuleActionConfiguration.webhook:type_name -> sift.rules.v1.WebhookActionConfiguration - 81, // 56: sift.rules.v1.AnnotationActionConfiguration.annotation_type:type_name -> sift.annotations.v1.AnnotationType - 78, // 57: sift.rules.v1.AnnotationActionConfiguration.metadata:type_name -> sift.metadata.v1.MetadataValue - 71, // 58: sift.rules.v1.EvaluateRulesRequest.annotation_options:type_name -> sift.rules.v1.EvaluatedAnnotationOptions - 72, // 59: sift.rules.v1.EvaluateRulesRequest.time_range:type_name -> sift.rules.v1.TimeRangeQuery - 77, // 60: sift.rules.v1.TimeRangeQuery.start_time:type_name -> google.protobuf.Timestamp - 77, // 61: sift.rules.v1.TimeRangeQuery.end_time:type_name -> google.protobuf.Timestamp - 74, // 62: sift.rules.v1.EvaluateRulesResponse.dry_run_annotations:type_name -> sift.rules.v1.DryRunAnnotation - 77, // 63: sift.rules.v1.DryRunAnnotation.start_time:type_name -> google.protobuf.Timestamp - 77, // 64: sift.rules.v1.DryRunAnnotation.end_time:type_name -> google.protobuf.Timestamp - 65, // 65: sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntry.value:type_name -> sift.rules.v1.ChannelReference - 9, // 66: sift.rules.v1.RuleService.SearchRules:input_type -> sift.rules.v1.SearchRulesRequest - 11, // 67: sift.rules.v1.RuleService.GetRule:input_type -> sift.rules.v1.GetRuleRequest - 13, // 68: sift.rules.v1.RuleService.BatchGetRules:input_type -> sift.rules.v1.BatchGetRulesRequest - 15, // 69: sift.rules.v1.RuleService.CreateRule:input_type -> sift.rules.v1.CreateRuleRequest - 17, // 70: sift.rules.v1.RuleService.UpdateRule:input_type -> sift.rules.v1.UpdateRuleRequest - 22, // 71: sift.rules.v1.RuleService.BatchUpdateRules:input_type -> sift.rules.v1.BatchUpdateRulesRequest - 24, // 72: sift.rules.v1.RuleService.DeleteRule:input_type -> sift.rules.v1.DeleteRuleRequest - 28, // 73: sift.rules.v1.RuleService.ArchiveRule:input_type -> sift.rules.v1.ArchiveRuleRequest - 26, // 74: sift.rules.v1.RuleService.BatchDeleteRules:input_type -> sift.rules.v1.BatchDeleteRulesRequest - 30, // 75: sift.rules.v1.RuleService.BatchArchiveRules:input_type -> sift.rules.v1.BatchArchiveRulesRequest - 36, // 76: sift.rules.v1.RuleService.UnarchiveRule:input_type -> sift.rules.v1.UnarchiveRuleRequest - 38, // 77: sift.rules.v1.RuleService.BatchUnarchiveRules:input_type -> sift.rules.v1.BatchUnarchiveRulesRequest - 32, // 78: sift.rules.v1.RuleService.UndeleteRule:input_type -> sift.rules.v1.UndeleteRuleRequest - 34, // 79: sift.rules.v1.RuleService.BatchUndeleteRules:input_type -> sift.rules.v1.BatchUndeleteRulesRequest - 70, // 80: sift.rules.v1.RuleService.EvaluateRules:input_type -> sift.rules.v1.EvaluateRulesRequest - 40, // 81: sift.rules.v1.RuleService.ViewHumanFriendlyRules:input_type -> sift.rules.v1.ViewHumanFriendlyRulesRequest - 44, // 82: sift.rules.v1.RuleService.ViewJsonRules:input_type -> sift.rules.v1.ViewJsonRulesRequest - 42, // 83: sift.rules.v1.RuleService.UpdateHumanFriendlyRules:input_type -> sift.rules.v1.UpdateHumanFriendlyRulesRequest - 48, // 84: sift.rules.v1.RuleService.ValidateJsonRules:input_type -> sift.rules.v1.ValidateJsonRulesRequest - 50, // 85: sift.rules.v1.RuleService.UpdateJsonRules:input_type -> sift.rules.v1.UpdateJsonRulesRequest - 52, // 86: sift.rules.v1.RuleService.ListRules:input_type -> sift.rules.v1.ListRulesRequest - 54, // 87: sift.rules.v1.RuleService.ListRuleVersions:input_type -> sift.rules.v1.ListRuleVersionsRequest - 57, // 88: sift.rules.v1.RuleService.GetRuleVersion:input_type -> sift.rules.v1.GetRuleVersionRequest - 59, // 89: sift.rules.v1.RuleService.BatchGetRuleVersions:input_type -> sift.rules.v1.BatchGetRuleVersionsRequest - 10, // 90: sift.rules.v1.RuleService.SearchRules:output_type -> sift.rules.v1.SearchRulesResponse - 12, // 91: sift.rules.v1.RuleService.GetRule:output_type -> sift.rules.v1.GetRuleResponse - 14, // 92: sift.rules.v1.RuleService.BatchGetRules:output_type -> sift.rules.v1.BatchGetRulesResponse - 16, // 93: sift.rules.v1.RuleService.CreateRule:output_type -> sift.rules.v1.CreateRuleResponse - 20, // 94: sift.rules.v1.RuleService.UpdateRule:output_type -> sift.rules.v1.UpdateRuleResponse - 23, // 95: sift.rules.v1.RuleService.BatchUpdateRules:output_type -> sift.rules.v1.BatchUpdateRulesResponse - 25, // 96: sift.rules.v1.RuleService.DeleteRule:output_type -> sift.rules.v1.DeleteRuleResponse - 29, // 97: sift.rules.v1.RuleService.ArchiveRule:output_type -> sift.rules.v1.ArchiveRuleResponse - 27, // 98: sift.rules.v1.RuleService.BatchDeleteRules:output_type -> sift.rules.v1.BatchDeleteRulesResponse - 31, // 99: sift.rules.v1.RuleService.BatchArchiveRules:output_type -> sift.rules.v1.BatchArchiveRulesResponse - 37, // 100: sift.rules.v1.RuleService.UnarchiveRule:output_type -> sift.rules.v1.UnarchiveRuleResponse - 39, // 101: sift.rules.v1.RuleService.BatchUnarchiveRules:output_type -> sift.rules.v1.BatchUnarchiveRulesResponse - 33, // 102: sift.rules.v1.RuleService.UndeleteRule:output_type -> sift.rules.v1.UndeleteRuleResponse - 35, // 103: sift.rules.v1.RuleService.BatchUndeleteRules:output_type -> sift.rules.v1.BatchUndeleteRulesResponse - 73, // 104: sift.rules.v1.RuleService.EvaluateRules:output_type -> sift.rules.v1.EvaluateRulesResponse - 41, // 105: sift.rules.v1.RuleService.ViewHumanFriendlyRules:output_type -> sift.rules.v1.ViewHumanFriendlyRulesResponse - 45, // 106: sift.rules.v1.RuleService.ViewJsonRules:output_type -> sift.rules.v1.ViewJsonRulesResponse - 43, // 107: sift.rules.v1.RuleService.UpdateHumanFriendlyRules:output_type -> sift.rules.v1.UpdateHumanFriendlyRulesResponse - 49, // 108: sift.rules.v1.RuleService.ValidateJsonRules:output_type -> sift.rules.v1.ValidateJsonRulesResponse - 51, // 109: sift.rules.v1.RuleService.UpdateJsonRules:output_type -> sift.rules.v1.UpdateJsonRulesResponse - 53, // 110: sift.rules.v1.RuleService.ListRules:output_type -> sift.rules.v1.ListRulesResponse - 56, // 111: sift.rules.v1.RuleService.ListRuleVersions:output_type -> sift.rules.v1.ListRuleVersionsResponse - 58, // 112: sift.rules.v1.RuleService.GetRuleVersion:output_type -> sift.rules.v1.GetRuleVersionResponse - 60, // 113: sift.rules.v1.RuleService.BatchGetRuleVersions:output_type -> sift.rules.v1.BatchGetRuleVersionsResponse - 90, // [90:114] is the sub-list for method output_type - 66, // [66:90] is the sub-list for method input_type - 66, // [66:66] is the sub-list for extension type_name - 66, // [66:66] is the sub-list for extension extendee - 0, // [0:66] is the sub-list for field type_name + 81, // 53: sift.rules.v1.CalculatedChannelConfig.calculated_channel_dependencies:type_name -> sift.common.type.v1.CalculatedChannelDependency + 67, // 54: sift.rules.v1.RuleActionConfiguration.notification:type_name -> sift.rules.v1.NotificationActionConfiguration + 69, // 55: sift.rules.v1.RuleActionConfiguration.annotation:type_name -> sift.rules.v1.AnnotationActionConfiguration + 68, // 56: sift.rules.v1.RuleActionConfiguration.webhook:type_name -> sift.rules.v1.WebhookActionConfiguration + 82, // 57: sift.rules.v1.AnnotationActionConfiguration.annotation_type:type_name -> sift.annotations.v1.AnnotationType + 78, // 58: sift.rules.v1.AnnotationActionConfiguration.metadata:type_name -> sift.metadata.v1.MetadataValue + 71, // 59: sift.rules.v1.EvaluateRulesRequest.annotation_options:type_name -> sift.rules.v1.EvaluatedAnnotationOptions + 72, // 60: sift.rules.v1.EvaluateRulesRequest.time_range:type_name -> sift.rules.v1.TimeRangeQuery + 77, // 61: sift.rules.v1.TimeRangeQuery.start_time:type_name -> google.protobuf.Timestamp + 77, // 62: sift.rules.v1.TimeRangeQuery.end_time:type_name -> google.protobuf.Timestamp + 74, // 63: sift.rules.v1.EvaluateRulesResponse.dry_run_annotations:type_name -> sift.rules.v1.DryRunAnnotation + 77, // 64: sift.rules.v1.DryRunAnnotation.start_time:type_name -> google.protobuf.Timestamp + 77, // 65: sift.rules.v1.DryRunAnnotation.end_time:type_name -> google.protobuf.Timestamp + 65, // 66: sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntry.value:type_name -> sift.rules.v1.ChannelReference + 9, // 67: sift.rules.v1.RuleService.SearchRules:input_type -> sift.rules.v1.SearchRulesRequest + 11, // 68: sift.rules.v1.RuleService.GetRule:input_type -> sift.rules.v1.GetRuleRequest + 13, // 69: sift.rules.v1.RuleService.BatchGetRules:input_type -> sift.rules.v1.BatchGetRulesRequest + 15, // 70: sift.rules.v1.RuleService.CreateRule:input_type -> sift.rules.v1.CreateRuleRequest + 17, // 71: sift.rules.v1.RuleService.UpdateRule:input_type -> sift.rules.v1.UpdateRuleRequest + 22, // 72: sift.rules.v1.RuleService.BatchUpdateRules:input_type -> sift.rules.v1.BatchUpdateRulesRequest + 24, // 73: sift.rules.v1.RuleService.DeleteRule:input_type -> sift.rules.v1.DeleteRuleRequest + 28, // 74: sift.rules.v1.RuleService.ArchiveRule:input_type -> sift.rules.v1.ArchiveRuleRequest + 26, // 75: sift.rules.v1.RuleService.BatchDeleteRules:input_type -> sift.rules.v1.BatchDeleteRulesRequest + 30, // 76: sift.rules.v1.RuleService.BatchArchiveRules:input_type -> sift.rules.v1.BatchArchiveRulesRequest + 36, // 77: sift.rules.v1.RuleService.UnarchiveRule:input_type -> sift.rules.v1.UnarchiveRuleRequest + 38, // 78: sift.rules.v1.RuleService.BatchUnarchiveRules:input_type -> sift.rules.v1.BatchUnarchiveRulesRequest + 32, // 79: sift.rules.v1.RuleService.UndeleteRule:input_type -> sift.rules.v1.UndeleteRuleRequest + 34, // 80: sift.rules.v1.RuleService.BatchUndeleteRules:input_type -> sift.rules.v1.BatchUndeleteRulesRequest + 70, // 81: sift.rules.v1.RuleService.EvaluateRules:input_type -> sift.rules.v1.EvaluateRulesRequest + 40, // 82: sift.rules.v1.RuleService.ViewHumanFriendlyRules:input_type -> sift.rules.v1.ViewHumanFriendlyRulesRequest + 44, // 83: sift.rules.v1.RuleService.ViewJsonRules:input_type -> sift.rules.v1.ViewJsonRulesRequest + 42, // 84: sift.rules.v1.RuleService.UpdateHumanFriendlyRules:input_type -> sift.rules.v1.UpdateHumanFriendlyRulesRequest + 48, // 85: sift.rules.v1.RuleService.ValidateJsonRules:input_type -> sift.rules.v1.ValidateJsonRulesRequest + 50, // 86: sift.rules.v1.RuleService.UpdateJsonRules:input_type -> sift.rules.v1.UpdateJsonRulesRequest + 52, // 87: sift.rules.v1.RuleService.ListRules:input_type -> sift.rules.v1.ListRulesRequest + 54, // 88: sift.rules.v1.RuleService.ListRuleVersions:input_type -> sift.rules.v1.ListRuleVersionsRequest + 57, // 89: sift.rules.v1.RuleService.GetRuleVersion:input_type -> sift.rules.v1.GetRuleVersionRequest + 59, // 90: sift.rules.v1.RuleService.BatchGetRuleVersions:input_type -> sift.rules.v1.BatchGetRuleVersionsRequest + 10, // 91: sift.rules.v1.RuleService.SearchRules:output_type -> sift.rules.v1.SearchRulesResponse + 12, // 92: sift.rules.v1.RuleService.GetRule:output_type -> sift.rules.v1.GetRuleResponse + 14, // 93: sift.rules.v1.RuleService.BatchGetRules:output_type -> sift.rules.v1.BatchGetRulesResponse + 16, // 94: sift.rules.v1.RuleService.CreateRule:output_type -> sift.rules.v1.CreateRuleResponse + 20, // 95: sift.rules.v1.RuleService.UpdateRule:output_type -> sift.rules.v1.UpdateRuleResponse + 23, // 96: sift.rules.v1.RuleService.BatchUpdateRules:output_type -> sift.rules.v1.BatchUpdateRulesResponse + 25, // 97: sift.rules.v1.RuleService.DeleteRule:output_type -> sift.rules.v1.DeleteRuleResponse + 29, // 98: sift.rules.v1.RuleService.ArchiveRule:output_type -> sift.rules.v1.ArchiveRuleResponse + 27, // 99: sift.rules.v1.RuleService.BatchDeleteRules:output_type -> sift.rules.v1.BatchDeleteRulesResponse + 31, // 100: sift.rules.v1.RuleService.BatchArchiveRules:output_type -> sift.rules.v1.BatchArchiveRulesResponse + 37, // 101: sift.rules.v1.RuleService.UnarchiveRule:output_type -> sift.rules.v1.UnarchiveRuleResponse + 39, // 102: sift.rules.v1.RuleService.BatchUnarchiveRules:output_type -> sift.rules.v1.BatchUnarchiveRulesResponse + 33, // 103: sift.rules.v1.RuleService.UndeleteRule:output_type -> sift.rules.v1.UndeleteRuleResponse + 35, // 104: sift.rules.v1.RuleService.BatchUndeleteRules:output_type -> sift.rules.v1.BatchUndeleteRulesResponse + 73, // 105: sift.rules.v1.RuleService.EvaluateRules:output_type -> sift.rules.v1.EvaluateRulesResponse + 41, // 106: sift.rules.v1.RuleService.ViewHumanFriendlyRules:output_type -> sift.rules.v1.ViewHumanFriendlyRulesResponse + 45, // 107: sift.rules.v1.RuleService.ViewJsonRules:output_type -> sift.rules.v1.ViewJsonRulesResponse + 43, // 108: sift.rules.v1.RuleService.UpdateHumanFriendlyRules:output_type -> sift.rules.v1.UpdateHumanFriendlyRulesResponse + 49, // 109: sift.rules.v1.RuleService.ValidateJsonRules:output_type -> sift.rules.v1.ValidateJsonRulesResponse + 51, // 110: sift.rules.v1.RuleService.UpdateJsonRules:output_type -> sift.rules.v1.UpdateJsonRulesResponse + 53, // 111: sift.rules.v1.RuleService.ListRules:output_type -> sift.rules.v1.ListRulesResponse + 56, // 112: sift.rules.v1.RuleService.ListRuleVersions:output_type -> sift.rules.v1.ListRuleVersionsResponse + 58, // 113: sift.rules.v1.RuleService.GetRuleVersion:output_type -> sift.rules.v1.GetRuleVersionResponse + 60, // 114: sift.rules.v1.RuleService.BatchGetRuleVersions:output_type -> sift.rules.v1.BatchGetRuleVersionsResponse + 91, // [91:115] is the sub-list for method output_type + 67, // [67:91] is the sub-list for method input_type + 67, // [67:67] is the sub-list for extension type_name + 67, // [67:67] is the sub-list for extension extendee + 0, // [0:67] is the sub-list for field type_name } func init() { file_sift_rules_v1_rules_proto_init() } @@ -7224,6 +7278,7 @@ func file_sift_rules_v1_rules_proto_init() { (*SingleChannelComparisonExpression_String_)(nil), (*SingleChannelComparisonExpression_LastValue)(nil), } + file_sift_rules_v1_rules_proto_msgTypes[62].OneofWrappers = []interface{}{} file_sift_rules_v1_rules_proto_msgTypes[63].OneofWrappers = []interface{}{ (*RuleActionConfiguration_Notification)(nil), (*RuleActionConfiguration_Annotation)(nil), diff --git a/go/gen/sift/rules/v1/rules_vtproto.pb.go b/go/gen/sift/rules/v1/rules_vtproto.pb.go index 8f8f99526..f71919338 100644 --- a/go/gen/sift/rules/v1/rules_vtproto.pb.go +++ b/go/gen/sift/rules/v1/rules_vtproto.pb.go @@ -535,6 +535,7 @@ func (m *ValidationResult) CloneVT() *ValidationResult { r := new(ValidationResult) r.RuleId = m.RuleId r.ClientKey = m.ClientKey + r.RuleName = m.RuleName if rhs := m.AssetExpressionValidationResults; rhs != nil { tmpContainer := make([]*AssetExpressionValidationResult, len(rhs)) for k, v := range rhs { @@ -1484,6 +1485,19 @@ func (m *CalculatedChannelConfig) CloneVT() *CalculatedChannelConfig { } r.FunctionDependencies = tmpContainer } + if rhs := m.CalculatedChannelDependencies; rhs != nil { + tmpContainer := make([]*v11.CalculatedChannelDependency, len(rhs)) + for k, v := range rhs { + if vtpb, ok := interface{}(v).(interface { + CloneVT() *v11.CalculatedChannelDependency + }); ok { + tmpContainer[k] = vtpb.CloneVT() + } else { + tmpContainer[k] = proto.Clone(v).(*v11.CalculatedChannelDependency) + } + } + r.CalculatedChannelDependencies = tmpContainer + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -1502,6 +1516,10 @@ func (m *ChannelReference) CloneVT() *ChannelReference { r := new(ChannelReference) r.Name = m.Name r.Component = m.Component + if rhs := m.CalculatedChannelVersionId; rhs != nil { + tmpVal := *rhs + r.CalculatedChannelVersionId = &tmpVal + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -2540,6 +2558,9 @@ func (this *ValidationResult) EqualVT(that *ValidationResult) bool { if p, q := this.Error, that.Error; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { return false } + if this.RuleName != that.RuleName { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -3801,6 +3822,29 @@ func (this *CalculatedChannelConfig) EqualVT(that *CalculatedChannelConfig) bool } } } + if len(this.CalculatedChannelDependencies) != len(that.CalculatedChannelDependencies) { + return false + } + for i, vx := range this.CalculatedChannelDependencies { + vy := that.CalculatedChannelDependencies[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &v11.CalculatedChannelDependency{} + } + if q == nil { + q = &v11.CalculatedChannelDependency{} + } + if equal, ok := interface{}(p).(interface { + EqualVT(*v11.CalculatedChannelDependency) bool + }); ok { + if !equal.EqualVT(q) { + return false + } + } else if !proto.Equal(p, q) { + return false + } + } + } return string(this.unknownFields) == string(that.unknownFields) } @@ -3823,6 +3867,9 @@ func (this *ChannelReference) EqualVT(that *ChannelReference) bool { if this.Component != that.Component { return false } + if p, q := this.CalculatedChannelVersionId, that.CalculatedChannelVersionId; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -6685,6 +6732,13 @@ func (m *ValidationResult) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.RuleName) > 0 { + i -= len(m.RuleName) + copy(dAtA[i:], m.RuleName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RuleName))) + i-- + dAtA[i] = 0x2a + } if m.Error != nil { i -= len(*m.Error) copy(dAtA[i:], *m.Error) @@ -8905,6 +8959,30 @@ func (m *CalculatedChannelConfig) MarshalToSizedBufferVT(dAtA []byte) (int, erro i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.CalculatedChannelDependencies) > 0 { + for iNdEx := len(m.CalculatedChannelDependencies) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.CalculatedChannelDependencies[iNdEx]).(interface { + MarshalToSizedBufferVT([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.CalculatedChannelDependencies[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x2a + } + } if len(m.FunctionDependencies) > 0 { for iNdEx := len(m.FunctionDependencies) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.FunctionDependencies[iNdEx]).(interface { @@ -8991,6 +9069,13 @@ func (m *ChannelReference) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CalculatedChannelVersionId != nil { + i -= len(*m.CalculatedChannelVersionId) + copy(dAtA[i:], *m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x1a + } if len(m.Component) > 0 { i -= len(m.Component) copy(dAtA[i:], m.Component) @@ -11048,6 +11133,13 @@ func (m *ValidationResult) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.RuleName) > 0 { + i -= len(m.RuleName) + copy(dAtA[i:], m.RuleName) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.RuleName))) + i-- + dAtA[i] = 0x2a + } if m.Error != nil { i -= len(*m.Error) copy(dAtA[i:], *m.Error) @@ -13285,6 +13377,30 @@ func (m *CalculatedChannelConfig) MarshalToSizedBufferVTStrict(dAtA []byte) (int i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if len(m.CalculatedChannelDependencies) > 0 { + for iNdEx := len(m.CalculatedChannelDependencies) - 1; iNdEx >= 0; iNdEx-- { + if vtmsg, ok := interface{}(m.CalculatedChannelDependencies[iNdEx]).(interface { + MarshalToSizedBufferVTStrict([]byte) (int, error) + }); ok { + size, err := vtmsg.MarshalToSizedBufferVTStrict(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) + } else { + encoded, err := proto.Marshal(m.CalculatedChannelDependencies[iNdEx]) + if err != nil { + return 0, err + } + i -= len(encoded) + copy(dAtA[i:], encoded) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(encoded))) + } + i-- + dAtA[i] = 0x2a + } + } if len(m.FunctionDependencies) > 0 { for iNdEx := len(m.FunctionDependencies) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.FunctionDependencies[iNdEx]).(interface { @@ -13371,6 +13487,13 @@ func (m *ChannelReference) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CalculatedChannelVersionId != nil { + i -= len(*m.CalculatedChannelVersionId) + copy(dAtA[i:], *m.CalculatedChannelVersionId) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.CalculatedChannelVersionId))) + i-- + dAtA[i] = 0x1a + } if len(m.Component) > 0 { i -= len(m.Component) copy(dAtA[i:], m.Component) @@ -14596,6 +14719,10 @@ func (m *ValidationResult) SizeVT() (n int) { l = len(*m.Error) n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + l = len(m.RuleName) + if l > 0 { + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -15459,6 +15586,18 @@ func (m *CalculatedChannelConfig) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if len(m.CalculatedChannelDependencies) > 0 { + for _, e := range m.CalculatedChannelDependencies { + if size, ok := interface{}(e).(interface { + SizeVT() int + }); ok { + l = size.SizeVT() + } else { + l = proto.Size(e) + } + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } + } n += len(m.unknownFields) return n } @@ -15477,6 +15616,10 @@ func (m *ChannelReference) SizeVT() (n int) { if l > 0 { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } + if m.CalculatedChannelVersionId != nil { + l = len(*m.CalculatedChannelVersionId) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -19613,6 +19756,38 @@ func (m *ValidationResult) UnmarshalVT(dAtA []byte) error { s := string(dAtA[iNdEx:postIndex]) m.Error = &s iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuleName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.RuleName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -24618,6 +24793,48 @@ func (m *CalculatedChannelConfig) UnmarshalVT(dAtA []byte) error { } } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelDependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelDependencies = append(m.CalculatedChannelDependencies, &v11.CalculatedChannelDependency{}) + if unmarshal, ok := interface{}(m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1]).(interface { + UnmarshalVT([]byte) error + }); ok { + if err := unmarshal.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1]); err != nil { + return err + } + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -24733,6 +24950,39 @@ func (m *ChannelReference) UnmarshalVT(dAtA []byte) error { } m.Component = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.CalculatedChannelVersionId = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -30146,6 +30396,42 @@ func (m *ValidationResult) UnmarshalVTUnsafe(dAtA []byte) error { s := stringValue m.Error = &s iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field RuleName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + m.RuleName = stringValue + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -35359,6 +35645,48 @@ func (m *CalculatedChannelConfig) UnmarshalVTUnsafe(dAtA []byte) error { } } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelDependencies", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.CalculatedChannelDependencies = append(m.CalculatedChannelDependencies, &v11.CalculatedChannelDependency{}) + if unmarshal, ok := interface{}(m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1]).(interface { + UnmarshalVTUnsafe([]byte) error + }); ok { + if err := unmarshal.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { + return err + } + } else { + if err := proto.Unmarshal(dAtA[iNdEx:postIndex], m.CalculatedChannelDependencies[len(m.CalculatedChannelDependencies)-1]); err != nil { + return err + } + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -35482,6 +35810,43 @@ func (m *ChannelReference) UnmarshalVTUnsafe(dAtA []byte) error { } m.Component = stringValue iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CalculatedChannelVersionId", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.CalculatedChannelVersionId = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/runs/v2/runs.pb.go b/go/gen/sift/runs/v2/runs.pb.go index f1f4964e6..b48c51e29 100644 --- a/go/gen/sift/runs/v2/runs.pb.go +++ b/go/gen/sift/runs/v2/runs.pb.go @@ -502,6 +502,9 @@ type CreateRunRequest struct { ClientKey *string `protobuf:"bytes,8,opt,name=client_key,json=clientKey,proto3,oneof" json:"client_key,omitempty"` // The metadata values associated with this run. Metadata []*v1.MetadataValue `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty"` + // Whether to create a default report for this run. This facilitates getting the report ID for live rules that will be automatically created for this run which can streamline programatically creating Campaigns. + // Defaults to false if not specified (This default can be changed for your organization by Sift. Contact support to change this default behavior.). + CreateDefaultReport *bool `protobuf:"varint,10,opt,name=create_default_report,json=createDefaultReport,proto3,oneof" json:"create_default_report,omitempty"` } func (x *CreateRunRequest) Reset() { @@ -592,6 +595,13 @@ func (x *CreateRunRequest) GetMetadata() []*v1.MetadataValue { return nil } +func (x *CreateRunRequest) GetCreateDefaultReport() bool { + if x != nil && x.CreateDefaultReport != nil { + return *x.CreateDefaultReport + } + return false +} + type CreateRunResponse struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1297,7 +1307,7 @@ var file_sift_runs_v2_runs_proto_rawDesc = []byte{ 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdb, 0x04, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb3, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, @@ -1334,239 +1344,244 @@ var file_sift_runs_v2_runs_proto_rawDesc = []byte{ 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x3d, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe3, 0x04, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x92, 0x01, - 0x02, 0x08, 0x01, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0xcb, 0x01, - 0xe0, 0x41, 0x01, 0xba, 0x48, 0xc4, 0x01, 0xba, 0x01, 0xc0, 0x01, 0x0a, 0x12, 0x69, 0x6e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x12, - 0x6a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x33, 0x2d, 0x31, 0x32, 0x38, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, - 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x70, 0x68, - 0x61, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x5b, 0x61, 0x2d, 0x7a, 0x41, - 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x2e, 0x1a, 0x3e, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, - 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, - 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x7b, 0x30, 0x2c, 0x31, 0x32, 0x36, 0x7d, 0x5b, 0x61, 0x2d, - 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x24, 0x27, 0x29, 0x48, 0x00, 0x52, 0x09, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x42, 0x0a, 0x16, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe2, - 0x04, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0xa3, 0x04, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, - 0xe5, 0x03, 0xe0, 0x41, 0x02, 0xba, 0x48, 0xde, 0x03, 0xba, 0x01, 0xda, 0x03, 0x0a, 0x17, 0x69, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x12, 0xdc, 0x01, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, - 0x61, 0x73, 0x6b, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, - 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, - 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, - 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x27, 0x5d, 0x1a, 0xdf, 0x01, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x28, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, - 0x20, 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, - 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, - 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x22, 0x3d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, - 0x75, 0x6e, 0x22, 0x79, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, - 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x30, 0x0a, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, - 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, - 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x36, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x0a, 0x0e, - 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, - 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, - 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x0d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x1b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x92, 0x41, 0x19, 0x12, 0x06, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x1a, 0x0f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, - 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4a, 0x92, 0x41, 0x33, 0x12, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x1a, - 0x27, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x82, 0x01, 0x0a, - 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x92, 0x41, 0x1a, - 0x12, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x0d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, - 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, - 0x63, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x46, 0x92, 0x41, 0x26, 0x12, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, - 0x63, 0x52, 0x75, 0x6e, 0x1a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, - 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, - 0x73, 0x3a, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x12, 0xc7, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, 0x5f, 0x12, 0x09, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x52, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, - 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, - 0x3a, 0x01, 0x2a, 0x32, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, - 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, - 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x78, 0x88, 0x02, 0x01, 0x92, 0x41, 0x55, 0x12, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6e, 0x1a, 0x48, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, - 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, - 0x20, 0x55, 0x73, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x17, 0x2a, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe6, 0x01, 0x0a, 0x07, 0x53, - 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x92, 0x41, 0x7e, 0x12, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, - 0x75, 0x6e, 0x1a, 0x73, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, - 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x65, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, - 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x73, - 0x74, 0x6f, 0x70, 0x12, 0xcc, 0x02, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x13, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3d, 0x0a, + 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, + 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe3, 0x04, 0x0a, + 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, + 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, + 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0b, + 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x40, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0xcb, 0x01, 0xe0, 0x41, 0x01, 0xba, 0x48, 0xc4, 0x01, 0xba, + 0x01, 0xc0, 0x01, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, + 0x6b, 0x65, 0x79, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x33, 0x2d, 0x31, 0x32, + 0x38, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, + 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x20, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, + 0x2d, 0x5d, 0x2e, 0x1a, 0x3e, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, + 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x5b, + 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x7b, 0x30, + 0x2c, 0x31, 0x32, 0x36, 0x7d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, + 0x24, 0x27, 0x29, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, + 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x22, 0x42, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, + 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, + 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe2, 0x04, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x72, + 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0xa3, 0x04, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0xe5, 0x03, 0xe0, 0x41, 0x02, 0xba, 0x48, 0xde, + 0x03, 0xba, 0x01, 0xda, 0x03, 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x12, 0xdc, + 0x01, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x70, 0x61, 0x74, 0x68, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, 0x61, + 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, + 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, + 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, + 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, + 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, + 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, 0x67, + 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, 0x20, + 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, + 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, 0x20, + 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x5d, 0x1a, 0xdf, 0x01, + 0x74, 0x68, 0x69, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x28, 0x70, + 0x61, 0x74, 0x68, 0x2c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, + 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, + 0x27, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, + 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, + 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, + 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, + 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, + 0x67, 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, + 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, + 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, + 0x20, 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x52, + 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x3d, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0x79, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x92, 0x41, 0x57, 0x12, - 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, - 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, - 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0x2d, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, - 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, - 0x41, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2d, 0x61, 0x75, - 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x2d, 0x72, 0x75, 0x6e, 0x2d, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x1a, 0xc0, 0x01, 0x92, 0x41, 0xbc, 0x01, 0x12, 0x40, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x5b, 0x72, 0x75, 0x6e, 0x73, 0x5d, 0x28, 0x2f, 0x67, 0x6c, 0x6f, - 0x73, 0x73, 0x61, 0x72, 0x79, 0x23, 0x72, 0x75, 0x6e, 0x29, 0x2e, 0x1a, 0x78, 0x0a, 0x1e, 0x52, - 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, - 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, - 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, - 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, - 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, - 0x35, 0x34, 0x30, 0x35, 0x33, 0x42, 0xb8, 0x01, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x75, 0x6e, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, - 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, - 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x3b, 0x72, 0x75, 0x6e, 0x73, 0x76, 0x32, 0xa2, 0x02, - 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x73, - 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, - 0x56, 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, - 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, - 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x92, 0x41, - 0x0f, 0x12, 0x0d, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, + 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, + 0x24, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, + 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, + 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, + 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, + 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, + 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x0d, + 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x06, + 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x1b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x39, 0x92, 0x41, 0x19, 0x12, 0x06, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x1a, 0x0f, + 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, + 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x95, 0x01, 0x0a, + 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x33, 0x12, 0x08, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x1a, 0x27, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x72, 0x75, 0x6e, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x34, 0x92, 0x41, 0x1a, 0x12, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6e, 0x1a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x26, 0x12, 0x0e, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x1a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x12, + 0xc7, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, + 0x92, 0x41, 0x5f, 0x12, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x52, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x32, 0x0c, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x09, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x88, 0x02, 0x01, 0x92, 0x41, 0x55, + 0x12, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x48, 0x50, 0x65, 0x72, + 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x2a, 0x15, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x7d, 0x12, 0xe6, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x12, 0x1c, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, + 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x92, 0x41, + 0x7e, 0x12, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x1a, 0x73, 0x53, 0x65, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x73, + 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, + 0x65, 0x65, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x12, 0xcc, 0x02, 0x0a, 0x26, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, + 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, + 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xa6, 0x01, 0x92, 0x41, 0x57, 0x12, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, + 0x2d, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, + 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x2d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x2d, + 0x72, 0x75, 0x6e, 0x2d, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, + 0x66, 0x6f, 0x72, 0x2d, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0xc0, 0x01, 0x92, 0x41, 0xbc, + 0x01, 0x12, 0x40, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x5b, 0x72, 0x75, + 0x6e, 0x73, 0x5d, 0x28, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x23, 0x72, 0x75, + 0x6e, 0x29, 0x2e, 0x1a, 0x78, 0x0a, 0x1e, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, + 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, + 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x35, 0x34, 0x30, 0x35, 0x33, 0x42, 0xb8, 0x01, + 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, + 0x76, 0x32, 0x42, 0x09, 0x52, 0x75, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, + 0x35, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, + 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x3b, + 0x72, 0x75, 0x6e, 0x73, 0x76, 0x32, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0c, 0x53, + 0x69, 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x73, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, + 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, + 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, + 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x92, 0x41, 0x0f, 0x12, 0x0d, 0x0a, 0x0b, 0x52, 0x75, 0x6e, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/go/gen/sift/runs/v2/runs_vtproto.pb.go b/go/gen/sift/runs/v2/runs_vtproto.pb.go index d4a6e9690..bb8b45144 100644 --- a/go/gen/sift/runs/v2/runs_vtproto.pb.go +++ b/go/gen/sift/runs/v2/runs_vtproto.pb.go @@ -196,6 +196,10 @@ func (m *CreateRunRequest) CloneVT() *CreateRunRequest { } r.Metadata = tmpContainer } + if rhs := m.CreateDefaultReport; rhs != nil { + tmpVal := *rhs + r.CreateDefaultReport = &tmpVal + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -687,6 +691,9 @@ func (this *CreateRunRequest) EqualVT(that *CreateRunRequest) bool { } } } + if p, q := this.CreateDefaultReport, that.CreateDefaultReport; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1780,6 +1787,16 @@ func (m *CreateRunRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CreateDefaultReport != nil { + i-- + if *m.CreateDefaultReport { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } if len(m.Metadata) > 0 { for iNdEx := len(m.Metadata) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.Metadata[iNdEx]).(interface { @@ -2845,6 +2862,16 @@ func (m *CreateRunRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.CreateDefaultReport != nil { + i-- + if *m.CreateDefaultReport { + dAtA[i] = 1 + } else { + dAtA[i] = 0 + } + i-- + dAtA[i] = 0x50 + } if len(m.Metadata) > 0 { for iNdEx := len(m.Metadata) - 1; iNdEx >= 0; iNdEx-- { if vtmsg, ok := interface{}(m.Metadata[iNdEx]).(interface { @@ -3675,6 +3702,9 @@ func (m *CreateRunRequest) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.CreateDefaultReport != nil { + n += 2 + } n += len(m.unknownFields) return n } @@ -5318,6 +5348,27 @@ func (m *CreateRunRequest) UnmarshalVT(dAtA []byte) error { } } iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CreateDefaultReport", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.CreateDefaultReport = &b default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -8011,6 +8062,27 @@ func (m *CreateRunRequest) UnmarshalVTUnsafe(dAtA []byte) error { } } iNdEx = postIndex + case 10: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field CreateDefaultReport", wireType) + } + var v int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + v |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + b := bool(v != 0) + m.CreateDefaultReport = &b default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/saved_searches/v1/saved_searches.pb.go b/go/gen/sift/saved_searches/v1/saved_searches.pb.go index fc2650cac..a7d2abe06 100644 --- a/go/gen/sift/saved_searches/v1/saved_searches.pb.go +++ b/go/gen/sift/saved_searches/v1/saved_searches.pb.go @@ -146,6 +146,7 @@ type SavedSearchProperties struct { IncludeArchived *bool `protobuf:"varint,12,opt,name=include_archived,json=includeArchived,proto3,oneof" json:"include_archived,omitempty"` OrderBy *string `protobuf:"bytes,13,opt,name=order_by,json=orderBy,proto3,oneof" json:"order_by,omitempty"` MetadataItems []*SavedSearchMetadataItem `protobuf:"bytes,14,rep,name=metadata_items,json=metadataItems,proto3" json:"metadata_items,omitempty"` + Duration *string `protobuf:"bytes,15,opt,name=duration,proto3,oneof" json:"duration,omitempty"` } func (x *SavedSearchProperties) Reset() { @@ -278,6 +279,13 @@ func (x *SavedSearchProperties) GetMetadataItems() []*SavedSearchMetadataItem { return nil } +func (x *SavedSearchProperties) GetDuration() string { + if x != nil && x.Duration != nil { + return *x.Duration + } + return "" +} + type SavedSearchFilterItem struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -1113,7 +1121,7 @@ var file_sift_saved_searches_v1_saved_searches_proto_rawDesc = []byte{ 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, - 0xf6, 0x08, 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, + 0xa9, 0x09, 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x4d, @@ -1177,212 +1185,216 @@ var file_sift_saved_searches_v1_saved_searches_proto_rawDesc = []byte{ 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x72, 0x6f, - 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, - 0x74, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, - 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x22, 0x45, 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x49, 0x74, 0x65, - 0x6d, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0xaa, 0x01, 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x15, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, - 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, - 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x44, 0x0a, 0x15, - 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x49, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0xab, 0x01, 0x0a, 0x18, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, - 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb5, 0x01, 0x0a, 0x18, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x52, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x22, 0x68, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, - 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x47, 0x0a, 0x18, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, 0x76, 0x65, 0x64, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4b, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x73, 0x22, 0x22, - 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x06, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, + 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x42, 0x11, + 0x0a, 0x0f, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x76, 0x61, + 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x15, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x49, 0x74, 0x65, 0x6d, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x15, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, + 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, + 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, + 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, + 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x44, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x68, - 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, - 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x32, 0xdf, 0x0a, 0x0a, 0x12, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0xce, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5d, 0x92, 0x41, 0x2a, 0x12, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xc9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, + 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0xab, 0x01, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, + 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb5, 0x01, 0x0a, + 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, + 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x47, + 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, + 0x73, 0x22, 0x22, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, 0x92, 0x41, 0x2b, - 0x12, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0xc4, 0x01, 0x0a, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x29, 0x12, 0x11, 0x4c, 0x69, - 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x1a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0x68, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, + 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, + 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x32, 0xdf, 0x0a, 0x0a, 0x12, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, + 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x2a, 0x12, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, + 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, - 0x01, 0x92, 0x41, 0x70, 0x12, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, - 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x32, 0x16, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x5e, 0x92, 0x41, 0x2b, 0x12, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x7d, - 0x12, 0xf7, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x37, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x68, 0x92, 0x41, 0x38, 0x12, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x1a, - 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x62, - 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x8b, 0x02, 0x0a, 0x1a, 0x63, - 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, - 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x53, 0x58, - 0xaa, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x5c, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x21, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x92, 0x41, - 0x17, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, + 0x92, 0x41, 0x2b, 0x12, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, + 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, + 0xc4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, + 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x29, 0x12, + 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x1a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x94, 0x01, 0x92, 0x41, 0x70, 0x12, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5b, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x75, 0x73, 0x69, + 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, + 0x32, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x2b, 0x12, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, + 0x69, 0x64, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x12, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x68, 0x92, 0x41, 0x38, 0x12, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x1a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x8b, 0x02, + 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, + 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, + 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, + 0x53, 0x53, 0x58, 0xaa, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x53, 0x69, + 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x21, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x3a, 0x56, + 0x31, 0x92, 0x41, 0x17, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/go/gen/sift/saved_searches/v1/saved_searches_vtproto.pb.go b/go/gen/sift/saved_searches/v1/saved_searches_vtproto.pb.go index 6776abb0b..e91951420 100644 --- a/go/gen/sift/saved_searches/v1/saved_searches_vtproto.pb.go +++ b/go/gen/sift/saved_searches/v1/saved_searches_vtproto.pb.go @@ -127,6 +127,10 @@ func (m *SavedSearchProperties) CloneVT() *SavedSearchProperties { } r.MetadataItems = tmpContainer } + if rhs := m.Duration; rhs != nil { + tmpVal := *rhs + r.Duration = &tmpVal + } if len(m.unknownFields) > 0 { r.unknownFields = make([]byte, len(m.unknownFields)) copy(r.unknownFields, m.unknownFields) @@ -610,6 +614,9 @@ func (this *SavedSearchProperties) EqualVT(that *SavedSearchProperties) bool { } } } + if p, q := this.Duration, that.Duration; (p == nil && q != nil) || (p != nil && (q == nil || *p != *q)) { + return false + } return string(this.unknownFields) == string(that.unknownFields) } @@ -1399,6 +1406,13 @@ func (m *SavedSearchProperties) MarshalToSizedBufferVT(dAtA []byte) (int, error) i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Duration != nil { + i -= len(*m.Duration) + copy(dAtA[i:], *m.Duration) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Duration))) + i-- + dAtA[i] = 0x7a + } if len(m.MetadataItems) > 0 { for iNdEx := len(m.MetadataItems) - 1; iNdEx >= 0; iNdEx-- { size, err := m.MetadataItems[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) @@ -2353,6 +2367,13 @@ func (m *SavedSearchProperties) MarshalToSizedBufferVTStrict(dAtA []byte) (int, i -= len(m.unknownFields) copy(dAtA[i:], m.unknownFields) } + if m.Duration != nil { + i -= len(*m.Duration) + copy(dAtA[i:], *m.Duration) + i = protohelpers.EncodeVarint(dAtA, i, uint64(len(*m.Duration))) + i-- + dAtA[i] = 0x7a + } if len(m.MetadataItems) > 0 { for iNdEx := len(m.MetadataItems) - 1; iNdEx >= 0; iNdEx-- { size, err := m.MetadataItems[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) @@ -3307,6 +3328,10 @@ func (m *SavedSearchProperties) SizeVT() (n int) { n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) } } + if m.Duration != nil { + l = len(*m.Duration) + n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) + } n += len(m.unknownFields) return n } @@ -4363,6 +4388,39 @@ func (m *SavedSearchProperties) UnmarshalVT(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + s := string(dAtA[iNdEx:postIndex]) + m.Duration = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) @@ -6646,6 +6704,43 @@ func (m *SavedSearchProperties) UnmarshalVTUnsafe(dAtA []byte) error { return err } iNdEx = postIndex + case 15: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Duration", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protohelpers.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protohelpers.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protohelpers.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + var stringValue string + if intStringLen > 0 { + stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) + } + s := stringValue + m.Duration = &s + iNdEx = postIndex default: iNdEx = preIndex skippy, err := protohelpers.Skip(dAtA[iNdEx:]) diff --git a/go/gen/sift/user_attributes/v1/user_attributes.pb.go b/go/gen/sift/user_attributes/v1/user_attributes.pb.go deleted file mode 100644 index 824b21497..000000000 --- a/go/gen/sift/user_attributes/v1/user_attributes.pb.go +++ /dev/null @@ -1,3006 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.28.1 -// protoc (unknown) -// source: sift/user_attributes/v1/user_attributes.proto - -package user_attributesv1 - -import ( - _ "github.com/sift-stack/sift/go/gen/buf/validate" - _ "github.com/sift-stack/sift/go/gen/google/api" - _ "github.com/sift-stack/sift/go/gen/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - 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) -) - -// UserAttributeValueType enumerates the supported value types for a user attribute key. -type UserAttributeValueType int32 - -const ( - UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED UserAttributeValueType = 0 - UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_STRING UserAttributeValueType = 1 - UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN UserAttributeValueType = 2 - UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_NUMBER UserAttributeValueType = 3 - UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING UserAttributeValueType = 4 -) - -// Enum value maps for UserAttributeValueType. -var ( - UserAttributeValueType_name = map[int32]string{ - 0: "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", - 1: "USER_ATTRIBUTE_VALUE_TYPE_STRING", - 2: "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN", - 3: "USER_ATTRIBUTE_VALUE_TYPE_NUMBER", - 4: "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING", - } - UserAttributeValueType_value = map[string]int32{ - "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED": 0, - "USER_ATTRIBUTE_VALUE_TYPE_STRING": 1, - "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN": 2, - "USER_ATTRIBUTE_VALUE_TYPE_NUMBER": 3, - "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING": 4, - } -) - -func (x UserAttributeValueType) Enum() *UserAttributeValueType { - p := new(UserAttributeValueType) - *p = x - return p -} - -func (x UserAttributeValueType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (UserAttributeValueType) Descriptor() protoreflect.EnumDescriptor { - return file_sift_user_attributes_v1_user_attributes_proto_enumTypes[0].Descriptor() -} - -func (UserAttributeValueType) Type() protoreflect.EnumType { - return &file_sift_user_attributes_v1_user_attributes_proto_enumTypes[0] -} - -func (x UserAttributeValueType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use UserAttributeValueType.Descriptor instead. -func (UserAttributeValueType) EnumDescriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{0} -} - -type UserAttributeKey struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - OrganizationId string `protobuf:"bytes,2,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` - Type UserAttributeValueType `protobuf:"varint,5,opt,name=type,proto3,enum=sift.user_attributes.v1.UserAttributeValueType" json:"type,omitempty"` - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - CreatedByUserId string `protobuf:"bytes,7,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - ModifiedDate *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=modified_date,json=modifiedDate,proto3" json:"modified_date,omitempty"` - ModifiedByUserId string `protobuf:"bytes,9,opt,name=modified_by_user_id,json=modifiedByUserId,proto3" json:"modified_by_user_id,omitempty"` - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` - // Whether or not the user attribute key is archived. This is inferred from whether archived_date is set. - IsArchived bool `protobuf:"varint,11,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` -} - -func (x *UserAttributeKey) Reset() { - *x = UserAttributeKey{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserAttributeKey) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserAttributeKey) ProtoMessage() {} - -func (x *UserAttributeKey) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UserAttributeKey.ProtoReflect.Descriptor instead. -func (*UserAttributeKey) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{0} -} - -func (x *UserAttributeKey) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *UserAttributeKey) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *UserAttributeKey) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UserAttributeKey) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UserAttributeKey) GetType() UserAttributeValueType { - if x != nil { - return x.Type - } - return UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED -} - -func (x *UserAttributeKey) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *UserAttributeKey) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *UserAttributeKey) GetModifiedDate() *timestamppb.Timestamp { - if x != nil { - return x.ModifiedDate - } - return nil -} - -func (x *UserAttributeKey) GetModifiedByUserId() string { - if x != nil { - return x.ModifiedByUserId - } - return "" -} - -func (x *UserAttributeKey) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -func (x *UserAttributeKey) GetIsArchived() bool { - if x != nil { - return x.IsArchived - } - return false -} - -// CreateUserAttributeKeyRequest is used to create a new user attribute key. -type CreateUserAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` - Type UserAttributeValueType `protobuf:"varint,3,opt,name=type,proto3,enum=sift.user_attributes.v1.UserAttributeValueType" json:"type,omitempty"` -} - -func (x *CreateUserAttributeKeyRequest) Reset() { - *x = CreateUserAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserAttributeKeyRequest) ProtoMessage() {} - -func (x *CreateUserAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 CreateUserAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*CreateUserAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{1} -} - -func (x *CreateUserAttributeKeyRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *CreateUserAttributeKeyRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *CreateUserAttributeKeyRequest) GetType() UserAttributeValueType { - if x != nil { - return x.Type - } - return UserAttributeValueType_USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED -} - -// CreateUserAttributeKeyResponse returns the user attribute key from a CreateUserAttributeKey call. -type CreateUserAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKey *UserAttributeKey `protobuf:"bytes,1,opt,name=user_attribute_key,json=userAttributeKey,proto3" json:"user_attribute_key,omitempty"` -} - -func (x *CreateUserAttributeKeyResponse) Reset() { - *x = CreateUserAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserAttributeKeyResponse) ProtoMessage() {} - -func (x *CreateUserAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 CreateUserAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*CreateUserAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{2} -} - -func (x *CreateUserAttributeKeyResponse) GetUserAttributeKey() *UserAttributeKey { - if x != nil { - return x.UserAttributeKey - } - return nil -} - -// UpdateUserAttributeKeyRequest is used to update an existing user attribute key. -type UpdateUserAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` - // The list of fields to be updated. The fields available to be updated are `name` and 'description'. - UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` -} - -func (x *UpdateUserAttributeKeyRequest) Reset() { - *x = UpdateUserAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserAttributeKeyRequest) ProtoMessage() {} - -func (x *UpdateUserAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UpdateUserAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*UpdateUserAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{3} -} - -func (x *UpdateUserAttributeKeyRequest) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *UpdateUserAttributeKeyRequest) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *UpdateUserAttributeKeyRequest) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *UpdateUserAttributeKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { - if x != nil { - return x.UpdateMask - } - return nil -} - -// UpdateUserAttributeKeyResponse returns the user attribute key from a UpdateUserAttributeKey call. -type UpdateUserAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKey *UserAttributeKey `protobuf:"bytes,1,opt,name=user_attribute_key,json=userAttributeKey,proto3" json:"user_attribute_key,omitempty"` -} - -func (x *UpdateUserAttributeKeyResponse) Reset() { - *x = UpdateUserAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UpdateUserAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UpdateUserAttributeKeyResponse) ProtoMessage() {} - -func (x *UpdateUserAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UpdateUserAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*UpdateUserAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{4} -} - -func (x *UpdateUserAttributeKeyResponse) GetUserAttributeKey() *UserAttributeKey { - if x != nil { - return x.UserAttributeKey - } - return nil -} - -// GetUserAttributeKeyRequest is used to retrieve a user attribute key. -type GetUserAttributeKeyRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` -} - -func (x *GetUserAttributeKeyRequest) Reset() { - *x = GetUserAttributeKeyRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserAttributeKeyRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserAttributeKeyRequest) ProtoMessage() {} - -func (x *GetUserAttributeKeyRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 GetUserAttributeKeyRequest.ProtoReflect.Descriptor instead. -func (*GetUserAttributeKeyRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{5} -} - -func (x *GetUserAttributeKeyRequest) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -// GetUserAttributeKeyResponse returns a user attribute key from a GetUserAttributeKey call. -type GetUserAttributeKeyResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKey *UserAttributeKey `protobuf:"bytes,1,opt,name=user_attribute_key,json=userAttributeKey,proto3" json:"user_attribute_key,omitempty"` -} - -func (x *GetUserAttributeKeyResponse) Reset() { - *x = GetUserAttributeKeyResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserAttributeKeyResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserAttributeKeyResponse) ProtoMessage() {} - -func (x *GetUserAttributeKeyResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 GetUserAttributeKeyResponse.ProtoReflect.Descriptor instead. -func (*GetUserAttributeKeyResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{6} -} - -func (x *GetUserAttributeKeyResponse) GetUserAttributeKey() *UserAttributeKey { - if x != nil { - return x.UserAttributeKey - } - return nil -} - -// ListUserAttributeKeysRequest is used to list user attribute keys with the provided filter. -type ListUserAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The maximum number of user attribute keys to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute keys will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListUserAttributeKeys` call. - // Provide this to retrieve a subsequent page of user attribute keys. - // When paginating, all other parameters provided to `ListUserAttributeKeys` must match the previous call - // that provided the page token. Optional. - PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_key_id', 'name', 'value_type', 'created_by_user_id', 'created_date', 'modified_by_user_id, 'modified_date' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved user attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, 'modified_date', 'name', 'user_attribute_key_id', 'value_type', 'description' - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,modified_date" - OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - OrganizationId string `protobuf:"bytes,5,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - // If true, includes archived keys. Defaulta to false. Optional. - IncludeArchived bool `protobuf:"varint,6,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListUserAttributeKeysRequest) Reset() { - *x = ListUserAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeKeysRequest) ProtoMessage() {} - -func (x *ListUserAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*ListUserAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{7} -} - -func (x *ListUserAttributeKeysRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListUserAttributeKeysRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListUserAttributeKeysRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListUserAttributeKeysRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListUserAttributeKeysRequest) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (x *ListUserAttributeKeysRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -// ListUserAttributeKeysResponse returns the list of user attribute keys from a ListUserAttributeKeys call. -type ListUserAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeys []*UserAttributeKey `protobuf:"bytes,1,rep,name=user_attribute_keys,json=userAttributeKeys,proto3" json:"user_attribute_keys,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListUserAttributeKeysResponse) Reset() { - *x = ListUserAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeKeysResponse) ProtoMessage() {} - -func (x *ListUserAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*ListUserAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{8} -} - -func (x *ListUserAttributeKeysResponse) GetUserAttributeKeys() []*UserAttributeKey { - if x != nil { - return x.UserAttributeKeys - } - return nil -} - -func (x *ListUserAttributeKeysResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -// ArchiveUserAttributeKeysRequest is used to batch archive user attribute keys by id. -type ArchiveUserAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyIds []string `protobuf:"bytes,1,rep,name=user_attribute_key_ids,json=userAttributeKeyIds,proto3" json:"user_attribute_key_ids,omitempty"` -} - -func (x *ArchiveUserAttributeKeysRequest) Reset() { - *x = ArchiveUserAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveUserAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveUserAttributeKeysRequest) ProtoMessage() {} - -func (x *ArchiveUserAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ArchiveUserAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*ArchiveUserAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{9} -} - -func (x *ArchiveUserAttributeKeysRequest) GetUserAttributeKeyIds() []string { - if x != nil { - return x.UserAttributeKeyIds - } - return nil -} - -type ArchiveUserAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ArchiveUserAttributeKeysResponse) Reset() { - *x = ArchiveUserAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveUserAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveUserAttributeKeysResponse) ProtoMessage() {} - -func (x *ArchiveUserAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ArchiveUserAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*ArchiveUserAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{10} -} - -// UnarchiveUserAttributeKeysRequest is used to batch unarchive user attribute keys by id. -type UnarchiveUserAttributeKeysRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyIds []string `protobuf:"bytes,1,rep,name=user_attribute_key_ids,json=userAttributeKeyIds,proto3" json:"user_attribute_key_ids,omitempty"` -} - -func (x *UnarchiveUserAttributeKeysRequest) Reset() { - *x = UnarchiveUserAttributeKeysRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveUserAttributeKeysRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveUserAttributeKeysRequest) ProtoMessage() {} - -func (x *UnarchiveUserAttributeKeysRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UnarchiveUserAttributeKeysRequest.ProtoReflect.Descriptor instead. -func (*UnarchiveUserAttributeKeysRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{11} -} - -func (x *UnarchiveUserAttributeKeysRequest) GetUserAttributeKeyIds() []string { - if x != nil { - return x.UserAttributeKeyIds - } - return nil -} - -type UnarchiveUserAttributeKeysResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnarchiveUserAttributeKeysResponse) Reset() { - *x = UnarchiveUserAttributeKeysResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveUserAttributeKeysResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveUserAttributeKeysResponse) ProtoMessage() {} - -func (x *UnarchiveUserAttributeKeysResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UnarchiveUserAttributeKeysResponse.ProtoReflect.Descriptor instead. -func (*UnarchiveUserAttributeKeysResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{12} -} - -type UserAttributeValue struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValueId string `protobuf:"bytes,1,opt,name=user_attribute_value_id,json=userAttributeValueId,proto3" json:"user_attribute_value_id,omitempty"` - UserAttributeKeyId string `protobuf:"bytes,2,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - UserId string `protobuf:"bytes,3,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - OrganizationId string `protobuf:"bytes,4,opt,name=organization_id,json=organizationId,proto3" json:"organization_id,omitempty"` - // Types that are assignable to Value: - // - // *UserAttributeValue_StringValue - // *UserAttributeValue_NumberValue - // *UserAttributeValue_BooleanValue - Value isUserAttributeValue_Value `protobuf_oneof:"value"` - CreatedByUserId string `protobuf:"bytes,8,opt,name=created_by_user_id,json=createdByUserId,proto3" json:"created_by_user_id,omitempty"` - CreatedDate *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_date,json=createdDate,proto3" json:"created_date,omitempty"` - ArchivedDate *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=archived_date,json=archivedDate,proto3" json:"archived_date,omitempty"` - // Whether or not the user attribute value is archived. This is inferred from whether archived_date is set. - IsArchived bool `protobuf:"varint,11,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` - // The full user attribute key is populated in the response. - Key *UserAttributeKey `protobuf:"bytes,12,opt,name=key,proto3" json:"key,omitempty"` -} - -func (x *UserAttributeValue) Reset() { - *x = UserAttributeValue{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UserAttributeValue) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UserAttributeValue) ProtoMessage() {} - -func (x *UserAttributeValue) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UserAttributeValue.ProtoReflect.Descriptor instead. -func (*UserAttributeValue) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{13} -} - -func (x *UserAttributeValue) GetUserAttributeValueId() string { - if x != nil { - return x.UserAttributeValueId - } - return "" -} - -func (x *UserAttributeValue) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *UserAttributeValue) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (x *UserAttributeValue) GetOrganizationId() string { - if x != nil { - return x.OrganizationId - } - return "" -} - -func (m *UserAttributeValue) GetValue() isUserAttributeValue_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *UserAttributeValue) GetStringValue() string { - if x, ok := x.GetValue().(*UserAttributeValue_StringValue); ok { - return x.StringValue - } - return "" -} - -func (x *UserAttributeValue) GetNumberValue() float64 { - if x, ok := x.GetValue().(*UserAttributeValue_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -func (x *UserAttributeValue) GetBooleanValue() bool { - if x, ok := x.GetValue().(*UserAttributeValue_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -func (x *UserAttributeValue) GetCreatedByUserId() string { - if x != nil { - return x.CreatedByUserId - } - return "" -} - -func (x *UserAttributeValue) GetCreatedDate() *timestamppb.Timestamp { - if x != nil { - return x.CreatedDate - } - return nil -} - -func (x *UserAttributeValue) GetArchivedDate() *timestamppb.Timestamp { - if x != nil { - return x.ArchivedDate - } - return nil -} - -func (x *UserAttributeValue) GetIsArchived() bool { - if x != nil { - return x.IsArchived - } - return false -} - -func (x *UserAttributeValue) GetKey() *UserAttributeKey { - if x != nil { - return x.Key - } - return nil -} - -type isUserAttributeValue_Value interface { - isUserAttributeValue_Value() -} - -type UserAttributeValue_StringValue struct { - StringValue string `protobuf:"bytes,5,opt,name=string_value,json=stringValue,proto3,oneof"` -} - -type UserAttributeValue_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,6,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -type UserAttributeValue_BooleanValue struct { - BooleanValue bool `protobuf:"varint,7,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -func (*UserAttributeValue_StringValue) isUserAttributeValue_Value() {} - -func (*UserAttributeValue_NumberValue) isUserAttributeValue_Value() {} - -func (*UserAttributeValue_BooleanValue) isUserAttributeValue_Value() {} - -// CreateUserAttributeValueRequest is used to create a new user attribute value. -type CreateUserAttributeValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"` - // Types that are assignable to Value: - // - // *CreateUserAttributeValueRequest_StringValue - // *CreateUserAttributeValueRequest_NumberValue - // *CreateUserAttributeValueRequest_BooleanValue - Value isCreateUserAttributeValueRequest_Value `protobuf_oneof:"value"` -} - -func (x *CreateUserAttributeValueRequest) Reset() { - *x = CreateUserAttributeValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserAttributeValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserAttributeValueRequest) ProtoMessage() {} - -func (x *CreateUserAttributeValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 CreateUserAttributeValueRequest.ProtoReflect.Descriptor instead. -func (*CreateUserAttributeValueRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{14} -} - -func (x *CreateUserAttributeValueRequest) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *CreateUserAttributeValueRequest) GetUserId() string { - if x != nil { - return x.UserId - } - return "" -} - -func (m *CreateUserAttributeValueRequest) GetValue() isCreateUserAttributeValueRequest_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *CreateUserAttributeValueRequest) GetStringValue() string { - if x, ok := x.GetValue().(*CreateUserAttributeValueRequest_StringValue); ok { - return x.StringValue - } - return "" -} - -func (x *CreateUserAttributeValueRequest) GetNumberValue() float64 { - if x, ok := x.GetValue().(*CreateUserAttributeValueRequest_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -func (x *CreateUserAttributeValueRequest) GetBooleanValue() bool { - if x, ok := x.GetValue().(*CreateUserAttributeValueRequest_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -type isCreateUserAttributeValueRequest_Value interface { - isCreateUserAttributeValueRequest_Value() -} - -type CreateUserAttributeValueRequest_StringValue struct { - StringValue string `protobuf:"bytes,4,opt,name=string_value,json=stringValue,proto3,oneof"` -} - -type CreateUserAttributeValueRequest_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,5,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -type CreateUserAttributeValueRequest_BooleanValue struct { - BooleanValue bool `protobuf:"varint,6,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -func (*CreateUserAttributeValueRequest_StringValue) isCreateUserAttributeValueRequest_Value() {} - -func (*CreateUserAttributeValueRequest_NumberValue) isCreateUserAttributeValueRequest_Value() {} - -func (*CreateUserAttributeValueRequest_BooleanValue) isCreateUserAttributeValueRequest_Value() {} - -// CreateUserAttributeValueResponse returns the user attribute value from a CreateUserAttributeValue call. -type CreateUserAttributeValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValue *UserAttributeValue `protobuf:"bytes,1,opt,name=user_attribute_value,json=userAttributeValue,proto3" json:"user_attribute_value,omitempty"` -} - -func (x *CreateUserAttributeValueResponse) Reset() { - *x = CreateUserAttributeValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CreateUserAttributeValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CreateUserAttributeValueResponse) ProtoMessage() {} - -func (x *CreateUserAttributeValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 CreateUserAttributeValueResponse.ProtoReflect.Descriptor instead. -func (*CreateUserAttributeValueResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{15} -} - -func (x *CreateUserAttributeValueResponse) GetUserAttributeValue() *UserAttributeValue { - if x != nil { - return x.UserAttributeValue - } - return nil -} - -// BatchCreateUserAttributeValueRequest is used to batch create new user attribute values. -type BatchCreateUserAttributeValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - UserIds []string `protobuf:"bytes,2,rep,name=user_ids,json=userIds,proto3" json:"user_ids,omitempty"` - // Types that are assignable to Value: - // - // *BatchCreateUserAttributeValueRequest_StringValue - // *BatchCreateUserAttributeValueRequest_NumberValue - // *BatchCreateUserAttributeValueRequest_BooleanValue - Value isBatchCreateUserAttributeValueRequest_Value `protobuf_oneof:"value"` -} - -func (x *BatchCreateUserAttributeValueRequest) Reset() { - *x = BatchCreateUserAttributeValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchCreateUserAttributeValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchCreateUserAttributeValueRequest) ProtoMessage() {} - -func (x *BatchCreateUserAttributeValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 BatchCreateUserAttributeValueRequest.ProtoReflect.Descriptor instead. -func (*BatchCreateUserAttributeValueRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{16} -} - -func (x *BatchCreateUserAttributeValueRequest) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *BatchCreateUserAttributeValueRequest) GetUserIds() []string { - if x != nil { - return x.UserIds - } - return nil -} - -func (m *BatchCreateUserAttributeValueRequest) GetValue() isBatchCreateUserAttributeValueRequest_Value { - if m != nil { - return m.Value - } - return nil -} - -func (x *BatchCreateUserAttributeValueRequest) GetStringValue() string { - if x, ok := x.GetValue().(*BatchCreateUserAttributeValueRequest_StringValue); ok { - return x.StringValue - } - return "" -} - -func (x *BatchCreateUserAttributeValueRequest) GetNumberValue() float64 { - if x, ok := x.GetValue().(*BatchCreateUserAttributeValueRequest_NumberValue); ok { - return x.NumberValue - } - return 0 -} - -func (x *BatchCreateUserAttributeValueRequest) GetBooleanValue() bool { - if x, ok := x.GetValue().(*BatchCreateUserAttributeValueRequest_BooleanValue); ok { - return x.BooleanValue - } - return false -} - -type isBatchCreateUserAttributeValueRequest_Value interface { - isBatchCreateUserAttributeValueRequest_Value() -} - -type BatchCreateUserAttributeValueRequest_StringValue struct { - StringValue string `protobuf:"bytes,3,opt,name=string_value,json=stringValue,proto3,oneof"` -} - -type BatchCreateUserAttributeValueRequest_NumberValue struct { - NumberValue float64 `protobuf:"fixed64,4,opt,name=number_value,json=numberValue,proto3,oneof"` -} - -type BatchCreateUserAttributeValueRequest_BooleanValue struct { - BooleanValue bool `protobuf:"varint,5,opt,name=boolean_value,json=booleanValue,proto3,oneof"` -} - -func (*BatchCreateUserAttributeValueRequest_StringValue) isBatchCreateUserAttributeValueRequest_Value() { -} - -func (*BatchCreateUserAttributeValueRequest_NumberValue) isBatchCreateUserAttributeValueRequest_Value() { -} - -func (*BatchCreateUserAttributeValueRequest_BooleanValue) isBatchCreateUserAttributeValueRequest_Value() { -} - -// BatchCreateUserAttributeValueResponse returns the user attribute value from a BatchCreateUserAttributeValue call. -type BatchCreateUserAttributeValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValues []*UserAttributeValue `protobuf:"bytes,1,rep,name=user_attribute_values,json=userAttributeValues,proto3" json:"user_attribute_values,omitempty"` -} - -func (x *BatchCreateUserAttributeValueResponse) Reset() { - *x = BatchCreateUserAttributeValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BatchCreateUserAttributeValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BatchCreateUserAttributeValueResponse) ProtoMessage() {} - -func (x *BatchCreateUserAttributeValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 BatchCreateUserAttributeValueResponse.ProtoReflect.Descriptor instead. -func (*BatchCreateUserAttributeValueResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{17} -} - -func (x *BatchCreateUserAttributeValueResponse) GetUserAttributeValues() []*UserAttributeValue { - if x != nil { - return x.UserAttributeValues - } - return nil -} - -// ListUserAttributeKeyValues is used to list user attribute values for a given user attribute key with the provided filter. -type ListUserAttributeKeyValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The id of the user attribute key to list values for. - UserAttributeKeyId string `protobuf:"bytes,1,opt,name=user_attribute_key_id,json=userAttributeKeyId,proto3" json:"user_attribute_key_id,omitempty"` - // The maximum number of user attribute values to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - PageSize uint32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListUserAttributeKeyValues` call. - // Provide this to retrieve a subsequent page of user attribute values. - // When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - // that provided the page token. Optional. - PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id' and 'user_id' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - Filter string `protobuf:"bytes,4,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc" - OrderBy string `protobuf:"bytes,5,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` - // If true, include archived values. Defaults to false. Optional. - IncludeArchived bool `protobuf:"varint,6,opt,name=include_archived,json=includeArchived,proto3" json:"include_archived,omitempty"` -} - -func (x *ListUserAttributeKeyValuesRequest) Reset() { - *x = ListUserAttributeKeyValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeKeyValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeKeyValuesRequest) ProtoMessage() {} - -func (x *ListUserAttributeKeyValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeKeyValuesRequest.ProtoReflect.Descriptor instead. -func (*ListUserAttributeKeyValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{18} -} - -func (x *ListUserAttributeKeyValuesRequest) GetUserAttributeKeyId() string { - if x != nil { - return x.UserAttributeKeyId - } - return "" -} - -func (x *ListUserAttributeKeyValuesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListUserAttributeKeyValuesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListUserAttributeKeyValuesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListUserAttributeKeyValuesRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -func (x *ListUserAttributeKeyValuesRequest) GetIncludeArchived() bool { - if x != nil { - return x.IncludeArchived - } - return false -} - -// ListUserAttributeKeyValuesResponse returns the list of user attribute values from a ListUserAttributeKeyValues call. -type ListUserAttributeKeyValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValues []*UserAttributeValue `protobuf:"bytes,1,rep,name=user_attribute_values,json=userAttributeValues,proto3" json:"user_attribute_values,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListUserAttributeKeyValuesResponse) Reset() { - *x = ListUserAttributeKeyValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeKeyValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeKeyValuesResponse) ProtoMessage() {} - -func (x *ListUserAttributeKeyValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeKeyValuesResponse.ProtoReflect.Descriptor instead. -func (*ListUserAttributeKeyValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{19} -} - -func (x *ListUserAttributeKeyValuesResponse) GetUserAttributeValues() []*UserAttributeValue { - if x != nil { - return x.UserAttributeValues - } - return nil -} - -func (x *ListUserAttributeKeyValuesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -type ListUserAttributeValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // The maximum number of user attribute values to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - PageSize uint32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` - // A page token, received from a previous `ListUserAttributeValues` call. - // Provide this to retrieve a subsequent page of user attribute values. - // When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - // that provided the page token. Optional. - PageToken string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"` - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id', 'archived_date' and 'user_id' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty"` - // How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc" - OrderBy string `protobuf:"bytes,4,opt,name=order_by,json=orderBy,proto3" json:"order_by,omitempty"` -} - -func (x *ListUserAttributeValuesRequest) Reset() { - *x = ListUserAttributeValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeValuesRequest) ProtoMessage() {} - -func (x *ListUserAttributeValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeValuesRequest.ProtoReflect.Descriptor instead. -func (*ListUserAttributeValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{20} -} - -func (x *ListUserAttributeValuesRequest) GetPageSize() uint32 { - if x != nil { - return x.PageSize - } - return 0 -} - -func (x *ListUserAttributeValuesRequest) GetPageToken() string { - if x != nil { - return x.PageToken - } - return "" -} - -func (x *ListUserAttributeValuesRequest) GetFilter() string { - if x != nil { - return x.Filter - } - return "" -} - -func (x *ListUserAttributeValuesRequest) GetOrderBy() string { - if x != nil { - return x.OrderBy - } - return "" -} - -type ListUserAttributeValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValues []*UserAttributeValue `protobuf:"bytes,1,rep,name=user_attribute_values,json=userAttributeValues,proto3" json:"user_attribute_values,omitempty"` - NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` -} - -func (x *ListUserAttributeValuesResponse) Reset() { - *x = ListUserAttributeValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ListUserAttributeValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ListUserAttributeValuesResponse) ProtoMessage() {} - -func (x *ListUserAttributeValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ListUserAttributeValuesResponse.ProtoReflect.Descriptor instead. -func (*ListUserAttributeValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{21} -} - -func (x *ListUserAttributeValuesResponse) GetUserAttributeValues() []*UserAttributeValue { - if x != nil { - return x.UserAttributeValues - } - return nil -} - -func (x *ListUserAttributeValuesResponse) GetNextPageToken() string { - if x != nil { - return x.NextPageToken - } - return "" -} - -// GetUserAttributeValueRequest is used to retrieve a user attribute value. -type GetUserAttributeValueRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValueId string `protobuf:"bytes,1,opt,name=user_attribute_value_id,json=userAttributeValueId,proto3" json:"user_attribute_value_id,omitempty"` -} - -func (x *GetUserAttributeValueRequest) Reset() { - *x = GetUserAttributeValueRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserAttributeValueRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserAttributeValueRequest) ProtoMessage() {} - -func (x *GetUserAttributeValueRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 GetUserAttributeValueRequest.ProtoReflect.Descriptor instead. -func (*GetUserAttributeValueRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{22} -} - -func (x *GetUserAttributeValueRequest) GetUserAttributeValueId() string { - if x != nil { - return x.UserAttributeValueId - } - return "" -} - -// GetUserAttributeValueResponse returns a user attribute value from a GetUserAttributeValue call. -type GetUserAttributeValueResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValue *UserAttributeValue `protobuf:"bytes,1,opt,name=user_attribute_value,json=userAttributeValue,proto3" json:"user_attribute_value,omitempty"` -} - -func (x *GetUserAttributeValueResponse) Reset() { - *x = GetUserAttributeValueResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GetUserAttributeValueResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GetUserAttributeValueResponse) ProtoMessage() {} - -func (x *GetUserAttributeValueResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 GetUserAttributeValueResponse.ProtoReflect.Descriptor instead. -func (*GetUserAttributeValueResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{23} -} - -func (x *GetUserAttributeValueResponse) GetUserAttributeValue() *UserAttributeValue { - if x != nil { - return x.UserAttributeValue - } - return nil -} - -// ArchiveUserAttributeValuesRequest is used to batch archive user attribute values by id. -type ArchiveUserAttributeValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValueIds []string `protobuf:"bytes,1,rep,name=user_attribute_value_ids,json=userAttributeValueIds,proto3" json:"user_attribute_value_ids,omitempty"` -} - -func (x *ArchiveUserAttributeValuesRequest) Reset() { - *x = ArchiveUserAttributeValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveUserAttributeValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveUserAttributeValuesRequest) ProtoMessage() {} - -func (x *ArchiveUserAttributeValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 ArchiveUserAttributeValuesRequest.ProtoReflect.Descriptor instead. -func (*ArchiveUserAttributeValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{24} -} - -func (x *ArchiveUserAttributeValuesRequest) GetUserAttributeValueIds() []string { - if x != nil { - return x.UserAttributeValueIds - } - return nil -} - -type ArchiveUserAttributeValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *ArchiveUserAttributeValuesResponse) Reset() { - *x = ArchiveUserAttributeValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArchiveUserAttributeValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArchiveUserAttributeValuesResponse) ProtoMessage() {} - -func (x *ArchiveUserAttributeValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[25] - 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 ArchiveUserAttributeValuesResponse.ProtoReflect.Descriptor instead. -func (*ArchiveUserAttributeValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{25} -} - -// UnarchiveUserAttributeValuesRequest is used to batch unarchive user attribute values by id. -type UnarchiveUserAttributeValuesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserAttributeValueIds []string `protobuf:"bytes,1,rep,name=user_attribute_value_ids,json=userAttributeValueIds,proto3" json:"user_attribute_value_ids,omitempty"` -} - -func (x *UnarchiveUserAttributeValuesRequest) Reset() { - *x = UnarchiveUserAttributeValuesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[26] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveUserAttributeValuesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveUserAttributeValuesRequest) ProtoMessage() {} - -func (x *UnarchiveUserAttributeValuesRequest) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UnarchiveUserAttributeValuesRequest.ProtoReflect.Descriptor instead. -func (*UnarchiveUserAttributeValuesRequest) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{26} -} - -func (x *UnarchiveUserAttributeValuesRequest) GetUserAttributeValueIds() []string { - if x != nil { - return x.UserAttributeValueIds - } - return nil -} - -type UnarchiveUserAttributeValuesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *UnarchiveUserAttributeValuesResponse) Reset() { - *x = UnarchiveUserAttributeValuesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_sift_user_attributes_v1_user_attributes_proto_msgTypes[27] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *UnarchiveUserAttributeValuesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*UnarchiveUserAttributeValuesResponse) ProtoMessage() {} - -func (x *UnarchiveUserAttributeValuesResponse) ProtoReflect() protoreflect.Message { - mi := &file_sift_user_attributes_v1_user_attributes_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 UnarchiveUserAttributeValuesResponse.ProtoReflect.Descriptor instead. -func (*UnarchiveUserAttributeValuesResponse) Descriptor() ([]byte, []int) { - return file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP(), []int{27} -} - -var File_sift_user_attributes_v1_user_attributes_proto protoreflect.FileDescriptor - -var file_sift_user_attributes_v1_user_attributes_proto_rawDesc = []byte{ - 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x17, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, - 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x04, 0x0a, 0x10, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, 0x0a, 0x15, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x3a, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 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, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x73, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa9, 0x01, 0x0a, 0x1d, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x7e, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7e, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x5c, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x22, 0xff, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x5b, 0x0a, 0x1f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, 0x22, 0x0a, 0x20, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x5d, 0x0a, 0x21, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, - 0x24, 0x0a, 0x22, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x05, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x42, 0x0a, 0x17, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, - 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, - 0x12, 0x24, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x06, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 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, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, - 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x69, 0x73, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0c, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x75, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x8b, 0x02, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x08, 0x92, 0x01, 0x05, 0x08, 0x01, 0x10, 0x88, 0x27, 0x52, 0x07, 0x75, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, - 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x8d, 0x01, - 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x8e, 0x02, - 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, - 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, - 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xb2, - 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xaf, 0x01, 0x0a, 0x1f, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, - 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, - 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x1c, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x17, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x75, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, - 0x83, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x62, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x61, 0x0a, 0x21, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x22, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x63, - 0x0a, 0x23, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x75, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x49, 0x64, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xe3, 0x01, 0x0a, 0x16, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, - 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, - 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, - 0x00, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, - 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, - 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x55, 0x53, 0x45, 0x52, 0x5f, - 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x24, - 0x0a, 0x20, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, - 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, - 0x04, 0x32, 0xd1, 0x1b, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xea, 0x01, 0x0a, 0x16, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x36, 0x12, 0x16, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, - 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0xf6, 0x01, 0x0a, 0x13, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x92, 0x41, 0x36, - 0x12, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x1f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x35, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x33, 0x12, - 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x82, 0x01, 0x92, 0x41, 0x41, 0x12, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x1a, - 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x38, 0x3a, 0x01, - 0x2a, 0x32, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x12, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x92, 0x41, 0x38, 0x12, 0x18, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x1c, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x92, 0x41, 0x3c, - 0x12, 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x1e, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, - 0x79, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf6, 0x01, 0x0a, - 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, - 0x92, 0x41, 0x3a, 0x12, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x1e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xbb, 0x02, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, 0x41, 0x69, 0x12, 0x1d, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x48, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x12, 0x84, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x92, 0x41, - 0x3a, 0x12, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x21, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x39, 0x12, 0x37, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc5, 0x02, 0x0a, 0x1a, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xad, 0x01, 0x92, 0x41, 0x59, 0x12, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x3b, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x5f, 0x92, 0x41, 0x37, 0x12, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, - 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, - 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x86, 0x02, 0x0a, 0x1a, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, 0x92, 0x41, 0x3c, 0x12, - 0x1a, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x1e, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x92, 0x02, 0x0a, 0x1c, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3c, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x92, 0x41, 0x40, 0x12, 0x1c, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x20, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x1a, 0x43, 0x92, 0x41, 0x40, 0x12, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x28, 0x70, - 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x29, 0x2e, 0x42, 0x97, 0x02, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2d, 0x73, 0x74, - 0x61, 0x63, 0x6b, 0x2f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x67, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x73, 0x69, 0x66, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x53, 0x55, 0x58, 0xaa, - 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x5c, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5c, 0x56, - 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3a, 0x3a, 0x56, - 0x31, 0x92, 0x41, 0x1b, 0x12, 0x19, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_sift_user_attributes_v1_user_attributes_proto_rawDescOnce sync.Once - file_sift_user_attributes_v1_user_attributes_proto_rawDescData = file_sift_user_attributes_v1_user_attributes_proto_rawDesc -) - -func file_sift_user_attributes_v1_user_attributes_proto_rawDescGZIP() []byte { - file_sift_user_attributes_v1_user_attributes_proto_rawDescOnce.Do(func() { - file_sift_user_attributes_v1_user_attributes_proto_rawDescData = protoimpl.X.CompressGZIP(file_sift_user_attributes_v1_user_attributes_proto_rawDescData) - }) - return file_sift_user_attributes_v1_user_attributes_proto_rawDescData -} - -var file_sift_user_attributes_v1_user_attributes_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_sift_user_attributes_v1_user_attributes_proto_msgTypes = make([]protoimpl.MessageInfo, 28) -var file_sift_user_attributes_v1_user_attributes_proto_goTypes = []interface{}{ - (UserAttributeValueType)(0), // 0: sift.user_attributes.v1.UserAttributeValueType - (*UserAttributeKey)(nil), // 1: sift.user_attributes.v1.UserAttributeKey - (*CreateUserAttributeKeyRequest)(nil), // 2: sift.user_attributes.v1.CreateUserAttributeKeyRequest - (*CreateUserAttributeKeyResponse)(nil), // 3: sift.user_attributes.v1.CreateUserAttributeKeyResponse - (*UpdateUserAttributeKeyRequest)(nil), // 4: sift.user_attributes.v1.UpdateUserAttributeKeyRequest - (*UpdateUserAttributeKeyResponse)(nil), // 5: sift.user_attributes.v1.UpdateUserAttributeKeyResponse - (*GetUserAttributeKeyRequest)(nil), // 6: sift.user_attributes.v1.GetUserAttributeKeyRequest - (*GetUserAttributeKeyResponse)(nil), // 7: sift.user_attributes.v1.GetUserAttributeKeyResponse - (*ListUserAttributeKeysRequest)(nil), // 8: sift.user_attributes.v1.ListUserAttributeKeysRequest - (*ListUserAttributeKeysResponse)(nil), // 9: sift.user_attributes.v1.ListUserAttributeKeysResponse - (*ArchiveUserAttributeKeysRequest)(nil), // 10: sift.user_attributes.v1.ArchiveUserAttributeKeysRequest - (*ArchiveUserAttributeKeysResponse)(nil), // 11: sift.user_attributes.v1.ArchiveUserAttributeKeysResponse - (*UnarchiveUserAttributeKeysRequest)(nil), // 12: sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest - (*UnarchiveUserAttributeKeysResponse)(nil), // 13: sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse - (*UserAttributeValue)(nil), // 14: sift.user_attributes.v1.UserAttributeValue - (*CreateUserAttributeValueRequest)(nil), // 15: sift.user_attributes.v1.CreateUserAttributeValueRequest - (*CreateUserAttributeValueResponse)(nil), // 16: sift.user_attributes.v1.CreateUserAttributeValueResponse - (*BatchCreateUserAttributeValueRequest)(nil), // 17: sift.user_attributes.v1.BatchCreateUserAttributeValueRequest - (*BatchCreateUserAttributeValueResponse)(nil), // 18: sift.user_attributes.v1.BatchCreateUserAttributeValueResponse - (*ListUserAttributeKeyValuesRequest)(nil), // 19: sift.user_attributes.v1.ListUserAttributeKeyValuesRequest - (*ListUserAttributeKeyValuesResponse)(nil), // 20: sift.user_attributes.v1.ListUserAttributeKeyValuesResponse - (*ListUserAttributeValuesRequest)(nil), // 21: sift.user_attributes.v1.ListUserAttributeValuesRequest - (*ListUserAttributeValuesResponse)(nil), // 22: sift.user_attributes.v1.ListUserAttributeValuesResponse - (*GetUserAttributeValueRequest)(nil), // 23: sift.user_attributes.v1.GetUserAttributeValueRequest - (*GetUserAttributeValueResponse)(nil), // 24: sift.user_attributes.v1.GetUserAttributeValueResponse - (*ArchiveUserAttributeValuesRequest)(nil), // 25: sift.user_attributes.v1.ArchiveUserAttributeValuesRequest - (*ArchiveUserAttributeValuesResponse)(nil), // 26: sift.user_attributes.v1.ArchiveUserAttributeValuesResponse - (*UnarchiveUserAttributeValuesRequest)(nil), // 27: sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest - (*UnarchiveUserAttributeValuesResponse)(nil), // 28: sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse - (*timestamppb.Timestamp)(nil), // 29: google.protobuf.Timestamp - (*fieldmaskpb.FieldMask)(nil), // 30: google.protobuf.FieldMask -} -var file_sift_user_attributes_v1_user_attributes_proto_depIdxs = []int32{ - 0, // 0: sift.user_attributes.v1.UserAttributeKey.type:type_name -> sift.user_attributes.v1.UserAttributeValueType - 29, // 1: sift.user_attributes.v1.UserAttributeKey.created_date:type_name -> google.protobuf.Timestamp - 29, // 2: sift.user_attributes.v1.UserAttributeKey.modified_date:type_name -> google.protobuf.Timestamp - 29, // 3: sift.user_attributes.v1.UserAttributeKey.archived_date:type_name -> google.protobuf.Timestamp - 0, // 4: sift.user_attributes.v1.CreateUserAttributeKeyRequest.type:type_name -> sift.user_attributes.v1.UserAttributeValueType - 1, // 5: sift.user_attributes.v1.CreateUserAttributeKeyResponse.user_attribute_key:type_name -> sift.user_attributes.v1.UserAttributeKey - 30, // 6: sift.user_attributes.v1.UpdateUserAttributeKeyRequest.update_mask:type_name -> google.protobuf.FieldMask - 1, // 7: sift.user_attributes.v1.UpdateUserAttributeKeyResponse.user_attribute_key:type_name -> sift.user_attributes.v1.UserAttributeKey - 1, // 8: sift.user_attributes.v1.GetUserAttributeKeyResponse.user_attribute_key:type_name -> sift.user_attributes.v1.UserAttributeKey - 1, // 9: sift.user_attributes.v1.ListUserAttributeKeysResponse.user_attribute_keys:type_name -> sift.user_attributes.v1.UserAttributeKey - 29, // 10: sift.user_attributes.v1.UserAttributeValue.created_date:type_name -> google.protobuf.Timestamp - 29, // 11: sift.user_attributes.v1.UserAttributeValue.archived_date:type_name -> google.protobuf.Timestamp - 1, // 12: sift.user_attributes.v1.UserAttributeValue.key:type_name -> sift.user_attributes.v1.UserAttributeKey - 14, // 13: sift.user_attributes.v1.CreateUserAttributeValueResponse.user_attribute_value:type_name -> sift.user_attributes.v1.UserAttributeValue - 14, // 14: sift.user_attributes.v1.BatchCreateUserAttributeValueResponse.user_attribute_values:type_name -> sift.user_attributes.v1.UserAttributeValue - 14, // 15: sift.user_attributes.v1.ListUserAttributeKeyValuesResponse.user_attribute_values:type_name -> sift.user_attributes.v1.UserAttributeValue - 14, // 16: sift.user_attributes.v1.ListUserAttributeValuesResponse.user_attribute_values:type_name -> sift.user_attributes.v1.UserAttributeValue - 14, // 17: sift.user_attributes.v1.GetUserAttributeValueResponse.user_attribute_value:type_name -> sift.user_attributes.v1.UserAttributeValue - 2, // 18: sift.user_attributes.v1.UserAttributesService.CreateUserAttributeKey:input_type -> sift.user_attributes.v1.CreateUserAttributeKeyRequest - 6, // 19: sift.user_attributes.v1.UserAttributesService.GetUserAttributeKey:input_type -> sift.user_attributes.v1.GetUserAttributeKeyRequest - 8, // 20: sift.user_attributes.v1.UserAttributesService.ListUserAttributeKeys:input_type -> sift.user_attributes.v1.ListUserAttributeKeysRequest - 4, // 21: sift.user_attributes.v1.UserAttributesService.UpdateUserAttributeKey:input_type -> sift.user_attributes.v1.UpdateUserAttributeKeyRequest - 10, // 22: sift.user_attributes.v1.UserAttributesService.ArchiveUserAttributeKeys:input_type -> sift.user_attributes.v1.ArchiveUserAttributeKeysRequest - 12, // 23: sift.user_attributes.v1.UserAttributesService.UnarchiveUserAttributeKeys:input_type -> sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest - 15, // 24: sift.user_attributes.v1.UserAttributesService.CreateUserAttributeValue:input_type -> sift.user_attributes.v1.CreateUserAttributeValueRequest - 17, // 25: sift.user_attributes.v1.UserAttributesService.BatchCreateUserAttributeValue:input_type -> sift.user_attributes.v1.BatchCreateUserAttributeValueRequest - 23, // 26: sift.user_attributes.v1.UserAttributesService.GetUserAttributeValue:input_type -> sift.user_attributes.v1.GetUserAttributeValueRequest - 19, // 27: sift.user_attributes.v1.UserAttributesService.ListUserAttributeKeyValues:input_type -> sift.user_attributes.v1.ListUserAttributeKeyValuesRequest - 21, // 28: sift.user_attributes.v1.UserAttributesService.ListUserAttributeValues:input_type -> sift.user_attributes.v1.ListUserAttributeValuesRequest - 25, // 29: sift.user_attributes.v1.UserAttributesService.ArchiveUserAttributeValues:input_type -> sift.user_attributes.v1.ArchiveUserAttributeValuesRequest - 27, // 30: sift.user_attributes.v1.UserAttributesService.UnarchiveUserAttributeValues:input_type -> sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest - 3, // 31: sift.user_attributes.v1.UserAttributesService.CreateUserAttributeKey:output_type -> sift.user_attributes.v1.CreateUserAttributeKeyResponse - 7, // 32: sift.user_attributes.v1.UserAttributesService.GetUserAttributeKey:output_type -> sift.user_attributes.v1.GetUserAttributeKeyResponse - 9, // 33: sift.user_attributes.v1.UserAttributesService.ListUserAttributeKeys:output_type -> sift.user_attributes.v1.ListUserAttributeKeysResponse - 5, // 34: sift.user_attributes.v1.UserAttributesService.UpdateUserAttributeKey:output_type -> sift.user_attributes.v1.UpdateUserAttributeKeyResponse - 11, // 35: sift.user_attributes.v1.UserAttributesService.ArchiveUserAttributeKeys:output_type -> sift.user_attributes.v1.ArchiveUserAttributeKeysResponse - 13, // 36: sift.user_attributes.v1.UserAttributesService.UnarchiveUserAttributeKeys:output_type -> sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse - 16, // 37: sift.user_attributes.v1.UserAttributesService.CreateUserAttributeValue:output_type -> sift.user_attributes.v1.CreateUserAttributeValueResponse - 18, // 38: sift.user_attributes.v1.UserAttributesService.BatchCreateUserAttributeValue:output_type -> sift.user_attributes.v1.BatchCreateUserAttributeValueResponse - 24, // 39: sift.user_attributes.v1.UserAttributesService.GetUserAttributeValue:output_type -> sift.user_attributes.v1.GetUserAttributeValueResponse - 20, // 40: sift.user_attributes.v1.UserAttributesService.ListUserAttributeKeyValues:output_type -> sift.user_attributes.v1.ListUserAttributeKeyValuesResponse - 22, // 41: sift.user_attributes.v1.UserAttributesService.ListUserAttributeValues:output_type -> sift.user_attributes.v1.ListUserAttributeValuesResponse - 26, // 42: sift.user_attributes.v1.UserAttributesService.ArchiveUserAttributeValues:output_type -> sift.user_attributes.v1.ArchiveUserAttributeValuesResponse - 28, // 43: sift.user_attributes.v1.UserAttributesService.UnarchiveUserAttributeValues:output_type -> sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse - 31, // [31:44] is the sub-list for method output_type - 18, // [18:31] is the sub-list for method input_type - 18, // [18:18] is the sub-list for extension type_name - 18, // [18:18] is the sub-list for extension extendee - 0, // [0:18] is the sub-list for field type_name -} - -func init() { file_sift_user_attributes_v1_user_attributes_proto_init() } -func file_sift_user_attributes_v1_user_attributes_proto_init() { - if File_sift_user_attributes_v1_user_attributes_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAttributeKey); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UpdateUserAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserAttributeKeyRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserAttributeKeyResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveUserAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveUserAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveUserAttributeKeysRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveUserAttributeKeysResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UserAttributeValue); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserAttributeValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CreateUserAttributeValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchCreateUserAttributeValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BatchCreateUserAttributeValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeKeyValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeKeyValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ListUserAttributeValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserAttributeValueRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GetUserAttributeValueResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveUserAttributeValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArchiveUserAttributeValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveUserAttributeValuesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*UnarchiveUserAttributeValuesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[13].OneofWrappers = []interface{}{ - (*UserAttributeValue_StringValue)(nil), - (*UserAttributeValue_NumberValue)(nil), - (*UserAttributeValue_BooleanValue)(nil), - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[14].OneofWrappers = []interface{}{ - (*CreateUserAttributeValueRequest_StringValue)(nil), - (*CreateUserAttributeValueRequest_NumberValue)(nil), - (*CreateUserAttributeValueRequest_BooleanValue)(nil), - } - file_sift_user_attributes_v1_user_attributes_proto_msgTypes[16].OneofWrappers = []interface{}{ - (*BatchCreateUserAttributeValueRequest_StringValue)(nil), - (*BatchCreateUserAttributeValueRequest_NumberValue)(nil), - (*BatchCreateUserAttributeValueRequest_BooleanValue)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_sift_user_attributes_v1_user_attributes_proto_rawDesc, - NumEnums: 1, - NumMessages: 28, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_sift_user_attributes_v1_user_attributes_proto_goTypes, - DependencyIndexes: file_sift_user_attributes_v1_user_attributes_proto_depIdxs, - EnumInfos: file_sift_user_attributes_v1_user_attributes_proto_enumTypes, - MessageInfos: file_sift_user_attributes_v1_user_attributes_proto_msgTypes, - }.Build() - File_sift_user_attributes_v1_user_attributes_proto = out.File - file_sift_user_attributes_v1_user_attributes_proto_rawDesc = nil - file_sift_user_attributes_v1_user_attributes_proto_goTypes = nil - file_sift_user_attributes_v1_user_attributes_proto_depIdxs = nil -} diff --git a/go/gen/sift/user_attributes/v1/user_attributes.pb.gw.go b/go/gen/sift/user_attributes/v1/user_attributes.pb.gw.go deleted file mode 100644 index 194886217..000000000 --- a/go/gen/sift/user_attributes/v1/user_attributes.pb.gw.go +++ /dev/null @@ -1,1301 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: sift/user_attributes/v1/user_attributes.proto - -/* -Package user_attributesv1 is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package user_attributesv1 - -import ( - "context" - "io" - "net/http" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_UserAttributesService_CreateUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateUserAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_CreateUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateUserAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_GetUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - msg, err := client.GetUserAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_GetUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - msg, err := server.GetUserAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_UserAttributesService_ListUserAttributeKeys_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_UserAttributesService_ListUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeKeys_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListUserAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_ListUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeKeys_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListUserAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_UpdateUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - msg, err := client.UpdateUserAttributeKey(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_UpdateUserAttributeKey_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UpdateUserAttributeKeyRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - msg, err := server.UpdateUserAttributeKey(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_ArchiveUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ArchiveUserAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_ArchiveUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ArchiveUserAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_UnarchiveUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UnarchiveUserAttributeKeys(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_UnarchiveUserAttributeKeys_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveUserAttributeKeysRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UnarchiveUserAttributeKeys(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_CreateUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateUserAttributeValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.CreateUserAttributeValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_CreateUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq CreateUserAttributeValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.CreateUserAttributeValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_BatchCreateUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchCreateUserAttributeValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.BatchCreateUserAttributeValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_BatchCreateUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq BatchCreateUserAttributeValueRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.BatchCreateUserAttributeValue(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_GetUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUserAttributeValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_value_id") - } - - protoReq.UserAttributeValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_value_id", err) - } - - msg, err := client.GetUserAttributeValue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_GetUserAttributeValue_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq GetUserAttributeValueRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_value_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_value_id") - } - - protoReq.UserAttributeValueId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_value_id", err) - } - - msg, err := server.GetUserAttributeValue(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_UserAttributesService_ListUserAttributeKeyValues_0 = &utilities.DoubleArray{Encoding: map[string]int{"user_attribute_key_id": 0, "userAttributeKeyId": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} -) - -func request_UserAttributesService_ListUserAttributeKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeKeyValuesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeKeyValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListUserAttributeKeyValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_ListUserAttributeKeyValues_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeKeyValuesRequest - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["user_attribute_key_id"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "user_attribute_key_id") - } - - protoReq.UserAttributeKeyId, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "user_attribute_key_id", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeKeyValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListUserAttributeKeyValues(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_UserAttributesService_ListUserAttributeValues_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} -) - -func request_UserAttributesService_ListUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ListUserAttributeValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_ListUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ListUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_UserAttributesService_ListUserAttributeValues_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ListUserAttributeValues(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_ArchiveUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ArchiveUserAttributeValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_ArchiveUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ArchiveUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ArchiveUserAttributeValues(ctx, &protoReq) - return msg, metadata, err - -} - -func request_UserAttributesService_UnarchiveUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, client UserAttributesServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.UnarchiveUserAttributeValues(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_UserAttributesService_UnarchiveUserAttributeValues_0(ctx context.Context, marshaler runtime.Marshaler, server UserAttributesServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq UnarchiveUserAttributeValuesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.UnarchiveUserAttributeValues(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterUserAttributesServiceHandlerServer registers the http handlers for service UserAttributesService to "mux". -// UnaryRPC :call UserAttributesServiceServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterUserAttributesServiceHandlerFromEndpoint instead. -func RegisterUserAttributesServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server UserAttributesServiceServer) error { - - mux.Handle("POST", pattern_UserAttributesService_CreateUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_CreateUserAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_CreateUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_GetUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_GetUserAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_GetUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_ListUserAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_UserAttributesService_UpdateUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_UpdateUserAttributeKey_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UpdateUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_ArchiveUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_ArchiveUserAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ArchiveUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_UnarchiveUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_UnarchiveUserAttributeKeys_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UnarchiveUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_CreateUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_CreateUserAttributeValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_CreateUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_BatchCreateUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/batch")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_BatchCreateUserAttributeValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_BatchCreateUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_GetUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/{user_attribute_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_GetUserAttributeValue_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_GetUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_ListUserAttributeKeyValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_ListUserAttributeValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_ArchiveUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_ArchiveUserAttributeValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ArchiveUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_UnarchiveUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateIncomingContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_UserAttributesService_UnarchiveUserAttributeValues_0(annotatedContext, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UnarchiveUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterUserAttributesServiceHandlerFromEndpoint is same as RegisterUserAttributesServiceHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterUserAttributesServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.DialContext(ctx, endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterUserAttributesServiceHandler(ctx, mux, conn) -} - -// RegisterUserAttributesServiceHandler registers the http handlers for service UserAttributesService to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterUserAttributesServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterUserAttributesServiceHandlerClient(ctx, mux, NewUserAttributesServiceClient(conn)) -} - -// RegisterUserAttributesServiceHandlerClient registers the http handlers for service UserAttributesService -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "UserAttributesServiceClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "UserAttributesServiceClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "UserAttributesServiceClient" to call the correct interceptors. -func RegisterUserAttributesServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client UserAttributesServiceClient) error { - - mux.Handle("POST", pattern_UserAttributesService_CreateUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_CreateUserAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_CreateUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_GetUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_GetUserAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_GetUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_ListUserAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PATCH", pattern_UserAttributesService_UpdateUserAttributeKey_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_UpdateUserAttributeKey_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UpdateUserAttributeKey_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_ArchiveUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_ArchiveUserAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ArchiveUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_UnarchiveUserAttributeKeys_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_UnarchiveUserAttributeKeys_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UnarchiveUserAttributeKeys_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_CreateUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_CreateUserAttributeValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_CreateUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_BatchCreateUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/batch")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_BatchCreateUserAttributeValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_BatchCreateUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_GetUserAttributeValue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/{user_attribute_value_id}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_GetUserAttributeValue_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_GetUserAttributeValue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeKeyValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-keys/{user_attribute_key_id}/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_ListUserAttributeKeyValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeKeyValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_UserAttributesService_ListUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_ListUserAttributeValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ListUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_ArchiveUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/archive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_ArchiveUserAttributeValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_ArchiveUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_UserAttributesService_UnarchiveUserAttributeValues_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - var err error - var annotatedContext context.Context - annotatedContext, err = runtime.AnnotateContext(ctx, mux, req, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues", runtime.WithHTTPPathPattern("/api/v1/user-attribute-values/unarchive")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_UserAttributesService_UnarchiveUserAttributeValues_0(annotatedContext, inboundMarshaler, client, req, pathParams) - annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) - if err != nil { - runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) - return - } - - forward_UserAttributesService_UnarchiveUserAttributeValues_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_UserAttributesService_CreateUserAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "user-attribute-keys"}, "")) - - pattern_UserAttributesService_GetUserAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "user-attribute-keys", "user_attribute_key_id"}, "")) - - pattern_UserAttributesService_ListUserAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "user-attribute-keys"}, "")) - - pattern_UserAttributesService_UpdateUserAttributeKey_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "user-attribute-keys", "user_attribute_key_id"}, "")) - - pattern_UserAttributesService_ArchiveUserAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "user-attribute-keys", "archive"}, "")) - - pattern_UserAttributesService_UnarchiveUserAttributeKeys_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "user-attribute-keys", "unarchive"}, "")) - - pattern_UserAttributesService_CreateUserAttributeValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "user-attribute-values"}, "")) - - pattern_UserAttributesService_BatchCreateUserAttributeValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "user-attribute-values", "batch"}, "")) - - pattern_UserAttributesService_GetUserAttributeValue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "user-attribute-values", "user_attribute_value_id"}, "")) - - pattern_UserAttributesService_ListUserAttributeKeyValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "user-attribute-keys", "user_attribute_key_id", "user-attribute-values"}, "")) - - pattern_UserAttributesService_ListUserAttributeValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "user-attribute-values"}, "")) - - pattern_UserAttributesService_ArchiveUserAttributeValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "user-attribute-values", "archive"}, "")) - - pattern_UserAttributesService_UnarchiveUserAttributeValues_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "user-attribute-values", "unarchive"}, "")) -) - -var ( - forward_UserAttributesService_CreateUserAttributeKey_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_GetUserAttributeKey_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_ListUserAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_UpdateUserAttributeKey_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_ArchiveUserAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_UnarchiveUserAttributeKeys_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_CreateUserAttributeValue_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_BatchCreateUserAttributeValue_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_GetUserAttributeValue_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_ListUserAttributeKeyValues_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_ListUserAttributeValues_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_ArchiveUserAttributeValues_0 = runtime.ForwardResponseMessage - - forward_UserAttributesService_UnarchiveUserAttributeValues_0 = runtime.ForwardResponseMessage -) diff --git a/go/gen/sift/user_attributes/v1/user_attributes_vtproto.pb.go b/go/gen/sift/user_attributes/v1/user_attributes_vtproto.pb.go deleted file mode 100644 index 0771aa020..000000000 --- a/go/gen/sift/user_attributes/v1/user_attributes_vtproto.pb.go +++ /dev/null @@ -1,13501 +0,0 @@ -// Code generated by protoc-gen-go-vtproto. DO NOT EDIT. -// protoc-gen-go-vtproto version: v0.6.0 -// source: sift/user_attributes/v1/user_attributes.proto - -package user_attributesv1 - -import ( - context "context" - binary "encoding/binary" - fmt "fmt" - protohelpers "github.com/planetscale/vtprotobuf/protohelpers" - fieldmaskpb1 "github.com/planetscale/vtprotobuf/types/known/fieldmaskpb" - timestamppb1 "github.com/planetscale/vtprotobuf/types/known/timestamppb" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" - proto "google.golang.org/protobuf/proto" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - io "io" - math "math" - unsafe "unsafe" -) - -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) -) - -func (m *UserAttributeKey) CloneVT() *UserAttributeKey { - if m == nil { - return (*UserAttributeKey)(nil) - } - r := new(UserAttributeKey) - r.UserAttributeKeyId = m.UserAttributeKeyId - r.OrganizationId = m.OrganizationId - r.Name = m.Name - r.Description = m.Description - r.Type = m.Type - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.CreatedByUserId = m.CreatedByUserId - r.ModifiedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ModifiedDate).CloneVT()) - r.ModifiedByUserId = m.ModifiedByUserId - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - r.IsArchived = m.IsArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UserAttributeKey) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateUserAttributeKeyRequest) CloneVT() *CreateUserAttributeKeyRequest { - if m == nil { - return (*CreateUserAttributeKeyRequest)(nil) - } - r := new(CreateUserAttributeKeyRequest) - r.Name = m.Name - r.Description = m.Description - r.Type = m.Type - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateUserAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateUserAttributeKeyResponse) CloneVT() *CreateUserAttributeKeyResponse { - if m == nil { - return (*CreateUserAttributeKeyResponse)(nil) - } - r := new(CreateUserAttributeKeyResponse) - r.UserAttributeKey = m.UserAttributeKey.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateUserAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateUserAttributeKeyRequest) CloneVT() *UpdateUserAttributeKeyRequest { - if m == nil { - return (*UpdateUserAttributeKeyRequest)(nil) - } - r := new(UpdateUserAttributeKeyRequest) - r.UserAttributeKeyId = m.UserAttributeKeyId - r.Name = m.Name - r.Description = m.Description - r.UpdateMask = (*fieldmaskpb.FieldMask)((*fieldmaskpb1.FieldMask)(m.UpdateMask).CloneVT()) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateUserAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UpdateUserAttributeKeyResponse) CloneVT() *UpdateUserAttributeKeyResponse { - if m == nil { - return (*UpdateUserAttributeKeyResponse)(nil) - } - r := new(UpdateUserAttributeKeyResponse) - r.UserAttributeKey = m.UserAttributeKey.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UpdateUserAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetUserAttributeKeyRequest) CloneVT() *GetUserAttributeKeyRequest { - if m == nil { - return (*GetUserAttributeKeyRequest)(nil) - } - r := new(GetUserAttributeKeyRequest) - r.UserAttributeKeyId = m.UserAttributeKeyId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetUserAttributeKeyRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetUserAttributeKeyResponse) CloneVT() *GetUserAttributeKeyResponse { - if m == nil { - return (*GetUserAttributeKeyResponse)(nil) - } - r := new(GetUserAttributeKeyResponse) - r.UserAttributeKey = m.UserAttributeKey.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetUserAttributeKeyResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeKeysRequest) CloneVT() *ListUserAttributeKeysRequest { - if m == nil { - return (*ListUserAttributeKeysRequest)(nil) - } - r := new(ListUserAttributeKeysRequest) - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.OrganizationId = m.OrganizationId - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeKeysResponse) CloneVT() *ListUserAttributeKeysResponse { - if m == nil { - return (*ListUserAttributeKeysResponse)(nil) - } - r := new(ListUserAttributeKeysResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.UserAttributeKeys; rhs != nil { - tmpContainer := make([]*UserAttributeKey, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.UserAttributeKeys = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveUserAttributeKeysRequest) CloneVT() *ArchiveUserAttributeKeysRequest { - if m == nil { - return (*ArchiveUserAttributeKeysRequest)(nil) - } - r := new(ArchiveUserAttributeKeysRequest) - if rhs := m.UserAttributeKeyIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.UserAttributeKeyIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveUserAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveUserAttributeKeysResponse) CloneVT() *ArchiveUserAttributeKeysResponse { - if m == nil { - return (*ArchiveUserAttributeKeysResponse)(nil) - } - r := new(ArchiveUserAttributeKeysResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveUserAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveUserAttributeKeysRequest) CloneVT() *UnarchiveUserAttributeKeysRequest { - if m == nil { - return (*UnarchiveUserAttributeKeysRequest)(nil) - } - r := new(UnarchiveUserAttributeKeysRequest) - if rhs := m.UserAttributeKeyIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.UserAttributeKeyIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveUserAttributeKeysRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveUserAttributeKeysResponse) CloneVT() *UnarchiveUserAttributeKeysResponse { - if m == nil { - return (*UnarchiveUserAttributeKeysResponse)(nil) - } - r := new(UnarchiveUserAttributeKeysResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveUserAttributeKeysResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UserAttributeValue) CloneVT() *UserAttributeValue { - if m == nil { - return (*UserAttributeValue)(nil) - } - r := new(UserAttributeValue) - r.UserAttributeValueId = m.UserAttributeValueId - r.UserAttributeKeyId = m.UserAttributeKeyId - r.UserId = m.UserId - r.OrganizationId = m.OrganizationId - r.CreatedByUserId = m.CreatedByUserId - r.CreatedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.CreatedDate).CloneVT()) - r.ArchivedDate = (*timestamppb.Timestamp)((*timestamppb1.Timestamp)(m.ArchivedDate).CloneVT()) - r.IsArchived = m.IsArchived - r.Key = m.Key.CloneVT() - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isUserAttributeValue_Value - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UserAttributeValue) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UserAttributeValue_StringValue) CloneVT() isUserAttributeValue_Value { - if m == nil { - return (*UserAttributeValue_StringValue)(nil) - } - r := new(UserAttributeValue_StringValue) - r.StringValue = m.StringValue - return r -} - -func (m *UserAttributeValue_NumberValue) CloneVT() isUserAttributeValue_Value { - if m == nil { - return (*UserAttributeValue_NumberValue)(nil) - } - r := new(UserAttributeValue_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *UserAttributeValue_BooleanValue) CloneVT() isUserAttributeValue_Value { - if m == nil { - return (*UserAttributeValue_BooleanValue)(nil) - } - r := new(UserAttributeValue_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *CreateUserAttributeValueRequest) CloneVT() *CreateUserAttributeValueRequest { - if m == nil { - return (*CreateUserAttributeValueRequest)(nil) - } - r := new(CreateUserAttributeValueRequest) - r.UserAttributeKeyId = m.UserAttributeKeyId - r.UserId = m.UserId - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isCreateUserAttributeValueRequest_Value - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateUserAttributeValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *CreateUserAttributeValueRequest_StringValue) CloneVT() isCreateUserAttributeValueRequest_Value { - if m == nil { - return (*CreateUserAttributeValueRequest_StringValue)(nil) - } - r := new(CreateUserAttributeValueRequest_StringValue) - r.StringValue = m.StringValue - return r -} - -func (m *CreateUserAttributeValueRequest_NumberValue) CloneVT() isCreateUserAttributeValueRequest_Value { - if m == nil { - return (*CreateUserAttributeValueRequest_NumberValue)(nil) - } - r := new(CreateUserAttributeValueRequest_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *CreateUserAttributeValueRequest_BooleanValue) CloneVT() isCreateUserAttributeValueRequest_Value { - if m == nil { - return (*CreateUserAttributeValueRequest_BooleanValue)(nil) - } - r := new(CreateUserAttributeValueRequest_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *CreateUserAttributeValueResponse) CloneVT() *CreateUserAttributeValueResponse { - if m == nil { - return (*CreateUserAttributeValueResponse)(nil) - } - r := new(CreateUserAttributeValueResponse) - r.UserAttributeValue = m.UserAttributeValue.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *CreateUserAttributeValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchCreateUserAttributeValueRequest) CloneVT() *BatchCreateUserAttributeValueRequest { - if m == nil { - return (*BatchCreateUserAttributeValueRequest)(nil) - } - r := new(BatchCreateUserAttributeValueRequest) - r.UserAttributeKeyId = m.UserAttributeKeyId - if rhs := m.UserIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.UserIds = tmpContainer - } - if m.Value != nil { - r.Value = m.Value.(interface { - CloneVT() isBatchCreateUserAttributeValueRequest_Value - }).CloneVT() - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchCreateUserAttributeValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) CloneVT() isBatchCreateUserAttributeValueRequest_Value { - if m == nil { - return (*BatchCreateUserAttributeValueRequest_StringValue)(nil) - } - r := new(BatchCreateUserAttributeValueRequest_StringValue) - r.StringValue = m.StringValue - return r -} - -func (m *BatchCreateUserAttributeValueRequest_NumberValue) CloneVT() isBatchCreateUserAttributeValueRequest_Value { - if m == nil { - return (*BatchCreateUserAttributeValueRequest_NumberValue)(nil) - } - r := new(BatchCreateUserAttributeValueRequest_NumberValue) - r.NumberValue = m.NumberValue - return r -} - -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) CloneVT() isBatchCreateUserAttributeValueRequest_Value { - if m == nil { - return (*BatchCreateUserAttributeValueRequest_BooleanValue)(nil) - } - r := new(BatchCreateUserAttributeValueRequest_BooleanValue) - r.BooleanValue = m.BooleanValue - return r -} - -func (m *BatchCreateUserAttributeValueResponse) CloneVT() *BatchCreateUserAttributeValueResponse { - if m == nil { - return (*BatchCreateUserAttributeValueResponse)(nil) - } - r := new(BatchCreateUserAttributeValueResponse) - if rhs := m.UserAttributeValues; rhs != nil { - tmpContainer := make([]*UserAttributeValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.UserAttributeValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *BatchCreateUserAttributeValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeKeyValuesRequest) CloneVT() *ListUserAttributeKeyValuesRequest { - if m == nil { - return (*ListUserAttributeKeyValuesRequest)(nil) - } - r := new(ListUserAttributeKeyValuesRequest) - r.UserAttributeKeyId = m.UserAttributeKeyId - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - r.IncludeArchived = m.IncludeArchived - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeKeyValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeKeyValuesResponse) CloneVT() *ListUserAttributeKeyValuesResponse { - if m == nil { - return (*ListUserAttributeKeyValuesResponse)(nil) - } - r := new(ListUserAttributeKeyValuesResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.UserAttributeValues; rhs != nil { - tmpContainer := make([]*UserAttributeValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.UserAttributeValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeKeyValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeValuesRequest) CloneVT() *ListUserAttributeValuesRequest { - if m == nil { - return (*ListUserAttributeValuesRequest)(nil) - } - r := new(ListUserAttributeValuesRequest) - r.PageSize = m.PageSize - r.PageToken = m.PageToken - r.Filter = m.Filter - r.OrderBy = m.OrderBy - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ListUserAttributeValuesResponse) CloneVT() *ListUserAttributeValuesResponse { - if m == nil { - return (*ListUserAttributeValuesResponse)(nil) - } - r := new(ListUserAttributeValuesResponse) - r.NextPageToken = m.NextPageToken - if rhs := m.UserAttributeValues; rhs != nil { - tmpContainer := make([]*UserAttributeValue, len(rhs)) - for k, v := range rhs { - tmpContainer[k] = v.CloneVT() - } - r.UserAttributeValues = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ListUserAttributeValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetUserAttributeValueRequest) CloneVT() *GetUserAttributeValueRequest { - if m == nil { - return (*GetUserAttributeValueRequest)(nil) - } - r := new(GetUserAttributeValueRequest) - r.UserAttributeValueId = m.UserAttributeValueId - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetUserAttributeValueRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *GetUserAttributeValueResponse) CloneVT() *GetUserAttributeValueResponse { - if m == nil { - return (*GetUserAttributeValueResponse)(nil) - } - r := new(GetUserAttributeValueResponse) - r.UserAttributeValue = m.UserAttributeValue.CloneVT() - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *GetUserAttributeValueResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveUserAttributeValuesRequest) CloneVT() *ArchiveUserAttributeValuesRequest { - if m == nil { - return (*ArchiveUserAttributeValuesRequest)(nil) - } - r := new(ArchiveUserAttributeValuesRequest) - if rhs := m.UserAttributeValueIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.UserAttributeValueIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveUserAttributeValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *ArchiveUserAttributeValuesResponse) CloneVT() *ArchiveUserAttributeValuesResponse { - if m == nil { - return (*ArchiveUserAttributeValuesResponse)(nil) - } - r := new(ArchiveUserAttributeValuesResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *ArchiveUserAttributeValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveUserAttributeValuesRequest) CloneVT() *UnarchiveUserAttributeValuesRequest { - if m == nil { - return (*UnarchiveUserAttributeValuesRequest)(nil) - } - r := new(UnarchiveUserAttributeValuesRequest) - if rhs := m.UserAttributeValueIds; rhs != nil { - tmpContainer := make([]string, len(rhs)) - copy(tmpContainer, rhs) - r.UserAttributeValueIds = tmpContainer - } - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveUserAttributeValuesRequest) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (m *UnarchiveUserAttributeValuesResponse) CloneVT() *UnarchiveUserAttributeValuesResponse { - if m == nil { - return (*UnarchiveUserAttributeValuesResponse)(nil) - } - r := new(UnarchiveUserAttributeValuesResponse) - if len(m.unknownFields) > 0 { - r.unknownFields = make([]byte, len(m.unknownFields)) - copy(r.unknownFields, m.unknownFields) - } - return r -} - -func (m *UnarchiveUserAttributeValuesResponse) CloneMessageVT() proto.Message { - return m.CloneVT() -} - -func (this *UserAttributeKey) EqualVT(that *UserAttributeKey) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if this.Name != that.Name { - return false - } - if this.Description != that.Description { - return false - } - if this.Type != that.Type { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ModifiedDate).EqualVT((*timestamppb1.Timestamp)(that.ModifiedDate)) { - return false - } - if this.ModifiedByUserId != that.ModifiedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - if this.IsArchived != that.IsArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UserAttributeKey) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UserAttributeKey) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateUserAttributeKeyRequest) EqualVT(that *CreateUserAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Name != that.Name { - return false - } - if this.Description != that.Description { - return false - } - if this.Type != that.Type { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateUserAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateUserAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateUserAttributeKeyResponse) EqualVT(that *CreateUserAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.UserAttributeKey.EqualVT(that.UserAttributeKey) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateUserAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateUserAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateUserAttributeKeyRequest) EqualVT(that *UpdateUserAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if this.Name != that.Name { - return false - } - if this.Description != that.Description { - return false - } - if !(*fieldmaskpb1.FieldMask)(this.UpdateMask).EqualVT((*fieldmaskpb1.FieldMask)(that.UpdateMask)) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateUserAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateUserAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UpdateUserAttributeKeyResponse) EqualVT(that *UpdateUserAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.UserAttributeKey.EqualVT(that.UserAttributeKey) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UpdateUserAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UpdateUserAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetUserAttributeKeyRequest) EqualVT(that *GetUserAttributeKeyRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetUserAttributeKeyRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetUserAttributeKeyRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetUserAttributeKeyResponse) EqualVT(that *GetUserAttributeKeyResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.UserAttributeKey.EqualVT(that.UserAttributeKey) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetUserAttributeKeyResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetUserAttributeKeyResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeKeysRequest) EqualVT(that *ListUserAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeKeysResponse) EqualVT(that *ListUserAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeKeys) != len(that.UserAttributeKeys) { - return false - } - for i, vx := range this.UserAttributeKeys { - vy := that.UserAttributeKeys[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &UserAttributeKey{} - } - if q == nil { - q = &UserAttributeKey{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveUserAttributeKeysRequest) EqualVT(that *ArchiveUserAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeKeyIds) != len(that.UserAttributeKeyIds) { - return false - } - for i, vx := range this.UserAttributeKeyIds { - vy := that.UserAttributeKeyIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveUserAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveUserAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveUserAttributeKeysResponse) EqualVT(that *ArchiveUserAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveUserAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveUserAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveUserAttributeKeysRequest) EqualVT(that *UnarchiveUserAttributeKeysRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeKeyIds) != len(that.UserAttributeKeyIds) { - return false - } - for i, vx := range this.UserAttributeKeyIds { - vy := that.UserAttributeKeyIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveUserAttributeKeysRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveUserAttributeKeysRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveUserAttributeKeysResponse) EqualVT(that *UnarchiveUserAttributeKeysResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveUserAttributeKeysResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveUserAttributeKeysResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UserAttributeValue) EqualVT(that *UserAttributeValue) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isUserAttributeValue_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if this.UserAttributeValueId != that.UserAttributeValueId { - return false - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if this.UserId != that.UserId { - return false - } - if this.OrganizationId != that.OrganizationId { - return false - } - if this.CreatedByUserId != that.CreatedByUserId { - return false - } - if !(*timestamppb1.Timestamp)(this.CreatedDate).EqualVT((*timestamppb1.Timestamp)(that.CreatedDate)) { - return false - } - if !(*timestamppb1.Timestamp)(this.ArchivedDate).EqualVT((*timestamppb1.Timestamp)(that.ArchivedDate)) { - return false - } - if this.IsArchived != that.IsArchived { - return false - } - if !this.Key.EqualVT(that.Key) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UserAttributeValue) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UserAttributeValue) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UserAttributeValue_StringValue) EqualVT(thatIface isUserAttributeValue_Value) bool { - that, ok := thatIface.(*UserAttributeValue_StringValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.StringValue != that.StringValue { - return false - } - return true -} - -func (this *UserAttributeValue_NumberValue) EqualVT(thatIface isUserAttributeValue_Value) bool { - that, ok := thatIface.(*UserAttributeValue_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *UserAttributeValue_BooleanValue) EqualVT(thatIface isUserAttributeValue_Value) bool { - that, ok := thatIface.(*UserAttributeValue_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *CreateUserAttributeValueRequest) EqualVT(that *CreateUserAttributeValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isCreateUserAttributeValueRequest_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if this.UserId != that.UserId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateUserAttributeValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateUserAttributeValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *CreateUserAttributeValueRequest_StringValue) EqualVT(thatIface isCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*CreateUserAttributeValueRequest_StringValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.StringValue != that.StringValue { - return false - } - return true -} - -func (this *CreateUserAttributeValueRequest_NumberValue) EqualVT(thatIface isCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*CreateUserAttributeValueRequest_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *CreateUserAttributeValueRequest_BooleanValue) EqualVT(thatIface isCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*CreateUserAttributeValueRequest_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *CreateUserAttributeValueResponse) EqualVT(that *CreateUserAttributeValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.UserAttributeValue.EqualVT(that.UserAttributeValue) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *CreateUserAttributeValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*CreateUserAttributeValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchCreateUserAttributeValueRequest) EqualVT(that *BatchCreateUserAttributeValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.Value == nil && that.Value != nil { - return false - } else if this.Value != nil { - if that.Value == nil { - return false - } - if !this.Value.(interface { - EqualVT(isBatchCreateUserAttributeValueRequest_Value) bool - }).EqualVT(that.Value) { - return false - } - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if len(this.UserIds) != len(that.UserIds) { - return false - } - for i, vx := range this.UserIds { - vy := that.UserIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchCreateUserAttributeValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchCreateUserAttributeValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *BatchCreateUserAttributeValueRequest_StringValue) EqualVT(thatIface isBatchCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*BatchCreateUserAttributeValueRequest_StringValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.StringValue != that.StringValue { - return false - } - return true -} - -func (this *BatchCreateUserAttributeValueRequest_NumberValue) EqualVT(thatIface isBatchCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*BatchCreateUserAttributeValueRequest_NumberValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.NumberValue != that.NumberValue { - return false - } - return true -} - -func (this *BatchCreateUserAttributeValueRequest_BooleanValue) EqualVT(thatIface isBatchCreateUserAttributeValueRequest_Value) bool { - that, ok := thatIface.(*BatchCreateUserAttributeValueRequest_BooleanValue) - if !ok { - return false - } - if this == that { - return true - } - if this == nil && that != nil || this != nil && that == nil { - return false - } - if this.BooleanValue != that.BooleanValue { - return false - } - return true -} - -func (this *BatchCreateUserAttributeValueResponse) EqualVT(that *BatchCreateUserAttributeValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeValues) != len(that.UserAttributeValues) { - return false - } - for i, vx := range this.UserAttributeValues { - vy := that.UserAttributeValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &UserAttributeValue{} - } - if q == nil { - q = &UserAttributeValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *BatchCreateUserAttributeValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*BatchCreateUserAttributeValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeKeyValuesRequest) EqualVT(that *ListUserAttributeKeyValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.UserAttributeKeyId != that.UserAttributeKeyId { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - if this.IncludeArchived != that.IncludeArchived { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeKeyValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeKeyValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeKeyValuesResponse) EqualVT(that *ListUserAttributeKeyValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeValues) != len(that.UserAttributeValues) { - return false - } - for i, vx := range this.UserAttributeValues { - vy := that.UserAttributeValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &UserAttributeValue{} - } - if q == nil { - q = &UserAttributeValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeKeyValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeKeyValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeValuesRequest) EqualVT(that *ListUserAttributeValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.PageSize != that.PageSize { - return false - } - if this.PageToken != that.PageToken { - return false - } - if this.Filter != that.Filter { - return false - } - if this.OrderBy != that.OrderBy { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ListUserAttributeValuesResponse) EqualVT(that *ListUserAttributeValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeValues) != len(that.UserAttributeValues) { - return false - } - for i, vx := range this.UserAttributeValues { - vy := that.UserAttributeValues[i] - if p, q := vx, vy; p != q { - if p == nil { - p = &UserAttributeValue{} - } - if q == nil { - q = &UserAttributeValue{} - } - if !p.EqualVT(q) { - return false - } - } - } - if this.NextPageToken != that.NextPageToken { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ListUserAttributeValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ListUserAttributeValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetUserAttributeValueRequest) EqualVT(that *GetUserAttributeValueRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if this.UserAttributeValueId != that.UserAttributeValueId { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetUserAttributeValueRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetUserAttributeValueRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *GetUserAttributeValueResponse) EqualVT(that *GetUserAttributeValueResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if !this.UserAttributeValue.EqualVT(that.UserAttributeValue) { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *GetUserAttributeValueResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*GetUserAttributeValueResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveUserAttributeValuesRequest) EqualVT(that *ArchiveUserAttributeValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeValueIds) != len(that.UserAttributeValueIds) { - return false - } - for i, vx := range this.UserAttributeValueIds { - vy := that.UserAttributeValueIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveUserAttributeValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveUserAttributeValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *ArchiveUserAttributeValuesResponse) EqualVT(that *ArchiveUserAttributeValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *ArchiveUserAttributeValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*ArchiveUserAttributeValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveUserAttributeValuesRequest) EqualVT(that *UnarchiveUserAttributeValuesRequest) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - if len(this.UserAttributeValueIds) != len(that.UserAttributeValueIds) { - return false - } - for i, vx := range this.UserAttributeValueIds { - vy := that.UserAttributeValueIds[i] - if vx != vy { - return false - } - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveUserAttributeValuesRequest) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveUserAttributeValuesRequest) - if !ok { - return false - } - return this.EqualVT(that) -} -func (this *UnarchiveUserAttributeValuesResponse) EqualVT(that *UnarchiveUserAttributeValuesResponse) bool { - if this == that { - return true - } else if this == nil || that == nil { - return false - } - return string(this.unknownFields) == string(that.unknownFields) -} - -func (this *UnarchiveUserAttributeValuesResponse) EqualMessageVT(thatMsg proto.Message) bool { - that, ok := thatMsg.(*UnarchiveUserAttributeValuesResponse) - if !ok { - return false - } - return this.EqualVT(that) -} - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// UserAttributesServiceClient is the client API for UserAttributesService service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type UserAttributesServiceClient interface { - // Creates a user attribute key. - CreateUserAttributeKey(ctx context.Context, in *CreateUserAttributeKeyRequest, opts ...grpc.CallOption) (*CreateUserAttributeKeyResponse, error) - // Retrieves a user attribute key. - GetUserAttributeKey(ctx context.Context, in *GetUserAttributeKeyRequest, opts ...grpc.CallOption) (*GetUserAttributeKeyResponse, error) - // Lists user attribute keys, respecting the provided filter. - ListUserAttributeKeys(ctx context.Context, in *ListUserAttributeKeysRequest, opts ...grpc.CallOption) (*ListUserAttributeKeysResponse, error) - // Updates an existing user attribute key. - UpdateUserAttributeKey(ctx context.Context, in *UpdateUserAttributeKeyRequest, opts ...grpc.CallOption) (*UpdateUserAttributeKeyResponse, error) - // Batch archives user attribute keys AND all their associated user attribute values. - ArchiveUserAttributeKeys(ctx context.Context, in *ArchiveUserAttributeKeysRequest, opts ...grpc.CallOption) (*ArchiveUserAttributeKeysResponse, error) - // Batch unarchives user attribute keys. - UnarchiveUserAttributeKeys(ctx context.Context, in *UnarchiveUserAttributeKeysRequest, opts ...grpc.CallOption) (*UnarchiveUserAttributeKeysResponse, error) - // Creates a user attribute value. - CreateUserAttributeValue(ctx context.Context, in *CreateUserAttributeValueRequest, opts ...grpc.CallOption) (*CreateUserAttributeValueResponse, error) - // Creates a user attribute value for multiple users in a single operation. - BatchCreateUserAttributeValue(ctx context.Context, in *BatchCreateUserAttributeValueRequest, opts ...grpc.CallOption) (*BatchCreateUserAttributeValueResponse, error) - // Retrieves a user attribute value. - GetUserAttributeValue(ctx context.Context, in *GetUserAttributeValueRequest, opts ...grpc.CallOption) (*GetUserAttributeValueResponse, error) - // Lists user attribute values for a given user attribute key, respecting the provided filter. - ListUserAttributeKeyValues(ctx context.Context, in *ListUserAttributeKeyValuesRequest, opts ...grpc.CallOption) (*ListUserAttributeKeyValuesResponse, error) - // List user attributes values, respecting the provided filter. - ListUserAttributeValues(ctx context.Context, in *ListUserAttributeValuesRequest, opts ...grpc.CallOption) (*ListUserAttributeValuesResponse, error) - // Batch archives user attribute values. - ArchiveUserAttributeValues(ctx context.Context, in *ArchiveUserAttributeValuesRequest, opts ...grpc.CallOption) (*ArchiveUserAttributeValuesResponse, error) - // Batch unarchives user attribute values. - UnarchiveUserAttributeValues(ctx context.Context, in *UnarchiveUserAttributeValuesRequest, opts ...grpc.CallOption) (*UnarchiveUserAttributeValuesResponse, error) -} - -type userAttributesServiceClient struct { - cc grpc.ClientConnInterface -} - -func NewUserAttributesServiceClient(cc grpc.ClientConnInterface) UserAttributesServiceClient { - return &userAttributesServiceClient{cc} -} - -func (c *userAttributesServiceClient) CreateUserAttributeKey(ctx context.Context, in *CreateUserAttributeKeyRequest, opts ...grpc.CallOption) (*CreateUserAttributeKeyResponse, error) { - out := new(CreateUserAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) GetUserAttributeKey(ctx context.Context, in *GetUserAttributeKeyRequest, opts ...grpc.CallOption) (*GetUserAttributeKeyResponse, error) { - out := new(GetUserAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) ListUserAttributeKeys(ctx context.Context, in *ListUserAttributeKeysRequest, opts ...grpc.CallOption) (*ListUserAttributeKeysResponse, error) { - out := new(ListUserAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) UpdateUserAttributeKey(ctx context.Context, in *UpdateUserAttributeKeyRequest, opts ...grpc.CallOption) (*UpdateUserAttributeKeyResponse, error) { - out := new(UpdateUserAttributeKeyResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) ArchiveUserAttributeKeys(ctx context.Context, in *ArchiveUserAttributeKeysRequest, opts ...grpc.CallOption) (*ArchiveUserAttributeKeysResponse, error) { - out := new(ArchiveUserAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) UnarchiveUserAttributeKeys(ctx context.Context, in *UnarchiveUserAttributeKeysRequest, opts ...grpc.CallOption) (*UnarchiveUserAttributeKeysResponse, error) { - out := new(UnarchiveUserAttributeKeysResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) CreateUserAttributeValue(ctx context.Context, in *CreateUserAttributeValueRequest, opts ...grpc.CallOption) (*CreateUserAttributeValueResponse, error) { - out := new(CreateUserAttributeValueResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) BatchCreateUserAttributeValue(ctx context.Context, in *BatchCreateUserAttributeValueRequest, opts ...grpc.CallOption) (*BatchCreateUserAttributeValueResponse, error) { - out := new(BatchCreateUserAttributeValueResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) GetUserAttributeValue(ctx context.Context, in *GetUserAttributeValueRequest, opts ...grpc.CallOption) (*GetUserAttributeValueResponse, error) { - out := new(GetUserAttributeValueResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) ListUserAttributeKeyValues(ctx context.Context, in *ListUserAttributeKeyValuesRequest, opts ...grpc.CallOption) (*ListUserAttributeKeyValuesResponse, error) { - out := new(ListUserAttributeKeyValuesResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) ListUserAttributeValues(ctx context.Context, in *ListUserAttributeValuesRequest, opts ...grpc.CallOption) (*ListUserAttributeValuesResponse, error) { - out := new(ListUserAttributeValuesResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) ArchiveUserAttributeValues(ctx context.Context, in *ArchiveUserAttributeValuesRequest, opts ...grpc.CallOption) (*ArchiveUserAttributeValuesResponse, error) { - out := new(ArchiveUserAttributeValuesResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *userAttributesServiceClient) UnarchiveUserAttributeValues(ctx context.Context, in *UnarchiveUserAttributeValuesRequest, opts ...grpc.CallOption) (*UnarchiveUserAttributeValuesResponse, error) { - out := new(UnarchiveUserAttributeValuesResponse) - err := c.cc.Invoke(ctx, "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// UserAttributesServiceServer is the server API for UserAttributesService service. -// All implementations must embed UnimplementedUserAttributesServiceServer -// for forward compatibility -type UserAttributesServiceServer interface { - // Creates a user attribute key. - CreateUserAttributeKey(context.Context, *CreateUserAttributeKeyRequest) (*CreateUserAttributeKeyResponse, error) - // Retrieves a user attribute key. - GetUserAttributeKey(context.Context, *GetUserAttributeKeyRequest) (*GetUserAttributeKeyResponse, error) - // Lists user attribute keys, respecting the provided filter. - ListUserAttributeKeys(context.Context, *ListUserAttributeKeysRequest) (*ListUserAttributeKeysResponse, error) - // Updates an existing user attribute key. - UpdateUserAttributeKey(context.Context, *UpdateUserAttributeKeyRequest) (*UpdateUserAttributeKeyResponse, error) - // Batch archives user attribute keys AND all their associated user attribute values. - ArchiveUserAttributeKeys(context.Context, *ArchiveUserAttributeKeysRequest) (*ArchiveUserAttributeKeysResponse, error) - // Batch unarchives user attribute keys. - UnarchiveUserAttributeKeys(context.Context, *UnarchiveUserAttributeKeysRequest) (*UnarchiveUserAttributeKeysResponse, error) - // Creates a user attribute value. - CreateUserAttributeValue(context.Context, *CreateUserAttributeValueRequest) (*CreateUserAttributeValueResponse, error) - // Creates a user attribute value for multiple users in a single operation. - BatchCreateUserAttributeValue(context.Context, *BatchCreateUserAttributeValueRequest) (*BatchCreateUserAttributeValueResponse, error) - // Retrieves a user attribute value. - GetUserAttributeValue(context.Context, *GetUserAttributeValueRequest) (*GetUserAttributeValueResponse, error) - // Lists user attribute values for a given user attribute key, respecting the provided filter. - ListUserAttributeKeyValues(context.Context, *ListUserAttributeKeyValuesRequest) (*ListUserAttributeKeyValuesResponse, error) - // List user attributes values, respecting the provided filter. - ListUserAttributeValues(context.Context, *ListUserAttributeValuesRequest) (*ListUserAttributeValuesResponse, error) - // Batch archives user attribute values. - ArchiveUserAttributeValues(context.Context, *ArchiveUserAttributeValuesRequest) (*ArchiveUserAttributeValuesResponse, error) - // Batch unarchives user attribute values. - UnarchiveUserAttributeValues(context.Context, *UnarchiveUserAttributeValuesRequest) (*UnarchiveUserAttributeValuesResponse, error) - mustEmbedUnimplementedUserAttributesServiceServer() -} - -// UnimplementedUserAttributesServiceServer must be embedded to have forward compatible implementations. -type UnimplementedUserAttributesServiceServer struct { -} - -func (UnimplementedUserAttributesServiceServer) CreateUserAttributeKey(context.Context, *CreateUserAttributeKeyRequest) (*CreateUserAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUserAttributeKey not implemented") -} -func (UnimplementedUserAttributesServiceServer) GetUserAttributeKey(context.Context, *GetUserAttributeKeyRequest) (*GetUserAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserAttributeKey not implemented") -} -func (UnimplementedUserAttributesServiceServer) ListUserAttributeKeys(context.Context, *ListUserAttributeKeysRequest) (*ListUserAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListUserAttributeKeys not implemented") -} -func (UnimplementedUserAttributesServiceServer) UpdateUserAttributeKey(context.Context, *UpdateUserAttributeKeyRequest) (*UpdateUserAttributeKeyResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateUserAttributeKey not implemented") -} -func (UnimplementedUserAttributesServiceServer) ArchiveUserAttributeKeys(context.Context, *ArchiveUserAttributeKeysRequest) (*ArchiveUserAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchiveUserAttributeKeys not implemented") -} -func (UnimplementedUserAttributesServiceServer) UnarchiveUserAttributeKeys(context.Context, *UnarchiveUserAttributeKeysRequest) (*UnarchiveUserAttributeKeysResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnarchiveUserAttributeKeys not implemented") -} -func (UnimplementedUserAttributesServiceServer) CreateUserAttributeValue(context.Context, *CreateUserAttributeValueRequest) (*CreateUserAttributeValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateUserAttributeValue not implemented") -} -func (UnimplementedUserAttributesServiceServer) BatchCreateUserAttributeValue(context.Context, *BatchCreateUserAttributeValueRequest) (*BatchCreateUserAttributeValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method BatchCreateUserAttributeValue not implemented") -} -func (UnimplementedUserAttributesServiceServer) GetUserAttributeValue(context.Context, *GetUserAttributeValueRequest) (*GetUserAttributeValueResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetUserAttributeValue not implemented") -} -func (UnimplementedUserAttributesServiceServer) ListUserAttributeKeyValues(context.Context, *ListUserAttributeKeyValuesRequest) (*ListUserAttributeKeyValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListUserAttributeKeyValues not implemented") -} -func (UnimplementedUserAttributesServiceServer) ListUserAttributeValues(context.Context, *ListUserAttributeValuesRequest) (*ListUserAttributeValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ListUserAttributeValues not implemented") -} -func (UnimplementedUserAttributesServiceServer) ArchiveUserAttributeValues(context.Context, *ArchiveUserAttributeValuesRequest) (*ArchiveUserAttributeValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ArchiveUserAttributeValues not implemented") -} -func (UnimplementedUserAttributesServiceServer) UnarchiveUserAttributeValues(context.Context, *UnarchiveUserAttributeValuesRequest) (*UnarchiveUserAttributeValuesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method UnarchiveUserAttributeValues not implemented") -} -func (UnimplementedUserAttributesServiceServer) mustEmbedUnimplementedUserAttributesServiceServer() {} - -// UnsafeUserAttributesServiceServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to UserAttributesServiceServer will -// result in compilation errors. -type UnsafeUserAttributesServiceServer interface { - mustEmbedUnimplementedUserAttributesServiceServer() -} - -func RegisterUserAttributesServiceServer(s grpc.ServiceRegistrar, srv UserAttributesServiceServer) { - s.RegisterService(&UserAttributesService_ServiceDesc, srv) -} - -func _UserAttributesService_CreateUserAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateUserAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).CreateUserAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).CreateUserAttributeKey(ctx, req.(*CreateUserAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_GetUserAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).GetUserAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).GetUserAttributeKey(ctx, req.(*GetUserAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_ListUserAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListUserAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).ListUserAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).ListUserAttributeKeys(ctx, req.(*ListUserAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_UpdateUserAttributeKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UpdateUserAttributeKeyRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).UpdateUserAttributeKey(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).UpdateUserAttributeKey(ctx, req.(*UpdateUserAttributeKeyRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_ArchiveUserAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchiveUserAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).ArchiveUserAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).ArchiveUserAttributeKeys(ctx, req.(*ArchiveUserAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_UnarchiveUserAttributeKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnarchiveUserAttributeKeysRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).UnarchiveUserAttributeKeys(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).UnarchiveUserAttributeKeys(ctx, req.(*UnarchiveUserAttributeKeysRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_CreateUserAttributeValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(CreateUserAttributeValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).CreateUserAttributeValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).CreateUserAttributeValue(ctx, req.(*CreateUserAttributeValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_BatchCreateUserAttributeValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(BatchCreateUserAttributeValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).BatchCreateUserAttributeValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).BatchCreateUserAttributeValue(ctx, req.(*BatchCreateUserAttributeValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_GetUserAttributeValue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(GetUserAttributeValueRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).GetUserAttributeValue(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).GetUserAttributeValue(ctx, req.(*GetUserAttributeValueRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_ListUserAttributeKeyValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListUserAttributeKeyValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).ListUserAttributeKeyValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).ListUserAttributeKeyValues(ctx, req.(*ListUserAttributeKeyValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_ListUserAttributeValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ListUserAttributeValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).ListUserAttributeValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).ListUserAttributeValues(ctx, req.(*ListUserAttributeValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_ArchiveUserAttributeValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ArchiveUserAttributeValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).ArchiveUserAttributeValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).ArchiveUserAttributeValues(ctx, req.(*ArchiveUserAttributeValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _UserAttributesService_UnarchiveUserAttributeValues_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(UnarchiveUserAttributeValuesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(UserAttributesServiceServer).UnarchiveUserAttributeValues(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(UserAttributesServiceServer).UnarchiveUserAttributeValues(ctx, req.(*UnarchiveUserAttributeValuesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// UserAttributesService_ServiceDesc is the grpc.ServiceDesc for UserAttributesService service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var UserAttributesService_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "sift.user_attributes.v1.UserAttributesService", - HandlerType: (*UserAttributesServiceServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateUserAttributeKey", - Handler: _UserAttributesService_CreateUserAttributeKey_Handler, - }, - { - MethodName: "GetUserAttributeKey", - Handler: _UserAttributesService_GetUserAttributeKey_Handler, - }, - { - MethodName: "ListUserAttributeKeys", - Handler: _UserAttributesService_ListUserAttributeKeys_Handler, - }, - { - MethodName: "UpdateUserAttributeKey", - Handler: _UserAttributesService_UpdateUserAttributeKey_Handler, - }, - { - MethodName: "ArchiveUserAttributeKeys", - Handler: _UserAttributesService_ArchiveUserAttributeKeys_Handler, - }, - { - MethodName: "UnarchiveUserAttributeKeys", - Handler: _UserAttributesService_UnarchiveUserAttributeKeys_Handler, - }, - { - MethodName: "CreateUserAttributeValue", - Handler: _UserAttributesService_CreateUserAttributeValue_Handler, - }, - { - MethodName: "BatchCreateUserAttributeValue", - Handler: _UserAttributesService_BatchCreateUserAttributeValue_Handler, - }, - { - MethodName: "GetUserAttributeValue", - Handler: _UserAttributesService_GetUserAttributeValue_Handler, - }, - { - MethodName: "ListUserAttributeKeyValues", - Handler: _UserAttributesService_ListUserAttributeKeyValues_Handler, - }, - { - MethodName: "ListUserAttributeValues", - Handler: _UserAttributesService_ListUserAttributeValues_Handler, - }, - { - MethodName: "ArchiveUserAttributeValues", - Handler: _UserAttributesService_ArchiveUserAttributeValues_Handler, - }, - { - MethodName: "UnarchiveUserAttributeValues", - Handler: _UserAttributesService_UnarchiveUserAttributeValues_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "sift/user_attributes/v1/user_attributes.proto", -} - -func (m *UserAttributeKey) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UserAttributeKey) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UserAttributeKey) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x3a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x28 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x18 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateUserAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateUserAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateUserAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateUserAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateUserAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UpdateUserAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeKeyRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeKeyRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetUserAttributeKeyRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeKeyResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeKeyResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetUserAttributeKeyResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x2a - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeys) > 0 { - for iNdEx := len(m.UserAttributeKeys) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeKeys[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyIds) > 0 { - for iNdEx := len(m.UserAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyIds) > 0 { - for iNdEx := len(m.UserAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeValue) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UserAttributeValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UserAttributeValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if m.Key != nil { - size, err := m.Key.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x62 - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x42 - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x22 - } - if len(m.UserId) > 0 { - i -= len(m.UserId) - copy(dAtA[i:], m.UserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserId))) - i-- - dAtA[i] = 0x1a - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValueId) > 0 { - i -= len(m.UserAttributeValueId) - copy(dAtA[i:], m.UserAttributeValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeValue_StringValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UserAttributeValue_StringValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x2a - return len(dAtA) - i, nil -} -func (m *UserAttributeValue_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UserAttributeValue_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x31 - return len(dAtA) - i, nil -} -func (m *UserAttributeValue_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UserAttributeValue_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.UserId) > 0 { - i -= len(m.UserId) - copy(dAtA[i:], m.UserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeValueRequest_StringValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_StringValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x22 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x29 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *CreateUserAttributeValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeValue != nil { - size, err := m.UserAttributeValue.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if vtmsg, ok := m.Value.(interface { - MarshalToSizedBufferVT([]byte) (int, error) - }); ok { - size, err := vtmsg.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.UserIds) > 0 { - for iNdEx := len(m.UserIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserIds[iNdEx]) - copy(dAtA[i:], m.UserIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserIds[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x1a - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueRequest_NumberValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_NumberValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x21 - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateUserAttributeValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x2a - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x22 - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x1a - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x10 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ListUserAttributeValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeValueRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeValueRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetUserAttributeValueRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueId) > 0 { - i -= len(m.UserAttributeValueId) - copy(dAtA[i:], m.UserAttributeValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeValueResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeValueResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *GetUserAttributeValueResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeValue != nil { - size, err := m.UserAttributeValue.MarshalToSizedBufferVT(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueIds) > 0 { - for iNdEx := len(m.UserAttributeValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeValueIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueIds) > 0 { - for iNdEx := len(m.UserAttributeValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeValueIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalVT() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVT(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalToVT(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVT(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalToSizedBufferVT(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeKey) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UserAttributeKey) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UserAttributeKey) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if len(m.ModifiedByUserId) > 0 { - i -= len(m.ModifiedByUserId) - copy(dAtA[i:], m.ModifiedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.ModifiedByUserId))) - i-- - dAtA[i] = 0x4a - } - if m.ModifiedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ModifiedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x42 - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x3a - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x32 - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x28 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x22 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x1a - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Type != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.Type)) - i-- - dAtA[i] = 0x18 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x12 - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateUserAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateUserAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateUserAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UpdateMask != nil { - size, err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x22 - } - if len(m.Description) > 0 { - i -= len(m.Description) - copy(dAtA[i:], m.Description) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Description))) - i-- - dAtA[i] = 0x1a - } - if len(m.Name) > 0 { - i -= len(m.Name) - copy(dAtA[i:], m.Name) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Name))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UpdateUserAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UpdateUserAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UpdateUserAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeKeyRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeKeyRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetUserAttributeKeyRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeKeyResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeKeyResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetUserAttributeKeyResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeKey != nil { - size, err := m.UserAttributeKey.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x2a - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeys) > 0 { - for iNdEx := len(m.UserAttributeKeys) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeKeys[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveUserAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyIds) > 0 { - for iNdEx := len(m.UserAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveUserAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeKeysRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeKeyIds) > 0 { - for iNdEx := len(m.UserAttributeKeyIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeKeyIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeKeyIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeKeysResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeValue) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UserAttributeValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UserAttributeValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.Key != nil { - size, err := m.Key.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x62 - } - if m.IsArchived { - i-- - if m.IsArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x58 - } - if m.ArchivedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.ArchivedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x52 - } - if m.CreatedDate != nil { - size, err := (*timestamppb1.Timestamp)(m.CreatedDate).MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0x4a - } - if len(m.CreatedByUserId) > 0 { - i -= len(m.CreatedByUserId) - copy(dAtA[i:], m.CreatedByUserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.CreatedByUserId))) - i-- - dAtA[i] = 0x42 - } - if msg, ok := m.Value.(*UserAttributeValue_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*UserAttributeValue_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*UserAttributeValue_StringValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.OrganizationId) > 0 { - i -= len(m.OrganizationId) - copy(dAtA[i:], m.OrganizationId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrganizationId))) - i-- - dAtA[i] = 0x22 - } - if len(m.UserId) > 0 { - i -= len(m.UserId) - copy(dAtA[i:], m.UserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserId))) - i-- - dAtA[i] = 0x1a - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValueId) > 0 { - i -= len(m.UserAttributeValueId) - copy(dAtA[i:], m.UserAttributeValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeValue_StringValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UserAttributeValue_StringValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x2a - return len(dAtA) - i, nil -} -func (m *UserAttributeValue_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UserAttributeValue_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x31 - return len(dAtA) - i, nil -} -func (m *UserAttributeValue_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UserAttributeValue_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x38 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if msg, ok := m.Value.(*CreateUserAttributeValueRequest_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*CreateUserAttributeValueRequest_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*CreateUserAttributeValueRequest_StringValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.UserId) > 0 { - i -= len(m.UserId) - copy(dAtA[i:], m.UserId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserId))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *CreateUserAttributeValueRequest_StringValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_StringValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x22 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x29 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueRequest_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeValueRequest_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - return len(dAtA) - i, nil -} -func (m *CreateUserAttributeValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *CreateUserAttributeValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *CreateUserAttributeValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeValue != nil { - size, err := m.UserAttributeValue.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if msg, ok := m.Value.(*BatchCreateUserAttributeValueRequest_BooleanValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*BatchCreateUserAttributeValueRequest_NumberValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if msg, ok := m.Value.(*BatchCreateUserAttributeValueRequest_StringValue); ok { - size, err := msg.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - } - if len(m.UserIds) > 0 { - for iNdEx := len(m.UserIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserIds[iNdEx]) - copy(dAtA[i:], m.UserIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserIds[iNdEx]))) - i-- - dAtA[i] = 0x12 - } - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= len(m.StringValue) - copy(dAtA[i:], m.StringValue) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.StringValue))) - i-- - dAtA[i] = 0x1a - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueRequest_NumberValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_NumberValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i -= 8 - binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.NumberValue)))) - i-- - dAtA[i] = 0x21 - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - i := len(dAtA) - i-- - if m.BooleanValue { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x28 - return len(dAtA) - i, nil -} -func (m *BatchCreateUserAttributeValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *BatchCreateUserAttributeValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *BatchCreateUserAttributeValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeKeyValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.IncludeArchived { - i-- - if m.IncludeArchived { - dAtA[i] = 1 - } else { - dAtA[i] = 0 - } - i-- - dAtA[i] = 0x30 - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x2a - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x22 - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x1a - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x10 - } - if len(m.UserAttributeKeyId) > 0 { - i -= len(m.UserAttributeKeyId) - copy(dAtA[i:], m.UserAttributeKeyId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeKeyId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeKeyValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.OrderBy) > 0 { - i -= len(m.OrderBy) - copy(dAtA[i:], m.OrderBy) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.OrderBy))) - i-- - dAtA[i] = 0x22 - } - if len(m.Filter) > 0 { - i -= len(m.Filter) - copy(dAtA[i:], m.Filter) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.Filter))) - i-- - dAtA[i] = 0x1a - } - if len(m.PageToken) > 0 { - i -= len(m.PageToken) - copy(dAtA[i:], m.PageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.PageToken))) - i-- - dAtA[i] = 0x12 - } - if m.PageSize != 0 { - i = protohelpers.EncodeVarint(dAtA, i, uint64(m.PageSize)) - i-- - dAtA[i] = 0x8 - } - return len(dAtA) - i, nil -} - -func (m *ListUserAttributeValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ListUserAttributeValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ListUserAttributeValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.NextPageToken) > 0 { - i -= len(m.NextPageToken) - copy(dAtA[i:], m.NextPageToken) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.NextPageToken))) - i-- - dAtA[i] = 0x12 - } - if len(m.UserAttributeValues) > 0 { - for iNdEx := len(m.UserAttributeValues) - 1; iNdEx >= 0; iNdEx-- { - size, err := m.UserAttributeValues[iNdEx].MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeValueRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeValueRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetUserAttributeValueRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueId) > 0 { - i -= len(m.UserAttributeValueId) - copy(dAtA[i:], m.UserAttributeValueId) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueId))) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *GetUserAttributeValueResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *GetUserAttributeValueResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *GetUserAttributeValueResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if m.UserAttributeValue != nil { - size, err := m.UserAttributeValue.MarshalToSizedBufferVTStrict(dAtA[:i]) - if err != nil { - return 0, err - } - i -= size - i = protohelpers.EncodeVarint(dAtA, i, uint64(size)) - i-- - dAtA[i] = 0xa - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveUserAttributeValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueIds) > 0 { - for iNdEx := len(m.UserAttributeValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeValueIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *ArchiveUserAttributeValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeValuesRequest) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - if len(m.UserAttributeValueIds) > 0 { - for iNdEx := len(m.UserAttributeValueIds) - 1; iNdEx >= 0; iNdEx-- { - i -= len(m.UserAttributeValueIds[iNdEx]) - copy(dAtA[i:], m.UserAttributeValueIds[iNdEx]) - i = protohelpers.EncodeVarint(dAtA, i, uint64(len(m.UserAttributeValueIds[iNdEx]))) - i-- - dAtA[i] = 0xa - } - } - return len(dAtA) - i, nil -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalVTStrict() (dAtA []byte, err error) { - if m == nil { - return nil, nil - } - size := m.SizeVT() - dAtA = make([]byte, size) - n, err := m.MarshalToSizedBufferVTStrict(dAtA[:size]) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalToVTStrict(dAtA []byte) (int, error) { - size := m.SizeVT() - return m.MarshalToSizedBufferVTStrict(dAtA[:size]) -} - -func (m *UnarchiveUserAttributeValuesResponse) MarshalToSizedBufferVTStrict(dAtA []byte) (int, error) { - if m == nil { - return 0, nil - } - i := len(dAtA) - _ = i - var l int - _ = l - if m.unknownFields != nil { - i -= len(m.unknownFields) - copy(dAtA[i:], m.unknownFields) - } - return len(dAtA) - i, nil -} - -func (m *UserAttributeKey) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Type != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ModifiedDate != nil { - l = (*timestamppb1.Timestamp)(m.ModifiedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.ModifiedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IsArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *CreateUserAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.Type != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.Type)) - } - n += len(m.unknownFields) - return n -} - -func (m *CreateUserAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.UserAttributeKey != nil { - l = m.UserAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateUserAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Name) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Description) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.UpdateMask != nil { - l = (*fieldmaskpb1.FieldMask)(m.UpdateMask).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UpdateUserAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.UserAttributeKey != nil { - l = m.UserAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetUserAttributeKeyRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetUserAttributeKeyResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.UserAttributeKey != nil { - l = m.UserAttributeKey.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeKeys) > 0 { - for _, e := range m.UserAttributeKeys { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveUserAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeKeyIds) > 0 { - for _, s := range m.UserAttributeKeyIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveUserAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveUserAttributeKeysRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeKeyIds) > 0 { - for _, s := range m.UserAttributeKeyIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveUserAttributeKeysResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UserAttributeValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.UserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrganizationId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - l = len(m.CreatedByUserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.CreatedDate != nil { - l = (*timestamppb1.Timestamp)(m.CreatedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.ArchivedDate != nil { - l = (*timestamppb1.Timestamp)(m.ArchivedDate).SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IsArchived { - n += 2 - } - if m.Key != nil { - l = m.Key.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *UserAttributeValue_StringValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.StringValue) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *UserAttributeValue_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *UserAttributeValue_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *CreateUserAttributeValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.UserId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - n += len(m.unknownFields) - return n -} - -func (m *CreateUserAttributeValueRequest_StringValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.StringValue) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *CreateUserAttributeValueRequest_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *CreateUserAttributeValueRequest_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *CreateUserAttributeValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.UserAttributeValue != nil { - l = m.UserAttributeValue.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *BatchCreateUserAttributeValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if len(m.UserIds) > 0 { - for _, s := range m.UserIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - if vtmsg, ok := m.Value.(interface{ SizeVT() int }); ok { - n += vtmsg.SizeVT() - } - n += len(m.unknownFields) - return n -} - -func (m *BatchCreateUserAttributeValueRequest_StringValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.StringValue) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - return n -} -func (m *BatchCreateUserAttributeValueRequest_NumberValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 9 - return n -} -func (m *BatchCreateUserAttributeValueRequest_BooleanValue) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += 2 - return n -} -func (m *BatchCreateUserAttributeValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeValues) > 0 { - for _, e := range m.UserAttributeValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeKeyValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeKeyId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - if m.IncludeArchived { - n += 2 - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeKeyValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeValues) > 0 { - for _, e := range m.UserAttributeValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.PageSize != 0 { - n += 1 + protohelpers.SizeOfVarint(uint64(m.PageSize)) - } - l = len(m.PageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.Filter) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - l = len(m.OrderBy) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ListUserAttributeValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeValues) > 0 { - for _, e := range m.UserAttributeValues { - l = e.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - l = len(m.NextPageToken) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetUserAttributeValueRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - l = len(m.UserAttributeValueId) - if l > 0 { - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *GetUserAttributeValueResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if m.UserAttributeValue != nil { - l = m.UserAttributeValue.SizeVT() - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveUserAttributeValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeValueIds) > 0 { - for _, s := range m.UserAttributeValueIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *ArchiveUserAttributeValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveUserAttributeValuesRequest) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - if len(m.UserAttributeValueIds) > 0 { - for _, s := range m.UserAttributeValueIds { - l = len(s) - n += 1 + l + protohelpers.SizeOfVarint(uint64(l)) - } - } - n += len(m.unknownFields) - return n -} - -func (m *UnarchiveUserAttributeValuesResponse) SizeVT() (n int) { - if m == nil { - return 0 - } - var l int - _ = l - n += len(m.unknownFields) - return n -} - -func (m *UserAttributeKey) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UserAttributeKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UserAttributeKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= UserAttributeValueType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.ModifiedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= UserAttributeValueType(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateUserAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Name = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Description = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateUserAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeKeyRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeKeyResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeys", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeys = append(m.UserAttributeKeys, &UserAttributeKey{}) - if err := m.UserAttributeKeys[len(m.UserAttributeKeys)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyIds = append(m.UserAttributeKeyIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeKeysRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyIds = append(m.UserAttributeKeyIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeKeysResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UserAttributeValue) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UserAttributeValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UserAttributeValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrganizationId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &UserAttributeValue_StringValue{StringValue: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 6: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &UserAttributeValue_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &UserAttributeValue_BooleanValue{BooleanValue: b} - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.CreatedByUserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Key == nil { - m.Key = &UserAttributeKey{} - } - if err := m.Key.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &CreateUserAttributeValueRequest_StringValue{StringValue: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 5: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &CreateUserAttributeValueRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &CreateUserAttributeValueRequest_BooleanValue{BooleanValue: b} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeValue == nil { - m.UserAttributeValue = &UserAttributeValue{} - } - if err := m.UserAttributeValue.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateUserAttributeValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserIds = append(m.UserIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Value = &BatchCreateUserAttributeValueRequest_StringValue{StringValue: string(dAtA[iNdEx:postIndex])} - iNdEx = postIndex - case 4: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &BatchCreateUserAttributeValueRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &BatchCreateUserAttributeValueRequest_BooleanValue{BooleanValue: b} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateUserAttributeValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeyValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeyId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeyValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.PageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.Filter = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.OrderBy = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.NextPageToken = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeValueRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValueId = string(dAtA[iNdEx:postIndex]) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeValueResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeValue == nil { - m.UserAttributeValue = &UserAttributeValue{} - } - if err := m.UserAttributeValue.UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValueIds = append(m.UserAttributeValueIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeValuesRequest) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValueIds = append(m.UserAttributeValueIds, string(dAtA[iNdEx:postIndex])) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeValuesResponse) UnmarshalVT(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UserAttributeKey) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UserAttributeKey: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UserAttributeKey: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Name = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= UserAttributeValueType(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 6: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 7: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ModifiedDate == nil { - m.ModifiedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ModifiedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ModifiedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.ModifiedByUserId = stringValue - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Name = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 3: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field Type", wireType) - } - m.Type = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.Type |= UserAttributeValueType(b&0x7F) << shift - if b < 0x80 { - break - } - } - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateUserAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Name = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Description", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Description = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UpdateMask", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UpdateMask == nil { - m.UpdateMask = &fieldmaskpb.FieldMask{} - } - if err := (*fieldmaskpb1.FieldMask)(m.UpdateMask).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UpdateUserAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UpdateUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UpdateUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeKeyRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeKeyRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeKeyRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeKeyResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeKeyResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeKeyResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKey", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeKey == nil { - m.UserAttributeKey = &UserAttributeKey{} - } - if err := m.UserAttributeKey.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeys", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeKeys = append(m.UserAttributeKeys, &UserAttributeKey{}) - if err := m.UserAttributeKeys[len(m.UserAttributeKeys)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyIds = append(m.UserAttributeKeyIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeKeysRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyIds = append(m.UserAttributeKeyIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeKeysResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeKeysResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UserAttributeValue) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UserAttributeValue: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UserAttributeValue: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeValueId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserId = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrganizationId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrganizationId = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &UserAttributeValue_StringValue{StringValue: stringValue} - iNdEx = postIndex - case 6: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &UserAttributeValue_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 7: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &UserAttributeValue_BooleanValue{BooleanValue: b} - case 8: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedByUserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.CreatedByUserId = stringValue - iNdEx = postIndex - case 9: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field CreatedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.CreatedDate == nil { - m.CreatedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.CreatedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 10: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field ArchivedDate", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.ArchivedDate == nil { - m.ArchivedDate = ×tamppb.Timestamp{} - } - if err := (*timestamppb1.Timestamp)(m.ArchivedDate).UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 11: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IsArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IsArchived = bool(v != 0) - case 12: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Key", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.Key == nil { - m.Key = &UserAttributeKey{} - } - if err := m.Key.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserId = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &CreateUserAttributeValueRequest_StringValue{StringValue: stringValue} - iNdEx = postIndex - case 5: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &CreateUserAttributeValueRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &CreateUserAttributeValueRequest_BooleanValue{BooleanValue: b} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *CreateUserAttributeValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: CreateUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: CreateUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeValue == nil { - m.UserAttributeValue = &UserAttributeValue{} - } - if err := m.UserAttributeValue.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateUserAttributeValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserIds = append(m.UserIds, stringValue) - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field StringValue", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Value = &BatchCreateUserAttributeValueRequest_StringValue{StringValue: stringValue} - iNdEx = postIndex - case 4: - if wireType != 1 { - return fmt.Errorf("proto: wrong wireType = %d for field NumberValue", wireType) - } - var v uint64 - if (iNdEx + 8) > l { - return io.ErrUnexpectedEOF - } - v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) - iNdEx += 8 - m.Value = &BatchCreateUserAttributeValueRequest_NumberValue{NumberValue: float64(math.Float64frombits(v))} - case 5: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field BooleanValue", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - b := bool(v != 0) - m.Value = &BatchCreateUserAttributeValueRequest_BooleanValue{BooleanValue: b} - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *BatchCreateUserAttributeValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: BatchCreateUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeyValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeKeyId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeKeyId = stringValue - iNdEx = postIndex - case 2: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 5: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - case 6: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field IncludeArchived", wireType) - } - var v int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - v |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - m.IncludeArchived = bool(v != 0) - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeKeyValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeKeyValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 0 { - return fmt.Errorf("proto: wrong wireType = %d for field PageSize", wireType) - } - m.PageSize = 0 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - m.PageSize |= uint32(b&0x7F) << shift - if b < 0x80 { - break - } - } - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field PageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.PageToken = stringValue - iNdEx = postIndex - case 3: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field Filter", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.Filter = stringValue - iNdEx = postIndex - case 4: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field OrderBy", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.OrderBy = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ListUserAttributeValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ListUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ListUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValues", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - m.UserAttributeValues = append(m.UserAttributeValues, &UserAttributeValue{}) - if err := m.UserAttributeValues[len(m.UserAttributeValues)-1].UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - case 2: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field NextPageToken", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.NextPageToken = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeValueRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeValueRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeValueRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueId", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeValueId = stringValue - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *GetUserAttributeValueResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: GetUserAttributeValueResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: GetUserAttributeValueResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValue", wireType) - } - var msglen int - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - msglen |= int(b&0x7F) << shift - if b < 0x80 { - break - } - } - if msglen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + msglen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - if m.UserAttributeValue == nil { - m.UserAttributeValue = &UserAttributeValue{} - } - if err := m.UserAttributeValue.UnmarshalVTUnsafe(dAtA[iNdEx:postIndex]); err != nil { - return err - } - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeValueIds = append(m.UserAttributeValueIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *ArchiveUserAttributeValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: ArchiveUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeValuesRequest) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesRequest: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesRequest: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - case 1: - if wireType != 2 { - return fmt.Errorf("proto: wrong wireType = %d for field UserAttributeValueIds", wireType) - } - var stringLen uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - stringLen |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - intStringLen := int(stringLen) - if intStringLen < 0 { - return protohelpers.ErrInvalidLength - } - postIndex := iNdEx + intStringLen - if postIndex < 0 { - return protohelpers.ErrInvalidLength - } - if postIndex > l { - return io.ErrUnexpectedEOF - } - var stringValue string - if intStringLen > 0 { - stringValue = unsafe.String(&dAtA[iNdEx], intStringLen) - } - m.UserAttributeValueIds = append(m.UserAttributeValueIds, stringValue) - iNdEx = postIndex - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} -func (m *UnarchiveUserAttributeValuesResponse) UnmarshalVTUnsafe(dAtA []byte) error { - l := len(dAtA) - iNdEx := 0 - for iNdEx < l { - preIndex := iNdEx - var wire uint64 - for shift := uint(0); ; shift += 7 { - if shift >= 64 { - return protohelpers.ErrIntOverflow - } - if iNdEx >= l { - return io.ErrUnexpectedEOF - } - b := dAtA[iNdEx] - iNdEx++ - wire |= uint64(b&0x7F) << shift - if b < 0x80 { - break - } - } - fieldNum := int32(wire >> 3) - wireType := int(wire & 0x7) - if wireType == 4 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesResponse: wiretype end group for non-group") - } - if fieldNum <= 0 { - return fmt.Errorf("proto: UnarchiveUserAttributeValuesResponse: illegal tag %d (wire type %d)", fieldNum, wire) - } - switch fieldNum { - default: - iNdEx = preIndex - skippy, err := protohelpers.Skip(dAtA[iNdEx:]) - if err != nil { - return err - } - if (skippy < 0) || (iNdEx+skippy) < 0 { - return protohelpers.ErrInvalidLength - } - if (iNdEx + skippy) > l { - return io.ErrUnexpectedEOF - } - m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) - iNdEx += skippy - } - } - - if iNdEx > l { - return io.ErrUnexpectedEOF - } - return nil -} diff --git a/protos/sift/annotation_logs/v1/annotation_logs.proto b/protos/sift/annotation_logs/v1/annotation_logs.proto index ab49d82e3..e893eedcc 100644 --- a/protos/sift/annotation_logs/v1/annotation_logs.proto +++ b/protos/sift/annotation_logs/v1/annotation_logs.proto @@ -93,7 +93,7 @@ message ListAnnotationLogsRequest { // Available fields to filter by are `annotation_log_id`, `annotation_id`, `created_by_user_id`, // `annotation_id`, `created_date`, `modified_date`, and `kind`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. + // For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. string filter = 4 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/protos/sift/annotations/v1/annotations.proto b/protos/sift/annotations/v1/annotations.proto index d98e6a019..2e7212f33 100644 --- a/protos/sift/annotations/v1/annotations.proto +++ b/protos/sift/annotations/v1/annotations.proto @@ -180,6 +180,9 @@ message Annotation { // is_archived is a inferred from when archived_date is not null bool is_archived = 27 [(google.api.field_behavior) = REQUIRED]; + + int32 batched_triggers = 28 [(google.api.field_behavior) = REQUIRED]; + bool is_noisy_rule = 29 [(google.api.field_behavior) = OPTIONAL]; } enum AnnotationState { @@ -203,10 +206,15 @@ message AnnotationLinkedChannelsBitFieldElement { string bit_field_name = 2 [(google.api.field_behavior) = REQUIRED]; } +message AnnotationLinkedCalculatedChannel { + string calculated_channel_version_id = 1 [(google.api.field_behavior) = REQUIRED]; +} + message AnnotationLinkedChannel { oneof type { AnnotationLinkedChannelsChannel channel = 1; AnnotationLinkedChannelsBitFieldElement bit_field_element = 2; + AnnotationLinkedCalculatedChannel calculated_channel = 3; } } @@ -294,7 +302,7 @@ message ListAnnotationsRequest { // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. // Available fields to filter by are `annotation_id`, `start_time`, `end_time`, - // `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, + // `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, `rule_id`, // `annotation_type`, `tag_name`, `report_id`, `asset_id`, `asset_name`, `pending`, `assignee`, `campaign_reports`, `metadata`, `archived_date`, and `is_archived`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotations#annotation). Optional. diff --git a/protos/sift/calculated_channels/v1/calculated_channels.proto b/protos/sift/calculated_channels/v1/calculated_channels.proto index 916e648a0..d9d70e201 100644 --- a/protos/sift/calculated_channels/v1/calculated_channels.proto +++ b/protos/sift/calculated_channels/v1/calculated_channels.proto @@ -43,9 +43,14 @@ service CalculatedChannelsService { } } +// Reference to a saved calculated channel with optional asset context. + message ExpressionChannelReference { string channel_reference = 1 [(google.api.field_behavior) = REQUIRED]; string channel_id = 2 [(google.api.field_behavior) = REQUIRED]; + oneof calculated_channel_reference { + ExpressionRequest calculated_channel = 4; + } } message ExpressionRequest { diff --git a/protos/sift/calculated_channels/v2/calculated_channels.proto b/protos/sift/calculated_channels/v2/calculated_channels.proto index 2ac6ad069..33408a4c4 100644 --- a/protos/sift/calculated_channels/v2/calculated_channels.proto +++ b/protos/sift/calculated_channels/v2/calculated_channels.proto @@ -12,6 +12,7 @@ import "sift/common/type/v1/channel_data_type.proto"; import "sift/common/type/v1/resource_identifier.proto"; import "sift/common/type/v1/user_defined_functions.proto"; import "sift/metadata/v1/metadata.proto"; +import "sift/rules/v1/rules.proto"; service CalculatedChannelService { @@ -104,6 +105,24 @@ service CalculatedChannelService { description: "Retrieve the latest versions of calculated channels based on an optional filter." }; } + + // Retrieve calculated channel versions by their version IDs. + rpc GetCalculatedChannelVersions(GetCalculatedChannelVersionsRequest) returns (GetCalculatedChannelVersionsResponse) { + option (google.api.http) = {get: "/api/v2/calculated-channels/versions"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + summary: "GetCalculatedChannelVersions" + description: "Retrieve calculated channel versions by their version IDs." + }; + } + + // Retrieve calculated channels that depend on a given calculated channel. + rpc GetCalculatedChannelDependents(GetCalculatedChannelDependentsRequest) returns (GetCalculatedChannelDependentsResponse) { + option (google.api.http) = {get: "/api/v2/calculated-channels/dependents"}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { + summary: "GetCalculatedChannelDependents" + description: "Retrieve calculated channels that depend on a given calculated channel." + }; + } } message CalculatedChannel { @@ -128,6 +147,13 @@ message CalculatedChannel { repeated sift.metadata.v1.MetadataValue metadata = 20 [(google.api.field_behavior) = REQUIRED]; // Whether the calculated channel is archived. This is inferred from whether archived_date is set. bool is_archived = 21 [(google.api.field_behavior) = REQUIRED]; + // Calculated channels that this channel depends on. + repeated CalculatedChannelDependency calculated_channel_dependencies = 22 [(google.api.field_behavior) = REQUIRED]; +} + +// A dependency on another calculated channel. +message CalculatedChannelDependency { + string calculated_channel_version_id = 1 [(google.api.field_behavior) = REQUIRED]; } message CalculatedChannelConfiguration { @@ -160,7 +186,12 @@ message CalculatedChannelQueryConfiguration { message CalculatedChannelAbstractChannelReference { string channel_reference = 1 [(google.api.field_behavior) = REQUIRED]; - string channel_identifier = 2 [(google.api.field_behavior) = REQUIRED]; + // must use either a channel_identifier or a calculated_channel_reference, not both + string channel_identifier = 2 [(google.api.field_behavior) = OPTIONAL]; + oneof calculated_channel_reference { + string calculated_channel_version_id = 3; + sift.calculated_channels.v1.ExpressionRequest calculated_channel = 4; + } } message CalculatedChannelValidationResult { @@ -181,6 +212,7 @@ message GetCalculatedChannelRequest { string calculated_channel_id = 1 [(google.api.field_behavior) = OPTIONAL]; string client_key = 2 [(google.api.field_behavior) = OPTIONAL]; string organization_id = 3 [(google.api.field_behavior) = OPTIONAL]; + string calculated_channel_version_id = 4 [(google.api.field_behavior) = OPTIONAL]; } message GetCalculatedChannelResponse { @@ -411,3 +443,27 @@ message ListResolvedCalculatedChannelsResponse { repeated CalculatedChannelResolution calculated_channel_resolutions = 1 [(google.api.field_behavior) = REQUIRED]; string next_page_token = 3 [(google.api.field_behavior) = OPTIONAL]; } + +// The request for a call to `CalculatedChannelService_GetCalculatedChannelVersions` to retrieve versions of calculated channels by their version IDs. +message GetCalculatedChannelVersionsRequest { + repeated string calculated_channel_version_ids = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The response of a call to `CalculatedChannelService_GetCalculatedChannelVersions`. +message GetCalculatedChannelVersionsResponse { + repeated CalculatedChannel calculated_channels = 1 [(google.api.field_behavior) = REQUIRED]; +} + +// The request for a call to `CalculatedChannelService_GetCalculatedChannelDependents` to retrieve calculated channels that depend on a given calculated channel. +message GetCalculatedChannelDependentsRequest { + oneof calculated_channel { + string calculated_channel_id = 1 [(google.api.field_behavior) = OPTIONAL]; + string calculated_channel_version_id = 2 [(google.api.field_behavior) = OPTIONAL]; + } +} + +// The response of a call to `CalculatedChannelService_GetCalculatedChannelDependents`. +message GetCalculatedChannelDependentsResponse { + repeated CalculatedChannel calculated_channels = 1 [(google.api.field_behavior) = REQUIRED]; + repeated sift.rules.v1.Rule rules = 2 [(google.api.field_behavior) = REQUIRED]; +} diff --git a/protos/sift/channels/v2/channels.proto b/protos/sift/channels/v2/channels.proto index 0c026dd60..c6eeff7ce 100644 --- a/protos/sift/channels/v2/channels.proto +++ b/protos/sift/channels/v2/channels.proto @@ -85,7 +85,7 @@ message ListChannelsRequest { string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description`, `active`, + // Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description` // `run_id`, `run_name`, `run_client_key`, `created_date`, and `modified_date`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. @@ -95,7 +95,7 @@ message ListChannelsRequest { string organization_id = 4 [(google.api.field_behavior) = OPTIONAL]; // How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` and `modified_date`. + // Available fields to order_by are `created_date` and `modified_date`, `active`. // If left empty, items are ordered by `created_date` in ascending order (oldest-first). // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) // Example: "created_date desc,modified_date" diff --git a/protos/sift/channels/v3/channels.proto b/protos/sift/channels/v3/channels.proto index 130dc545a..4666166ac 100644 --- a/protos/sift/channels/v3/channels.proto +++ b/protos/sift/channels/v3/channels.proto @@ -131,14 +131,14 @@ message ListChannelsRequest { string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `channel_id`, `asset_id`, `name`, `description`, `active`, + // Available fields to filter by are `channel_id`, `asset_id`, `name`, `description` // `run_id`, `run_name`, `run_client_key`, `created_date`, `modified_date`, `created_by_user_id`, and `modified_by_user_id`. // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. string filter = 3 [(google.api.field_behavior) = OPTIONAL]; // How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `name`, `created_date` and `modified_date`. + // Available fields to order_by are `name`, `created_date` and `modified_date`, `active`. // If left empty, items are ordered by `created_date` in ascending order (oldest-first). // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) // Example: "created_date desc,modified_date" diff --git a/protos/sift/common/type/v1/calculated_channels.proto b/protos/sift/common/type/v1/calculated_channels.proto new file mode 100644 index 000000000..e358e70bb --- /dev/null +++ b/protos/sift/common/type/v1/calculated_channels.proto @@ -0,0 +1,15 @@ +syntax = "proto3"; + +package sift.common.type.v1; + +import "buf/validate/validate.proto"; +import "google/api/field_behavior.proto"; + + +// A dependency on another calculated channel. +message CalculatedChannelDependency { + string calculated_channel_version_id = 1 [ + (google.api.field_behavior) = REQUIRED, + (buf.validate.field).string.uuid = true + ]; +} diff --git a/protos/sift/common/type/v1/organization.proto b/protos/sift/common/type/v1/organization.proto index 2618fcf8a..d2d64614c 100644 --- a/protos/sift/common/type/v1/organization.proto +++ b/protos/sift/common/type/v1/organization.proto @@ -8,4 +8,5 @@ import "google/api/field_behavior.proto"; message Organization { string organization_id = 1 [(google.api.field_behavior) = REQUIRED]; string organization_name = 2 [(google.api.field_behavior) = REQUIRED]; + optional bool is_abac_enabled = 3 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/protos/sift/common/v1/action_type.proto b/protos/sift/common/v1/action_type.proto new file mode 100644 index 000000000..033d4451e --- /dev/null +++ b/protos/sift/common/v1/action_type.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; + +package sift.common.v1; + + +// ActionType represents the type of action being performed on a resource +// Granular ABAC actions, broken up by CRUD. +enum ActionType { + ACTION_TYPE_UNSPECIFIED = 0; + // Create actions (reserving 100 for generic create) + ACTION_TYPE_INGEST_DATA = 110; + ACTION_TYPE_CREATE_RUN = 120; + // Read actions + // Lowest-level read action type. If this is denied, all other read actions should be denied. + // Used for view/search/index metadata and overview details pages. + ACTION_TYPE_VIEW_DETAILS = 200; + // Read telemetry data values from channels/runs/assets. + // Keep ACTION_TYPE_VIEW_DETAILS for non-telemetry "view details" style access. + ACTION_TYPE_VIEW_DATA = 205; + ACTION_TYPE_EXPORT = 210; + // Update/Edit actions (reserving 300 for generic edit) + // Name, Description, Units + ACTION_TYPE_EDIT_DETAILS = 310; + ACTION_TYPE_EDIT_TAGS = 312; + ACTION_TYPE_EDIT_METADATA = 313; + // Delete actions + ACTION_TYPE_ARCHIVE = 400; +} diff --git a/protos/sift/common/v1/resource_type.proto b/protos/sift/common/v1/resource_type.proto new file mode 100644 index 000000000..5d8e85eaf --- /dev/null +++ b/protos/sift/common/v1/resource_type.proto @@ -0,0 +1,24 @@ +syntax = "proto3"; + +package sift.common.v1; + + +// ResourceType represents the type of resource being accessed. +enum ResourceType { + RESOURCE_TYPE_UNSPECIFIED = 0; + RESOURCE_TYPE_ASSET = 1; + RESOURCE_TYPE_CHANNEL = 2; + RESOURCE_TYPE_RUN = 3; + RESOURCE_TYPE_ANNOTATION = 4; + RESOURCE_TYPE_CAMPAIGN = 5; + RESOURCE_TYPE_REPORT = 6; + RESOURCE_TYPE_RULE = 7; + RESOURCE_TYPE_RULE_VERSION = 8; + RESOURCE_TYPE_USER_DEFINED_FUNCTION = 9; + RESOURCE_TYPE_CALCULATED_CHANNEL = 10; + RESOURCE_TYPE_REPORT_TEMPLATE = 11; + RESOURCE_TYPE_TEST_REPORT = 12; + + // Special type for a resource that doesn't yet exist (eg. creating an asset) + RESOURCE_TYPE_SIFT_APP = 1000; +} diff --git a/protos/sift/data/v2/data.proto b/protos/sift/data/v2/data.proto index c2687310e..e98ba8a6e 100644 --- a/protos/sift/data/v2/data.proto +++ b/protos/sift/data/v2/data.proto @@ -11,7 +11,6 @@ import "sift/calculated_channels/v1/calculated_channels.proto"; import "sift/common/type/v1/channel_bit_field_element.proto"; import "sift/common/type/v1/channel_data_type.proto"; import "sift/common/type/v1/channel_enum_type.proto"; -import "sift/options/v1/safe_to_log.proto"; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info: {title: "Data Service"} @@ -35,7 +34,6 @@ service DataService { } message GetDataRequest { - option (sift.options.v1.safe_to_log) = true; repeated Query queries = 1; // Required. The starting timestamp of the data to retrieve. This is an inclusive bound. @@ -63,6 +61,9 @@ message GetDataRequest { // When paginating, all other parameters provided to `GetData` must match // the call that provided the page token. string page_token = 6; + + // Optional flag to enable inclusion of "sift_received_at" timestamps + // in GetDataResponse.data.extras field. } message Query { diff --git a/protos/sift/data_imports/v2/data_imports.proto b/protos/sift/data_imports/v2/data_imports.proto index 7a38e1d96..345166c54 100644 --- a/protos/sift/data_imports/v2/data_imports.proto +++ b/protos/sift/data_imports/v2/data_imports.proto @@ -20,7 +20,7 @@ service DataImportService { }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { summary: "CreateDataImportFromUrl" - description: "Creates a data import from a url." + description: "Creates a data import from a file hosted at a url." operation_id: "DataImportService_CreateDataImportFromUrlV2" }; } @@ -84,6 +84,7 @@ message CreateDataImportFromUrlRequest { Ch10Config ch10_config = 3 [(google.api.field_behavior) = OPTIONAL]; TDMSConfig tdms_config = 4 [(google.api.field_behavior) = OPTIONAL]; ParquetConfig parquet_config = 5 [(google.api.field_behavior) = OPTIONAL]; + Hdf5Config hdf5_config = 6 [(google.api.field_behavior) = OPTIONAL]; } message CreateDataImportFromUrlResponse { @@ -103,6 +104,7 @@ message CreateDataImportFromUploadRequest { Ch10Config ch10_config = 3 [(google.api.field_behavior) = OPTIONAL]; TDMSConfig tdms_config = 4 [(google.api.field_behavior) = OPTIONAL]; ParquetConfig parquet_config = 5 [(google.api.field_behavior) = OPTIONAL]; + Hdf5Config hdf5_config = 6 [(google.api.field_behavior) = OPTIONAL]; } message CreateDataImportFromUploadResponse { @@ -156,6 +158,8 @@ enum DataTypeKey { DATA_TYPE_KEY_TDMS = 2; DATA_TYPE_KEY_CH10 = 3; DATA_TYPE_KEY_PARQUET_FLATDATASET = 4; + DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW = 5; + DATA_TYPE_KEY_HDF5 = 6; } message DetectConfigRequest { @@ -166,6 +170,7 @@ message DetectConfigRequest { message DetectConfigResponse { CsvConfig csv_config = 1; ParquetConfig parquet_config = 2; + Hdf5Config hdf5_config = 3; } message Ch10Config { @@ -201,11 +206,39 @@ message ParquetDataColumn { sift.common.type.v1.ChannelConfig channel_config = 2; } +message ParquetColumn { + string path = 1; + sift.common.type.v1.ChannelConfig column_config = 2; +} + message ParquetFlatDatasetConfig { ParquetTimeColumn time_column = 1; repeated ParquetDataColumn data_columns = 2; } +message ParquetSingleChannelPerRowMultiChannelConfig { + string name_path = 1; + string data_path = 2; +} + +message ParquetSingleChannelPerRowSingleChannelConfig { + string data_path = 1; + sift.common.type.v1.ChannelConfig channel = 2; +} + +message ParquetSingleChannelPerRowConfig { + // Timestamp column configuration. + ParquetTimeColumn time_column = 1; + // Detected columns. + repeated ParquetColumn columns = 2; + oneof config { + // Single channel per file configuration. + ParquetSingleChannelPerRowSingleChannelConfig single_channel = 3; + // Multi-channel per file configuration. + ParquetSingleChannelPerRowMultiChannelConfig multi_channel = 4; + } +} + enum ParquetComplexTypesImportMode { PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED = 0 [deprecated = true]; // Ignore complex types and do not ingest them. @@ -225,6 +258,7 @@ message ParquetConfig { string run_id = 3; oneof config { ParquetFlatDatasetConfig flat_dataset = 4; + ParquetSingleChannelPerRowConfig single_channel_per_row = 8; } uint64 footer_offset = 5; uint32 footer_length = 6; @@ -232,6 +266,27 @@ message ParquetConfig { ParquetComplexTypesImportMode complex_types_import_mode = 7; } +message Hdf5DataConfig { + string time_dataset = 1; + uint64 time_index = 2; + string value_dataset = 3; + uint64 value_index = 4; + sift.common.type.v1.ChannelConfig channel_config = 5; + // For compound types, allow specifying which fields to use. + optional string time_field = 6; + optional string value_field = 7; +} + +message Hdf5Config { + string asset_name = 1; + string run_name = 2; + // The id of the run to add this data to. If set, `run_name` is ignored. + string run_id = 3; + repeated Hdf5DataConfig data = 4; + TimeFormat time_format = 5; + optional google.protobuf.Timestamp relative_start_time = 6; +} + enum DataImportStatus { DATA_IMPORT_STATUS_UNSPECIFIED = 0 [deprecated = true]; DATA_IMPORT_STATUS_PENDING = 1; @@ -251,6 +306,7 @@ message DataImport { Ch10Config ch10_config = 9 [(google.api.field_behavior) = OPTIONAL]; TDMSConfig tdms_config = 10 [(google.api.field_behavior) = OPTIONAL]; ParquetConfig parquet_config = 16 [(google.api.field_behavior) = OPTIONAL]; + Hdf5Config hdf5_config = 17 [(google.api.field_behavior) = OPTIONAL]; // The run id will be set if the data import ingests to a run once the run is available. optional string run_id = 11 [(google.api.field_behavior) = OPTIONAL]; diff --git a/protos/sift/exports/v1/exports.proto b/protos/sift/exports/v1/exports.proto index 0df02de49..6d6cad666 100644 --- a/protos/sift/exports/v1/exports.proto +++ b/protos/sift/exports/v1/exports.proto @@ -55,6 +55,7 @@ enum ExportOutputFormat { EXPORT_OUTPUT_FORMAT_UNSPECIFIED = 0; EXPORT_OUTPUT_FORMAT_CSV = 1; EXPORT_OUTPUT_FORMAT_SUN = 2; + EXPORT_OUTPUT_FORMAT_PARQUET = 3; } message TimeRange { @@ -101,6 +102,9 @@ message ExportDataResponse { // This will be non-empty if the export is being processed asynchronously in a background job. string job_id = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional message for the client to display in success or error notification (e.g. exclusions or 403 reason). + string service_message = 3 [(google.api.field_behavior) = OPTIONAL]; } message GetDownloadUrlRequest { @@ -109,4 +113,7 @@ message GetDownloadUrlRequest { message GetDownloadUrlResponse { string presigned_url = 1 [(google.api.field_behavior) = REQUIRED]; + + // Optional message for the client to display in success or error notification. + string service_message = 2 [(google.api.field_behavior) = OPTIONAL]; } diff --git a/protos/sift/options/v1/safe_to_log.proto b/protos/sift/options/v1/safe_to_log.proto deleted file mode 100644 index 30ff08da9..000000000 --- a/protos/sift/options/v1/safe_to_log.proto +++ /dev/null @@ -1,12 +0,0 @@ -syntax = "proto3"; - -package sift.options.v1; - -import "google/protobuf/descriptor.proto"; - - -// Indicates that the request message does not contain any sensitive information and -// is safe to log in access logs. Whitelist approach for safety. -extend google.protobuf.MessageOptions { - bool safe_to_log = 70000; -} diff --git a/protos/sift/policies/v1/policies.proto b/protos/sift/policies/v1/policies.proto deleted file mode 100644 index c5f391153..000000000 --- a/protos/sift/policies/v1/policies.proto +++ /dev/null @@ -1,213 +0,0 @@ -syntax = "proto3"; - -package sift.policies.v1; - -import "buf/validate/validate.proto"; -import "google/api/annotations.proto"; -import "google/api/field_behavior.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; - -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: {title: "Policy service"} -}; - -service PolicyService { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = {description: "Service to manage ABAC policies."}; - - // Retrieve a policy - rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse) { - option (google.api.http) = {get: "/api/v1/policies/{policy_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "GetPolicy" - description: "Retrieve a policy." - operation_id: "PolicyService_GetPolicy" - }; - } - - // Retrieve policies using an optional filter. - rpc ListPolicies(ListPoliciesRequest) returns (ListPoliciesResponse) { - option (google.api.http) = {get: "/api/v1/policies"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ListPolicies" - description: "Retrieve policies using an optional filter." - operation_id: "PolicyService_ListPolicies" - }; - } - - // Create a policy - rpc CreatePolicy(CreatePolicyRequest) returns (CreatePolicyResponse) { - option (google.api.http) = { - post: "/api/v1/policies" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "CreatePolicy" - description: "Create a new policy." - operation_id: "PolicyService_CreatePolicy" - }; - } - - // Update a policy - rpc UpdatePolicy(UpdatePolicyRequest) returns (UpdatePolicyResponse) { - option (google.api.http) = { - patch: "/api/v1/policies" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "UpdatePolicy" - description: "Update a policy." - operation_id: "PolicyService_UpdatePolicy" - }; - } - - // Archive a policy - rpc ArchivePolicy(ArchivePolicyRequest) returns (ArchivePolicyResponse) { - option (google.api.http) = {post: "/api/v1/policies/{policy_id}/archive"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ArchivePolicy" - description: "Archive a policy." - operation_id: "PolicyService_ArchivePolicy" - }; - } -} - -message Policy { - string policy_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string name = 2 [(google.api.field_behavior) = REQUIRED]; - optional string description = 3 [(google.api.field_behavior) = OPTIONAL]; - string organization_id = 4 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string created_by_user_id = 5 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string modified_by_user_id = 6 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp created_date = 7 [(google.api.field_behavior) = REQUIRED]; - google.protobuf.Timestamp modified_date = 8 [(google.api.field_behavior) = REQUIRED]; - // Policy rules/configuration - PolicyConfiguration configuration = 9 [(google.api.field_behavior) = REQUIRED]; - // Reference to the current policy version ID - string policy_version_id = 10 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - // The date the policy was archived. - google.protobuf.Timestamp archived_date = 11 [(google.api.field_behavior) = OPTIONAL]; - bool is_archived = 12 [(google.api.field_behavior) = REQUIRED]; - // Optional version number for this policy - optional int32 version = 13 [(google.api.field_behavior) = OPTIONAL]; - // Optional notes for this version - optional string version_notes = 14 [(google.api.field_behavior) = OPTIONAL]; - // Auto-generated change message for this version - optional string generated_change_message = 15 [(google.api.field_behavior) = OPTIONAL]; -} - -// PolicyConfiguration represents the configuration and rules for a policy. -// Expects a string containing a policy in the Cedar format -// https://docs.cedarpolicy.com/policies/syntax-policy.html -message PolicyConfiguration { - string cedar_policy = 1; -} - -// The request for a call to `PolicyService_GetPolicy`. -message GetPolicyRequest { - string policy_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -// The response of a call to `PolicyService_GetPolicy`. -message GetPolicyResponse { - Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// The request for a call to `PolicyService_ListPolicies` to retrieve policies. -message ListPoliciesRequest { - // The maximum number of policies to return. The service may return fewer than this value. - // If unspecified, at most 50 policies will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. Optional. - uint32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - - // A page token, received from a previous `ListPolicies` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListPolicies` must match - // the call that provided the page token. Optional. - string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; - - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `policy_id`, `organization_id`, `name`, `description`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, `archived_date`, and `is_archived`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/policies#policy). Optional. - string filter = 3 [(google.api.field_behavior) = OPTIONAL]; - - // How to order the retrieved policies. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,modified_date" - string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Whether to include archived policies in the response. If false or unset, archived policies are excluded. - bool include_archived = 6 [(google.api.field_behavior) = OPTIONAL]; -} - -// The result of a call to `PolicyService_ListPolicies`. -message ListPoliciesResponse { - repeated Policy policies = 1; - string next_page_token = 2; -} - -// The request for a call to `PolicyService_CreatePolicy` to create a new policy. -message CreatePolicyRequest { - string name = 1 [(google.api.field_behavior) = REQUIRED]; - optional string description = 2 [(google.api.field_behavior) = OPTIONAL]; - // Policy rules/configuration - PolicyConfiguration configuration = 3 [(google.api.field_behavior) = REQUIRED]; - // Optional notes for this version - optional string version_notes = 4 [(google.api.field_behavior) = OPTIONAL]; -} - -// The response of a call to `PolicyService_CreatePolicy`. -message CreatePolicyResponse { - Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// The request for a call to `PolicyService_UpdatePolicy` to update a policy. -message UpdatePolicyRequest { - Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; - // The list of fields to be updated. The fields available to be updated are `name`, `description`, `configuration`, and `is_archived`. - google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; - // Optional notes for the new policy version when configuration changes - optional string version_notes = 3; -} - -// The response of a call to `PolicyService_UpdatePolicy`. -message UpdatePolicyResponse { - Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// The request for a call to `PolicyService_ArchivePolicy` to archive a policy. -message ArchivePolicyRequest { - string policy_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -// The response of a call to `PolicyService_ArchivePolicy`. -message ArchivePolicyResponse { - Policy policy = 1 [(google.api.field_behavior) = REQUIRED]; -} - diff --git a/protos/sift/protobuf_descriptors/v2/protobuf_descriptors.proto b/protos/sift/protobuf_descriptors/v2/protobuf_descriptors.proto index 9b08759ca..559dc2921 100644 --- a/protos/sift/protobuf_descriptors/v2/protobuf_descriptors.proto +++ b/protos/sift/protobuf_descriptors/v2/protobuf_descriptors.proto @@ -23,7 +23,7 @@ service ProtobufDescriptorService { // Used to register a protobuf message to be ingested. rpc AddProtobufDescriptor(AddProtobufDescriptorRequest) returns (AddProtobufDescriptorResponse) { option (google.api.http) = { - post: "/api/v2/protobuf-descriptors:add", + post: "/api/v2/protobuf-descriptors:add" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { @@ -36,7 +36,7 @@ service ProtobufDescriptorService { // Used to check if a protobuf descriptor is compatible with the existing descriptors. rpc CheckProtobufDescriptorCompatibility(CheckProtobufDescriptorCompatibilityRequest) returns (CheckProtobufDescriptorCompatibilityResponse) { option (google.api.http) = { - post: "/api/v2/protobuf-descriptors:check-compatibility", + post: "/api/v2/protobuf-descriptors:check-compatibility" body: "*" }; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { diff --git a/protos/sift/remote_files/v1/remote_files.proto b/protos/sift/remote_files/v1/remote_files.proto index 14353425a..9c4f4f560 100644 --- a/protos/sift/remote_files/v1/remote_files.proto +++ b/protos/sift/remote_files/v1/remote_files.proto @@ -108,6 +108,16 @@ message RemoteFile { google.protobuf.Timestamp created_date = 15 [(google.api.field_behavior) = REQUIRED]; google.protobuf.Timestamp modified_date = 16 [(google.api.field_behavior) = REQUIRED]; repeated sift.metadata.v1.MetadataValue metadata_values = 18 [(google.api.field_behavior) = OPTIONAL]; + RemoteFileType remote_file_type = 20 [(google.api.field_behavior) = REQUIRED]; +} + +enum RemoteFileType { + REMOTE_FILE_TYPE_UNSPECIFIED = 0; + REMOTE_FILE_TYPE_TELEMETRY = 1; // Data import / telemetry (internal: created by import job). + REMOTE_FILE_TYPE_IMAGE = 2; + REMOTE_FILE_TYPE_VIDEO = 3; + REMOTE_FILE_TYPE_AUDIO = 4; + REMOTE_FILE_TYPE_TEST_REPORT = 5; } message VideoMetadata { @@ -209,8 +219,12 @@ message CreateRemoteFileRequest { // Optional custom storage key for uploaded object that is not managed by the RemoteFileService. // When provided, caller is responsible for ensuring uniqueness to avoid collisions or API will return an error. + + // Internal only: do not use from public API. } +// Internal only: source of the remote file (attachment vs import). Not exposed in responses; use RemoteFile.remote_file_type instead. + // The response for a call to `RemoteFileService_CreateRemoteFile`. message CreateRemoteFileResponse { RemoteFile remote_file = 1 [(google.api.field_behavior) = REQUIRED]; diff --git a/protos/sift/reports/v1/reports.proto b/protos/sift/reports/v1/reports.proto index 46c0f04b8..f98b7cd6d 100644 --- a/protos/sift/reports/v1/reports.proto +++ b/protos/sift/reports/v1/reports.proto @@ -118,6 +118,9 @@ message ReportTag { string tag_name = 1 [(google.api.field_behavior) = REQUIRED]; } + + + enum ReportRuleStatus { REPORT_RULE_STATUS_UNSPECIFIED = 0; REPORT_RULE_STATUS_CREATED = 1; diff --git a/protos/sift/resource_attribute/v1/resource_attribute.proto b/protos/sift/resource_attribute/v1/resource_attribute.proto deleted file mode 100644 index 260d78ace..000000000 --- a/protos/sift/resource_attribute/v1/resource_attribute.proto +++ /dev/null @@ -1,693 +0,0 @@ -syntax = "proto3"; - -package sift.resource_attribute.v1; - -import "buf/validate/validate.proto"; -import "google/api/annotations.proto"; -import "google/api/field_behavior.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; - -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: {title: "Resource Attribute service"} -}; - -service ResourceAttributeService { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = {description: "Service to manage ABAC resource attributes (entity attributes)."}; - - rpc CreateResourceAttributeKey(CreateResourceAttributeKeyRequest) returns (CreateResourceAttributeKeyResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-keys" - body: "*" - }; - } - - rpc GetResourceAttributeKey(GetResourceAttributeKeyRequest) returns (GetResourceAttributeKeyResponse) { - option (google.api.http) = {get: "/api/v1/resource-attribute-keys/{resource_attribute_key_id}"}; - } - - rpc ListResourceAttributeKeys(ListResourceAttributeKeysRequest) returns (ListResourceAttributeKeysResponse) { - option (google.api.http) = {get: "/api/v1/resource-attribute-keys"}; - } - - rpc UpdateResourceAttributeKey(UpdateResourceAttributeKeyRequest) returns (UpdateResourceAttributeKeyResponse) { - option (google.api.http) = { - patch: "/api/v1/resource-attribute-keys/{resource_attribute_key_id}" - body: "*" - }; - } - - // Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes. - rpc ArchiveResourceAttributeKey(ArchiveResourceAttributeKeyRequest) returns (ArchiveResourceAttributeKeyResponse) { - option (google.api.http) = {post: "/api/v1/resource-attribute-keys/{resource_attribute_key_id}/archive"}; - } - - // Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes. - rpc UnarchiveResourceAttributeKey(UnarchiveResourceAttributeKeyRequest) returns (UnarchiveResourceAttributeKeyResponse) { - option (google.api.http) = {post: "/api/v1/resource-attribute-keys/{resource_attribute_key_id}/unarchive"}; - } - - // Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes. - rpc BatchArchiveResourceAttributeKeys(BatchArchiveResourceAttributeKeysRequest) returns (BatchArchiveResourceAttributeKeysResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-keys/batch-archive" - body: "*" - }; - } - - // Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes. - rpc BatchUnarchiveResourceAttributeKeys(BatchUnarchiveResourceAttributeKeysRequest) returns (BatchUnarchiveResourceAttributeKeysResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-keys/batch-unarchive" - body: "*" - }; - } - - rpc CreateResourceAttributeEnumValue(CreateResourceAttributeEnumValueRequest) returns (CreateResourceAttributeEnumValueResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-enum-values" - body: "*" - }; - } - - rpc GetResourceAttributeEnumValue(GetResourceAttributeEnumValueRequest) returns (GetResourceAttributeEnumValueResponse) { - option (google.api.http) = {get: "/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}"}; - } - - rpc ListResourceAttributeEnumValues(ListResourceAttributeEnumValuesRequest) returns (ListResourceAttributeEnumValuesResponse) { - option (google.api.http) = {get: "/api/v1/resource-attribute-keys/{resource_attribute_key_id}/enum-values"}; - } - - rpc UpdateResourceAttributeEnumValue(UpdateResourceAttributeEnumValueRequest) returns (UpdateResourceAttributeEnumValueResponse) { - option (google.api.http) = { - patch: "/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}" - body: "*" - }; - } - - // Archives an enum value and migrates all resource-attributes with that value to a replacement value. - rpc ArchiveResourceAttributeEnumValue(ArchiveResourceAttributeEnumValueRequest) returns (ArchiveResourceAttributeEnumValueResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-enum-values/{archived_enum_value_id}/archive" - body: "*" - }; - } - - // Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - rpc UnarchiveResourceAttributeEnumValue(UnarchiveResourceAttributeEnumValueRequest) returns (UnarchiveResourceAttributeEnumValueResponse) { - option (google.api.http) = {post: "/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}/unarchive"}; - } - - // Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values. - rpc BatchArchiveResourceAttributeEnumValues(BatchArchiveResourceAttributeEnumValuesRequest) returns (BatchArchiveResourceAttributeEnumValuesResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-enum-values/batch-archive" - body: "*" - }; - } - - // Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - rpc BatchUnarchiveResourceAttributeEnumValues(BatchUnarchiveResourceAttributeEnumValuesRequest) returns (BatchUnarchiveResourceAttributeEnumValuesResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attribute-enum-values/batch-unarchive" - body: "*" - }; - } - - // Creates relation between an Entity and a ResourceAttribute Key and Value. - rpc CreateResourceAttribute(CreateResourceAttributeRequest) returns (CreateResourceAttributeResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attributes" - body: "*" - }; - } - - // Creates resource-attributes for multiple entities with the same key-value pair. - rpc BatchCreateResourceAttributes(BatchCreateResourceAttributesRequest) returns (BatchCreateResourceAttributesResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attributes/batch" - body: "*" - }; - } - - rpc GetResourceAttribute(GetResourceAttributeRequest) returns (GetResourceAttributeResponse) { - option (google.api.http) = {get: "/api/v1/resource-attributes/{resource_attribute_id}"}; - } - - rpc ListResourceAttributes(ListResourceAttributesRequest) returns (ListResourceAttributesResponse) { - option (google.api.http) = {get: "/api/v1/resource-attributes"}; - } - - // Lists all resource-attributes for a specific entity. Excludes archived by default. - rpc ListResourceAttributesByEntity(ListResourceAttributesByEntityRequest) returns (ListResourceAttributesByEntityResponse) { - option (google.api.http) = {get: "/api/v1/entities/{entity.entity_id}/resource-attributes"}; - } - - rpc ArchiveResourceAttribute(ArchiveResourceAttributeRequest) returns (ArchiveResourceAttributeResponse) { - option (google.api.http) = {post: "/api/v1/resource-attributes/{resource_attribute_id}/archive"}; - } - - rpc UnarchiveResourceAttribute(UnarchiveResourceAttributeRequest) returns (UnarchiveResourceAttributeResponse) { - option (google.api.http) = {post: "/api/v1/resource-attributes/{resource_attribute_id}/unarchive"}; - } - - // Archives multiple resource-attributes. - rpc BatchArchiveResourceAttributes(BatchArchiveResourceAttributesRequest) returns (BatchArchiveResourceAttributesResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attributes/batch-archive" - body: "*" - }; - } - - // Unarchives multiple resource-attributes. - rpc BatchUnarchiveResourceAttributes(BatchUnarchiveResourceAttributesRequest) returns (BatchUnarchiveResourceAttributesResponse) { - option (google.api.http) = { - post: "/api/v1/resource-attributes/batch-unarchive" - body: "*" - }; - } -} - -// Values become selectable enumerable options. -enum ResourceAttributeKeyType { - RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED = 0; - RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM = 1; - RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN = 2; - RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER = 3; - RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM = 4; -} - -// A ResourceAttribute Key defines an attribute that can be assigned to Entities for the purpose of attribute based access control (ABAC). -message ResourceAttributeKey { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string organization_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string display_name = 3 [(google.api.field_behavior) = REQUIRED]; - string description = 4 [(google.api.field_behavior) = OPTIONAL]; - ResourceAttributeKeyType type = 5 [(google.api.field_behavior) = REQUIRED]; - google.protobuf.Timestamp created_date = 6 [(google.api.field_behavior) = REQUIRED]; - string created_by_user_id = 7 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp modified_date = 8 [(google.api.field_behavior) = REQUIRED]; - string modified_by_user_id = 9 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp archived_date = 10 [(google.api.field_behavior) = OPTIONAL]; -} - -// Represents a possible enumerable value for ENUM type resource_attribute keys. -// Users can add new enum values as needed. -message ResourceAttributeEnumValue { - string resource_attribute_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string resource_attribute_key_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string display_name = 3 [(google.api.field_behavior) = REQUIRED]; - string description = 4 [(google.api.field_behavior) = OPTIONAL]; - google.protobuf.Timestamp created_date = 5 [(google.api.field_behavior) = REQUIRED]; - string created_by_user_id = 6 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp modified_date = 7 [(google.api.field_behavior) = REQUIRED]; - string modified_by_user_id = 8 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp archived_date = 9 [(google.api.field_behavior) = OPTIONAL]; -} - -enum ResourceAttributeEntityType { - RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED = 0; - RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET = 1; - RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL = 2; -} - -// Represents the assignment of a resource_attribute key-value pair to an entity (asset or channel). -message ResourceAttribute { - string resource_attribute_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string organization_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - ResourceAttributeEntityIdentifier entity = 3 [(google.api.field_behavior) = REQUIRED]; - string resource_attribute_key_id = 4 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - // Populated in responses with full key details. - ResourceAttributeKey key = 5 [(google.api.field_behavior) = OPTIONAL]; - oneof value { - string resource_attribute_enum_value_id = 6 [(buf.validate.field).string.uuid = true]; - bool boolean_value = 7; - double number_value = 8; - } - // Populated in responses with full enum value details. - ResourceAttributeEnumValue enum_value_details = 9 [(google.api.field_behavior) = OPTIONAL]; - // The timestamp when the relation between the Entity and ResourceAttribute Key and Value was created. - google.protobuf.Timestamp created_date = 10 [(google.api.field_behavior) = REQUIRED]; - string created_by_user_id = 11 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp archived_date = 12 [(google.api.field_behavior) = OPTIONAL]; -} - -// Represents an entity to which a resource_attribute will be assigned. -message ResourceAttributeEntityIdentifier { - string entity_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - ResourceAttributeEntityType entity_type = 2 [(google.api.field_behavior) = REQUIRED]; -} - -// ResourceAttribute Key RPC messages -message CreateResourceAttributeKeyRequest { - string display_name = 1 [(google.api.field_behavior) = REQUIRED]; - string description = 2 [(google.api.field_behavior) = OPTIONAL]; - ResourceAttributeKeyType type = 3 [(google.api.field_behavior) = REQUIRED]; - // Optional initial enum values to create alongside the key. Only applicable for ENUM type keys. - repeated InitialEnumValue initial_enum_values = 4 [ - (google.api.field_behavior) = OPTIONAL, - (buf.validate.field).repeated.max_items = 100 - ]; - - // Nested message for initial enum values in create requests. - message InitialEnumValue { - string display_name = 1 [(google.api.field_behavior) = REQUIRED]; - string description = 2 [(google.api.field_behavior) = OPTIONAL]; - } -} - -message CreateResourceAttributeKeyResponse { - ResourceAttributeKey resource_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; - // The enum values created alongside the key, if any were provided in the request. - repeated ResourceAttributeEnumValue enum_values = 2; -} - -message GetResourceAttributeKeyRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message GetResourceAttributeKeyResponse { - ResourceAttributeKey resource_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ListResourceAttributeKeysRequest { - // The maximum number of resource_attribute keys to return. The service may return fewer than this value. - // If unspecified, at most 50 resource_attribute keys will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - uint32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - - // A page token, received from a previous `ListResourceAttributeKeys` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributeKeys` must match - // the call that provided the page token. - string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; - - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_key_id`, `name`, `description`, `type`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - string filter = 3 [(google.api.field_behavior) = OPTIONAL]; - - // How to order the retrieved resource_attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,name" - string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Whether to include archived resource_attribute keys. Defaults to false. - bool include_archived = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -message ListResourceAttributeKeysResponse { - repeated ResourceAttributeKey resource_attribute_keys = 1; - string next_page_token = 2; -} - -message UpdateResourceAttributeKeyRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; - string description = 3 [(google.api.field_behavior) = OPTIONAL]; - // The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`. - google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; -} - -message UpdateResourceAttributeKeyResponse { - ResourceAttributeKey resource_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ArchiveResourceAttributeKeyRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message ArchiveResourceAttributeKeyResponse {} - -message UnarchiveResourceAttributeKeyRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message UnarchiveResourceAttributeKeyResponse {} - -message BatchArchiveResourceAttributeKeysRequest { - repeated string resource_attribute_key_ids = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000, - (buf.validate.field).repeated.items.string.uuid = true - ]; -} - -message BatchArchiveResourceAttributeKeysResponse {} - -message BatchUnarchiveResourceAttributeKeysRequest { - repeated string resource_attribute_key_ids = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000, - (buf.validate.field).repeated.items.string.uuid = true - ]; -} - -message BatchUnarchiveResourceAttributeKeysResponse {} - -// ResourceAttribute Enum Value RPC messages -message CreateResourceAttributeEnumValueRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string display_name = 2 [(google.api.field_behavior) = REQUIRED]; - string description = 3 [(google.api.field_behavior) = OPTIONAL]; -} - -message CreateResourceAttributeEnumValueResponse { - ResourceAttributeEnumValue resource_attribute_enum_value = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message GetResourceAttributeEnumValueRequest { - string resource_attribute_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message GetResourceAttributeEnumValueResponse { - ResourceAttributeEnumValue resource_attribute_enum_value = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ListResourceAttributeEnumValuesRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - - // The maximum number of enum values to return. The service may return fewer than this value. - // If unspecified, at most 50 enum values will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - uint32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - - // A page token, received from a previous `ListResourceAttributeEnumValues` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributeEnumValues` must match - // the call that provided the page token. - string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_enum_value_id`, `name`, `description`, - // `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - - // How to order the retrieved enum values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, `modified_date`, and `name`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "name,created_date desc" - string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; - - // Whether to include archived enum values. Defaults to false. - bool include_archived = 6 [(google.api.field_behavior) = OPTIONAL]; -} - -message ListResourceAttributeEnumValuesResponse { - repeated ResourceAttributeEnumValue resource_attribute_enum_values = 1; - string next_page_token = 2; -} - -message UpdateResourceAttributeEnumValueRequest { - string resource_attribute_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string display_name = 2 [(google.api.field_behavior) = OPTIONAL]; - string description = 3 [(google.api.field_behavior) = OPTIONAL]; - // The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`. - google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; -} - -message UpdateResourceAttributeEnumValueResponse { - ResourceAttributeEnumValue resource_attribute_enum_value = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ArchiveResourceAttributeEnumValueRequest { - string archived_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - // When the archived_enum_value_id is archived all resource-attributes that reference it will be migrated to the replacement_enum_value_id. - string replacement_enum_value_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message ArchiveResourceAttributeEnumValueResponse { - // Total number of resource-attributes migrated to the replacement enum value. - int32 resource_attributes_migrated = 1; -} - -message UnarchiveResourceAttributeEnumValueRequest { - string resource_attribute_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message UnarchiveResourceAttributeEnumValueResponse {} - -message BatchArchiveResourceAttributeEnumValuesRequest { - message EnumValueArchival { - // The enum value ID to archive. - string archived_enum_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - // The enum value ID to migrate resource-attributes to. - string replacement_enum_value_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - } - - repeated EnumValueArchival archival_requests = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000 - ]; -} - -message BatchArchiveResourceAttributeEnumValuesResponse { - // Total number of resource-attributes migrated across all archived enum values. - int32 total_resource_attributes_migrated = 1; -} - -message BatchUnarchiveResourceAttributeEnumValuesRequest { - repeated string resource_attribute_enum_value_ids = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000, - (buf.validate.field).repeated.items.string.uuid = true - ]; -} - -message BatchUnarchiveResourceAttributeEnumValuesResponse {} - -// ResourceAttribute RPC messages -message CreateResourceAttributeRequest { - ResourceAttributeEntityIdentifier entity = 1 [(google.api.field_behavior) = REQUIRED]; - string resource_attribute_key_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - oneof value { - string resource_attribute_enum_value_id = 3 [(buf.validate.field).string.uuid = true]; - bool boolean_value = 4; - double number_value = 5; - } -} - -message CreateResourceAttributeResponse { - ResourceAttribute resource_attribute = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message BatchCreateResourceAttributesRequest { - string resource_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - oneof value { - string resource_attribute_enum_value_id = 2 [(buf.validate.field).string.uuid = true]; - bool boolean_value = 3; - double number_value = 4; - } - repeated ResourceAttributeEntityIdentifier entities = 5 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000 - ]; -} - -message BatchCreateResourceAttributesResponse { - repeated ResourceAttribute resource_attributes = 1; -} - -message GetResourceAttributeRequest { - string resource_attribute_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message GetResourceAttributeResponse { - ResourceAttribute resource_attribute = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ListResourceAttributesRequest { - // The maximum number of resource-attributes to return. The service may return fewer than this value. - // If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - uint32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - - // A page token, received from a previous `ListResourceAttributes` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributes` must match - // the call that provided the page token. - string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; - - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are `resource_attribute_id`, `entity_id`, `entity_type`, `resource_attribute_key_id`, `created_by_user_id`, - // `resource_attribute_enum_value_id`, `boolean_value`, `number_value`, `created_by_user_id`, `created_date`, and `archived_date`. - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - string filter = 3 [(google.api.field_behavior) = OPTIONAL]; - - // How to order the retrieved resource-attributes. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` and `entity.entity_id`. - // If left empty, items are ordered by `created_date` in descending order (newest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "entity.entity_id,created_date desc" - string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; - - // Whether to include archived resource-attributes. Defaults to false. - bool include_archived = 5 [(google.api.field_behavior) = OPTIONAL]; -} - -message ListResourceAttributesResponse { - repeated ResourceAttribute resource_attributes = 1; - string next_page_token = 2; -} - -message ListResourceAttributesByEntityRequest { - ResourceAttributeEntityIdentifier entity = 1 [(google.api.field_behavior) = REQUIRED]; - - // Whether to include archived resource-attributes. Defaults to false. - bool include_archived = 2 [(google.api.field_behavior) = OPTIONAL]; - - // The maximum number of resource-attributes to return. The service may return fewer than this value. - // If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - // 100 will be coerced to 100. - uint32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; - - // A page token, received from a previous `ListResourceAttributesByEntity` call. - // Provide this to retrieve the subsequent page. - // When paginating, all other parameters provided to `ListResourceAttributesByEntity` must match - // the call that provided the page token. - string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; -} - -message ListResourceAttributesByEntityResponse { - repeated ResourceAttribute resource_attributes = 1; - string next_page_token = 2; -} - -message ArchiveResourceAttributeRequest { - string resource_attribute_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message ArchiveResourceAttributeResponse {} - -message UnarchiveResourceAttributeRequest { - string resource_attribute_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -message UnarchiveResourceAttributeResponse {} - -message BatchArchiveResourceAttributesRequest { - repeated string resource_attribute_ids = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000, - (buf.validate.field).repeated.items.string.uuid = true - ]; -} - -message BatchArchiveResourceAttributesResponse {} - -message BatchUnarchiveResourceAttributesRequest { - repeated string resource_attribute_ids = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000, - (buf.validate.field).repeated.items.string.uuid = true - ]; -} - -message BatchUnarchiveResourceAttributesResponse {} - diff --git a/protos/sift/rule_evaluation/v1/rule_evaluation.proto b/protos/sift/rule_evaluation/v1/rule_evaluation.proto index 13cabb109..e7e8a9aa6 100644 --- a/protos/sift/rule_evaluation/v1/rule_evaluation.proto +++ b/protos/sift/rule_evaluation/v1/rule_evaluation.proto @@ -7,6 +7,7 @@ import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "sift/common/type/v1/resource_identifier.proto"; +import "sift/reports/v1/reports.proto"; import "sift/rules/v1/rules.proto"; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { @@ -66,6 +67,8 @@ message EvaluateRulesRequest { // If this request creates a report, this field will be used as the report name. optional string report_name = 8 [(google.api.field_behavior) = OPTIONAL]; + + // If evaluating a run against a family stat, this field will be used to provide alignment configuration for the run under test } message RunTimeRange { @@ -123,8 +126,11 @@ message EvaluateRulesPreviewRequest { // Only required if your user belongs to multiple organizations string organization_id = 7 [(google.api.field_behavior) = OPTIONAL]; + + // If evaluating a run against a family stat, this field will be used to provide alignment configuration for the run under test } + message EvaluateRulesFromRuleConfigs { repeated sift.rules.v1.UpdateRuleRequest configs = 1 [(google.api.field_behavior) = REQUIRED]; } diff --git a/protos/sift/rules/v1/rules.proto b/protos/sift/rules/v1/rules.proto index 29be18ab1..250a2bf52 100644 --- a/protos/sift/rules/v1/rules.proto +++ b/protos/sift/rules/v1/rules.proto @@ -14,6 +14,7 @@ import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "sift/annotations/v1/annotations.proto"; +import "sift/common/type/v1/calculated_channels.proto"; import "sift/common/type/v1/resource_identifier.proto"; import "sift/common/type/v1/user_defined_functions.proto"; import "sift/metadata/v1/metadata.proto"; @@ -523,6 +524,8 @@ message ValidationResult { // If the rule is invalid and unable to be saved, this will contain the error message. Expression errors will be returned in // the asset_expression_validation_results. optional string error = 4 [(google.api.field_behavior) = OPTIONAL]; + + string rule_name = 5 [(google.api.field_behavior) = OPTIONAL]; } message BatchUpdateRulesRequest { @@ -532,9 +535,8 @@ message BatchUpdateRulesRequest { // If validate_only is true, the request will only validate the request and not save the rules. bool validate_only = 2 [(google.api.field_behavior) = OPTIONAL]; - // If override_expression_validation is true, the request will save the rules even if the expressions are invalid. This - // can be useful for multi-asset rules where an invalid expression for one asset should not prevent the rule from being saved. - bool override_expression_validation = 3 [(google.api.field_behavior) = REQUIRED]; + // Deprecated - to improve API response clarity in the event of a failure, Sift will always perform input validation. + bool override_expression_validation = 3 [deprecated = true]; } message BatchUpdateRulesResponse { bool success = 1 [(google.api.field_behavior) = REQUIRED]; @@ -811,11 +813,19 @@ message CalculatedChannelConfig { string expression = 2 [(google.api.field_behavior) = REQUIRED]; // This will be ignored in requests and will be generated automatically. repeated sift.common.type.v1.FunctionDependency function_dependencies = 3 [(google.api.field_behavior) = OPTIONAL]; + // This will be ignored in requests and will be generated automatically. + // Tracks which calculated channel versions this rule depends on. + repeated sift.common.type.v1.CalculatedChannelDependency calculated_channel_dependencies = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; } message ChannelReference { - string name = 1 [(google.api.field_behavior) = REQUIRED]; - // Deprecated - use name instead. If provided, name will be joined with the component as `component.name` - string component = 2 [(google.api.field_behavior) = REQUIRED]; + // Required for native channel references. Must not be set when calculated_channel_version_id is provided. + string name = 1 [(google.api.field_behavior) = OPTIONAL]; + // Deprecated - use name instead. If provided, name will be joined with the component as `component.name`. + // Must not be set when calculated_channel_version_id is provided. + string component = 2 [(google.api.field_behavior) = OPTIONAL]; + // Reference to a calculated channel version. When set, the rule will use the calculated channel + // instead of looking up a native channel by name. Must not be set when name is provided. + optional string calculated_channel_version_id = 3 [(google.api.field_behavior) = OPTIONAL]; } message RuleActionConfiguration { @@ -841,6 +851,7 @@ message AnnotationActionConfiguration { repeated sift.metadata.v1.MetadataValue metadata = 4; } + // Deprecated - use RuleEvaluationService instead. message EvaluateRulesRequest { option deprecated = true; diff --git a/protos/sift/runs/v2/runs.proto b/protos/sift/runs/v2/runs.proto index bcdebb6c8..c8cbc7443 100644 --- a/protos/sift/runs/v2/runs.proto +++ b/protos/sift/runs/v2/runs.proto @@ -229,6 +229,10 @@ message CreateRunRequest { // The metadata values associated with this run. repeated sift.metadata.v1.MetadataValue metadata = 9 [(google.api.field_behavior) = OPTIONAL]; + + // Whether to create a default report for this run. This facilitates getting the report ID for live rules that will be automatically created for this run which can streamline programatically creating Campaigns. + // Defaults to false if not specified (This default can be changed for your organization by Sift. Contact support to change this default behavior.). + optional bool create_default_report = 10 [(google.api.field_behavior) = OPTIONAL]; } message CreateRunResponse { diff --git a/protos/sift/saved_searches/v1/saved_searches.proto b/protos/sift/saved_searches/v1/saved_searches.proto index fa437e8ed..2297ebf15 100644 --- a/protos/sift/saved_searches/v1/saved_searches.proto +++ b/protos/sift/saved_searches/v1/saved_searches.proto @@ -103,6 +103,7 @@ message SavedSearchProperties { optional bool include_archived = 12 [(google.api.field_behavior) = OPTIONAL]; optional string order_by = 13 [(google.api.field_behavior) = OPTIONAL]; repeated SavedSearchMetadataItem metadata_items = 14 [(google.api.field_behavior) = OPTIONAL]; + optional string duration = 15 [(google.api.field_behavior) = OPTIONAL]; } message SavedSearchFilterItem { diff --git a/protos/sift/user_attributes/v1/user_attributes.proto b/protos/sift/user_attributes/v1/user_attributes.proto deleted file mode 100644 index 47579f1c5..000000000 --- a/protos/sift/user_attributes/v1/user_attributes.proto +++ /dev/null @@ -1,457 +0,0 @@ -syntax = "proto3"; - -package sift.user_attributes.v1; - -import "buf/validate/validate.proto"; -import "google/api/annotations.proto"; -import "google/api/field_behavior.proto"; -import "google/protobuf/field_mask.proto"; -import "google/protobuf/timestamp.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; - -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: {title: "User attributes service"} -}; - -service UserAttributesService { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = {description: "Service to manage ABAC user attributes (principal attributes)."}; - - // Creates a user attribute key. - rpc CreateUserAttributeKey(CreateUserAttributeKeyRequest) returns (CreateUserAttributeKeyResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-keys" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "CreateUserAttributeKey", - description: "Create a user attribute key." - }; - } - - // Retrieves a user attribute key. - rpc GetUserAttributeKey(GetUserAttributeKeyRequest) returns (GetUserAttributeKeyResponse) { - option (google.api.http) = {get: "/api/v1/user-attribute-keys/{user_attribute_key_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "GetUserAttributeKey", - description: "Retrieves a user attribute key." - }; - } - - // Lists user attribute keys, respecting the provided filter. - rpc ListUserAttributeKeys(ListUserAttributeKeysRequest) returns (ListUserAttributeKeysResponse) { - option (google.api.http) = {get: "/api/v1/user-attribute-keys"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ListUserAttributeKeys", - description: "Lists user attribute keys." - }; - } - - // Updates an existing user attribute key. - rpc UpdateUserAttributeKey(UpdateUserAttributeKeyRequest) returns (UpdateUserAttributeKeyResponse) { - option (google.api.http) = { - patch: "/api/v1/user-attribute-keys/{user_attribute_key_id}" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "UpdateUserAttributeKey", - description: "Updates an existing user attribute key." - }; - } - - // Batch archives user attribute keys AND all their associated user attribute values. - rpc ArchiveUserAttributeKeys(ArchiveUserAttributeKeysRequest) returns (ArchiveUserAttributeKeysResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-keys/archive", - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ArchiveUserAttributeKeys", - description: "Archive user attribute keys." - }; - } - - // Batch unarchives user attribute keys. - rpc UnarchiveUserAttributeKeys(UnarchiveUserAttributeKeysRequest) returns (UnarchiveUserAttributeKeysResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-keys/unarchive", - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "UnarchiveUserAttributeKeys", - description: "Unarchive user attribute keys." - }; - } - - // Creates a user attribute value. - rpc CreateUserAttributeValue(CreateUserAttributeValueRequest) returns (CreateUserAttributeValueResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-values" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "CreateUserAttributeValue", - description: "Create a user attribute value." - }; - } - - // Creates a user attribute value for multiple users in a single operation. - rpc BatchCreateUserAttributeValue(BatchCreateUserAttributeValueRequest) returns (BatchCreateUserAttributeValueResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-values/batch" - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "BatchCreateUserAttributeValue", - description: "Creates a user attribute value for multiple users in a single operation." - }; - } - - // Retrieves a user attribute value. - rpc GetUserAttributeValue(GetUserAttributeValueRequest) returns (GetUserAttributeValueResponse) { - option (google.api.http) = {get: "/api/v1/user-attribute-values/{user_attribute_value_id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "GetUserAttributeValue", - description: "Retrieves a user attribute value." - }; - } - - // Lists user attribute values for a given user attribute key, respecting the provided filter. - rpc ListUserAttributeKeyValues(ListUserAttributeKeyValuesRequest) returns (ListUserAttributeKeyValuesResponse) { - option (google.api.http) = {get: "/api/v1/user-attribute-keys/{user_attribute_key_id}/user-attribute-values"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ListUserAttributeKeyValues", - description: "Lists user attribute values for a given user attribute key." - }; - } - - // List user attributes values, respecting the provided filter. - rpc ListUserAttributeValues(ListUserAttributeValuesRequest) returns (ListUserAttributeValuesResponse) { - option (google.api.http) = {get: "/api/v1/user-attribute-values"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ListUserAttributeValues", - description: "Lists user attribute values." - }; - } - - // Batch archives user attribute values. - rpc ArchiveUserAttributeValues(ArchiveUserAttributeValuesRequest) returns (ArchiveUserAttributeValuesResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-values/archive", - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "ArchiveUserAttributeValues", - description: "Archive user attribute values." - }; - } - - // Batch unarchives user attribute values. - rpc UnarchiveUserAttributeValues(UnarchiveUserAttributeValuesRequest) returns (UnarchiveUserAttributeValuesResponse) { - option (google.api.http) = { - post: "/api/v1/user-attribute-values/unarchive", - body: "*" - }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - summary: "UnarchiveUserAttributeValues", - description: "Unarchive user attribute values." - }; - } -} - -// UserAttributeValueType enumerates the supported value types for a user attribute key. -enum UserAttributeValueType { - USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED = 0; - USER_ATTRIBUTE_VALUE_TYPE_STRING = 1; - USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN = 2; - USER_ATTRIBUTE_VALUE_TYPE_NUMBER = 3; - USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING = 4; -} - -message UserAttributeKey { - string user_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string organization_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string name = 3 [(google.api.field_behavior) = REQUIRED]; - string description = 4 [(google.api.field_behavior) = OPTIONAL]; - UserAttributeValueType type = 5 [(google.api.field_behavior) = REQUIRED]; - google.protobuf.Timestamp created_date = 6 [(google.api.field_behavior) = REQUIRED]; - string created_by_user_id = 7 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp modified_date = 8 [(google.api.field_behavior) = REQUIRED]; - string modified_by_user_id = 9 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp archived_date = 10 [(google.api.field_behavior) = OPTIONAL]; - // Whether or not the user attribute key is archived. This is inferred from whether archived_date is set. - bool is_archived = 11 [(google.api.field_behavior) = OPTIONAL]; -} - -// CreateUserAttributeKeyRequest is used to create a new user attribute key. -message CreateUserAttributeKeyRequest { - string name = 1 [(google.api.field_behavior) = REQUIRED]; - string description = 2 [(google.api.field_behavior) = OPTIONAL]; - UserAttributeValueType type = 3 [(google.api.field_behavior) = REQUIRED]; -} - -// CreateUserAttributeKeyResponse returns the user attribute key from a CreateUserAttributeKey call. -message CreateUserAttributeKeyResponse { - UserAttributeKey user_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// UpdateUserAttributeKeyRequest is used to update an existing user attribute key. -message UpdateUserAttributeKeyRequest { - string user_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string name = 2 [(google.api.field_behavior) = OPTIONAL]; - string description = 3 [(google.api.field_behavior) = OPTIONAL]; - // The list of fields to be updated. The fields available to be updated are `name` and 'description'. - google.protobuf.FieldMask update_mask = 4 [(google.api.field_behavior) = REQUIRED]; -} - -// UpdateUserAttributeKeyResponse returns the user attribute key from a UpdateUserAttributeKey call. -message UpdateUserAttributeKeyResponse { - UserAttributeKey user_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// GetUserAttributeKeyRequest is used to retrieve a user attribute key. -message GetUserAttributeKeyRequest { - string user_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -// GetUserAttributeKeyResponse returns a user attribute key from a GetUserAttributeKey call. -message GetUserAttributeKeyResponse { - UserAttributeKey user_attribute_key = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// ListUserAttributeKeysRequest is used to list user attribute keys with the provided filter. -message ListUserAttributeKeysRequest { - // The maximum number of user attribute keys to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute keys will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - uint32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListUserAttributeKeys` call. - // Provide this to retrieve a subsequent page of user attribute keys. - // When paginating, all other parameters provided to `ListUserAttributeKeys` must match the previous call - // that provided the page token. Optional. - string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_key_id', 'name', 'value_type', 'created_by_user_id', 'created_date', 'modified_by_user_id, 'modified_date' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - string filter = 3 [(google.api.field_behavior) = OPTIONAL]; - // How to order the retrieved user attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date`, 'modified_date', 'name', 'user_attribute_key_id', 'value_type', 'description' - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc,modified_date" - string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; - string organization_id = 5 [(google.api.field_behavior) = OPTIONAL]; - // If true, includes archived keys. Defaulta to false. Optional. - bool include_archived = 6 [(google.api.field_behavior) = OPTIONAL]; -} - -// ListUserAttributeKeysResponse returns the list of user attribute keys from a ListUserAttributeKeys call. -message ListUserAttributeKeysResponse { - repeated UserAttributeKey user_attribute_keys = 1 [(google.api.field_behavior) = REQUIRED]; - string next_page_token = 2; -} - -// ArchiveUserAttributeKeysRequest is used to batch archive user attribute keys by id. -message ArchiveUserAttributeKeysRequest { - repeated string user_attribute_key_ids = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ArchiveUserAttributeKeysResponse {} - -// UnarchiveUserAttributeKeysRequest is used to batch unarchive user attribute keys by id. -message UnarchiveUserAttributeKeysRequest { - repeated string user_attribute_key_ids = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message UnarchiveUserAttributeKeysResponse {} - -message UserAttributeValue { - string user_attribute_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string user_attribute_key_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string user_id = 3 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string organization_id = 4 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - oneof value { - string string_value = 5; - double number_value = 6; - bool boolean_value = 7; - } - string created_by_user_id = 8 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - google.protobuf.Timestamp created_date = 9 [(google.api.field_behavior) = REQUIRED]; - google.protobuf.Timestamp archived_date = 10 [(google.api.field_behavior) = OPTIONAL]; - // Whether or not the user attribute value is archived. This is inferred from whether archived_date is set. - bool is_archived = 11 [(google.api.field_behavior) = OPTIONAL]; - // The full user attribute key is populated in the response. - UserAttributeKey key = 12 [(google.api.field_behavior) = REQUIRED]; -} - -// CreateUserAttributeValueRequest is used to create a new user attribute value. -message CreateUserAttributeValueRequest { - string user_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - string user_id = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - oneof value { - string string_value = 4; - double number_value = 5; - bool boolean_value = 6; - } -} - -// CreateUserAttributeValueResponse returns the user attribute value from a CreateUserAttributeValue call. -message CreateUserAttributeValueResponse { - UserAttributeValue user_attribute_value = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// BatchCreateUserAttributeValueRequest is used to batch create new user attribute values. -message BatchCreateUserAttributeValueRequest { - string user_attribute_key_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; - repeated string user_ids = 2 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).repeated.min_items = 1, - (buf.validate.field).repeated.max_items = 5000 - ]; - oneof value { - string string_value = 3; - double number_value = 4; - bool boolean_value = 5; - } -} - -// -// BatchCreateUserAttributeValueResponse returns the user attribute value from a BatchCreateUserAttributeValue call. -message BatchCreateUserAttributeValueResponse { - repeated UserAttributeValue user_attribute_values = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// ListUserAttributeKeyValues is used to list user attribute values for a given user attribute key with the provided filter. -message ListUserAttributeKeyValuesRequest { - // The id of the user attribute key to list values for. - string user_attribute_key_id = 1 [(google.api.field_behavior) = REQUIRED]; - // The maximum number of user attribute values to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - uint32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListUserAttributeKeyValues` call. - // Provide this to retrieve a subsequent page of user attribute values. - // When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - // that provided the page token. Optional. - string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id' and 'user_id' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - string filter = 4 [(google.api.field_behavior) = OPTIONAL]; - // How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc" - string order_by = 5 [(google.api.field_behavior) = OPTIONAL]; - // If true, include archived values. Defaults to false. Optional. - bool include_archived = 6 [(google.api.field_behavior) = OPTIONAL]; -} - -// ListUserAttributeKeyValuesResponse returns the list of user attribute values from a ListUserAttributeKeyValues call. -message ListUserAttributeKeyValuesResponse { - repeated UserAttributeValue user_attribute_values = 1 [(google.api.field_behavior) = REQUIRED]; - string next_page_token = 2; -} - -message ListUserAttributeValuesRequest { - // The maximum number of user attribute values to return. The service may return fewer than this value. - // If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - // above 1000 will be coerced to 1000. Optional. - uint32 page_size = 1 [(google.api.field_behavior) = OPTIONAL]; - // A page token, received from a previous `ListUserAttributeValues` call. - // Provide this to retrieve a subsequent page of user attribute values. - // When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - // that provided the page token. Optional. - string page_token = 2 [(google.api.field_behavior) = OPTIONAL]; - // A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - // Available fields to filter by are: - // 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id', 'archived_date' and 'user_id' - // For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - // For more information about the fields used for filtering, please refer to this definition. Optional. - string filter = 3 [(google.api.field_behavior) = OPTIONAL]; - // How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - // Available fields to order_by are `created_date` - // If left empty, items are ordered by `created_date` in ascending order (oldest-first). - // For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - // Example: "created_date desc" - string order_by = 4 [(google.api.field_behavior) = OPTIONAL]; -} - -message ListUserAttributeValuesResponse { - repeated UserAttributeValue user_attribute_values = 1 [(google.api.field_behavior) = REQUIRED]; - string next_page_token = 2; -} - -// GetUserAttributeValueRequest is used to retrieve a user attribute value. -message GetUserAttributeValueRequest { - string user_attribute_value_id = 1 [ - (google.api.field_behavior) = REQUIRED, - (buf.validate.field).string.uuid = true - ]; -} - -// GetUserAttributeValueResponse returns a user attribute value from a GetUserAttributeValue call. -message GetUserAttributeValueResponse { - UserAttributeValue user_attribute_value = 1 [(google.api.field_behavior) = REQUIRED]; -} - -// ArchiveUserAttributeValuesRequest is used to batch archive user attribute values by id. -message ArchiveUserAttributeValuesRequest { - repeated string user_attribute_value_ids = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message ArchiveUserAttributeValuesResponse {} - -// UnarchiveUserAttributeValuesRequest is used to batch unarchive user attribute values by id. -message UnarchiveUserAttributeValuesRequest { - repeated string user_attribute_value_ids = 1 [(google.api.field_behavior) = REQUIRED]; -} - -message UnarchiveUserAttributeValuesResponse {} - diff --git a/python/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi b/python/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi index e179156db..edd7a5b07 100644 --- a/python/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi +++ b/python/lib/sift/annotation_logs/v1/annotation_logs_pb2.pyi @@ -161,7 +161,7 @@ class ListAnnotationLogsRequest(google.protobuf.message.Message): Available fields to filter by are `annotation_log_id`, `annotation_id`, `created_by_user_id`, `annotation_id`, `created_date`, `modified_date`, and `kind`. For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. + For more information about the fields used for filtering, please refer to [this definition](/api/grpc/protocol-buffers/annotation_logs#annotationlogsearchresult). Optional. """ def __init__( self, diff --git a/python/lib/sift/annotations/v1/annotations_pb2.py b/python/lib/sift/annotations/v1/annotations_pb2.py index f42f7f1fb..560e949cd 100644 --- a/python/lib/sift/annotations/v1/annotations_pb2.py +++ b/python/lib/sift/annotations/v1/annotations_pb2.py @@ -21,7 +21,7 @@ from sift.metadata.v1 import metadata_pb2 as sift_dot_metadata_dot_v1_dot_metadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%sift/annotations/v1/annotations.proto\x12\x13sift.annotations.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1esift/common/type/v1/user.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\x81\r\n\nAnnotation\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x30\n\x12\x63reated_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x1f\n\x06run_id\x18\n \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12\x44\n\x05state\x18\x0b \x01(\x0e\x32$.sift.annotations.v1.AnnotationStateB\x03\xe0\x41\x01H\x01R\x05state\x88\x01\x01\x12,\n\x0forganization_id\x18\x0c \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x32\n\x13\x61ssigned_to_user_id\x18\r \x01(\tB\x03\xe0\x41\x01R\x10\x61ssignedToUserId\x12Q\n\x0f\x61nnotation_type\x18\x0e \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeB\x03\xe0\x41\x02R\x0e\x61nnotationType\x12\x17\n\x04tags\x18\x0f \x03(\tB\x03\xe0\x41\x02R\x04tags\x12-\n\rlegend_config\x18\x10 \x01(\tB\x03\xe0\x41\x01H\x02R\x0clegendConfig\x88\x01\x01\x12?\n\x17\x63reated_by_condition_id\x18\x11 \x01(\tB\x03\xe0\x41\x01H\x03R\x14\x63reatedByConditionId\x88\x01\x01\x12W\n$created_by_rule_condition_version_id\x18\x12 \x01(\tB\x03\xe0\x41\x01H\x04R\x1f\x63reatedByRuleConditionVersionId\x88\x01\x01\x12=\n\x16report_rule_version_id\x18\x13 \x01(\tB\x03\xe0\x41\x01H\x05R\x13reportRuleVersionId\x88\x01\x01\x12\x1d\n\x07pending\x18\x14 \x01(\x08\x42\x03\xe0\x41\x03R\x07pending\x12H\n\x10\x61ssigned_to_user\x18\x15 \x01(\x0b\x32\x19.sift.common.type.v1.UserB\x03\xe0\x41\x03R\x0e\x61ssignedToUser\x12\x44\n\x0c\x64\x65leted_date\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12Z\n\x0flinked_channels\x18\x17 \x03(\x0b\x32,.sift.annotations.v1.AnnotationLinkedChannelB\x03\xe0\x41\x01R\x0elinkedChannels\x12 \n\tasset_ids\x18\x18 \x03(\tB\x03\xe0\x41\x01R\x08\x61ssetIds\x12@\n\x08metadata\x18\x19 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadata\x12\x44\n\rarchived_date\x18\x1a \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x1b \x01(\x08\x42\x03\xe0\x41\x02R\nisArchivedB\t\n\x07_run_idB\x08\n\x06_stateB\x10\n\x0e_legend_configB\x1a\n\x18_created_by_condition_idB\'\n%_created_by_rule_condition_version_idB\x19\n\x17_report_rule_version_id\"E\n\x1f\x41nnotationLinkedChannelsChannel\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\"x\n\'AnnotationLinkedChannelsBitFieldElement\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12)\n\x0e\x62it_field_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0c\x62itFieldName\"\xdf\x01\n\x17\x41nnotationLinkedChannel\x12P\n\x07\x63hannel\x18\x01 \x01(\x0b\x32\x34.sift.annotations.v1.AnnotationLinkedChannelsChannelH\x00R\x07\x63hannel\x12j\n\x11\x62it_field_element\x18\x02 \x01(\x0b\x32<.sift.annotations.v1.AnnotationLinkedChannelsBitFieldElementH\x00R\x0f\x62itFieldElementB\x06\n\x04type\"\x91\x08\n\x17\x43reateAnnotationRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x1b\n\x06\x61ssets\x18\x05 \x03(\tB\x03\xe0\x41\x01R\x06\x61ssets\x12Z\n\x0flinked_channels\x18\x06 \x03(\x0b\x32,.sift.annotations.v1.AnnotationLinkedChannelB\x03\xe0\x41\x01R\x0elinkedChannels\x12\x17\n\x04tags\x18\x07 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12\x1f\n\x06run_id\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12\x33\n\x11\x61ssign_to_user_id\x18\t \x01(\tB\x03\xe0\x41\x01H\x01R\x0e\x61ssignToUserId\x88\x01\x01\x12,\n\x0forganization_id\x18\n \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x44\n\x05state\x18\x0b \x01(\x0e\x32$.sift.annotations.v1.AnnotationStateB\x03\xe0\x41\x01H\x02R\x05state\x88\x01\x01\x12Q\n\x0f\x61nnotation_type\x18\x0c \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeB\x03\xe0\x41\x01R\x0e\x61nnotationType\x12?\n\x17\x63reated_by_condition_id\x18\x0e \x01(\tB\x03\xe0\x41\x01H\x03R\x14\x63reatedByConditionId\x88\x01\x01\x12-\n\rlegend_config\x18\r \x01(\tB\x03\xe0\x41\x01H\x04R\x0clegendConfig\x88\x01\x01\x12W\n$created_by_rule_condition_version_id\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x05R\x1f\x63reatedByRuleConditionVersionId\x88\x01\x01\x12@\n\x08metadata\x18\x10 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadataB\t\n\x07_run_idB\x14\n\x12_assign_to_user_idB\x08\n\x06_stateB\x1a\n\x18_created_by_condition_idB\x10\n\x0e_legend_configB\'\n%_created_by_rule_condition_version_id\"`\n\x18\x43reateAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"C\n\x17\x44\x65leteAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"\x1a\n\x18\x44\x65leteAnnotationResponse\"K\n\x1d\x42\x61tchDeleteAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\" \n\x1e\x42\x61tchDeleteAnnotationsResponse\"@\n\x14GetAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"]\n\x15GetAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"\xc9\x01\n\x16ListAnnotationsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x84\x01\n\x17ListAnnotationsResponse\x12\x41\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationR\x0b\x61nnotations\x12&\n\x0fnext_page_token\x18\x05 \x01(\tR\rnextPageToken\"\xa1\x01\n\x17UpdateAnnotationRequest\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"[\n\x18UpdateAnnotationResponse\x12?\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationR\nannotation\"D\n\x18\x41rchiveAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"a\n\x19\x41rchiveAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"F\n\x1aUnarchiveAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"c\n\x1bUnarchiveAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"L\n\x1e\x42\x61tchArchiveAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\"i\n\x1f\x42\x61tchArchiveAnnotationsResponse\x12\x46\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\x0b\x61nnotations\"N\n BatchUnarchiveAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\"k\n!BatchUnarchiveAnnotationsResponse\x12\x46\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\x0b\x61nnotations*\x8b\x01\n\x0f\x41nnotationState\x12 \n\x1c\x41NNOTATION_STATE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NNOTATION_STATE_OPEN\x10\x01\x12\x1c\n\x18\x41NNOTATION_STATE_FLAGGED\x10\x02\x12\x1d\n\x19\x41NNOTATION_STATE_RESOLVED\x10\x03*m\n\x0e\x41nnotationType\x12\x1f\n\x1b\x41NNOTATION_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41NNOTATION_TYPE_DATA_REVIEW\x10\x01\x12\x19\n\x15\x41NNOTATION_TYPE_PHASE\x10\x02\x32\x81\x13\n\x11\x41nnotationService\x12\xbc\x01\n\x10\x43reateAnnotation\x12,.sift.annotations.v1.CreateAnnotationRequest\x1a-.sift.annotations.v1.CreateAnnotationResponse\"K\x92\x41*\x12\x10\x43reateAnnotation\x1a\x16\x43reates an annotation.\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/annotations:\x01*\x12\xcd\x01\n\x10\x44\x65leteAnnotation\x12,.sift.annotations.v1.DeleteAnnotationRequest\x1a-.sift.annotations.v1.DeleteAnnotationResponse\"\\\x88\x02\x01\x92\x41+\x12\x10\x44\x65leteAnnotation\x1a\x17\x41rchives an annotation.\x82\xd3\xe4\x93\x02%*#/api/v1/annotations/{annotation_id}\x12\xd9\x01\n\x11\x41rchiveAnnotation\x12-.sift.annotations.v1.ArchiveAnnotationRequest\x1a..sift.annotations.v1.ArchiveAnnotationResponse\"e\x92\x41,\x12\x11\x41rchiveAnnotation\x1a\x17\x41rchives an annotation.\x82\xd3\xe4\x93\x02\x30\"+/api/v1/annotations/{annotation_id}:archive:\x01*\x12\xe5\x01\n\x13UnarchiveAnnotation\x12/.sift.annotations.v1.UnarchiveAnnotationRequest\x1a\x30.sift.annotations.v1.UnarchiveAnnotationResponse\"k\x92\x41\x30\x12\x13UnarchiveAnnotation\x1a\x19Unarchives an annotation.\x82\xd3\xe4\x93\x02\x32\"-/api/v1/annotations/{annotation_id}:unarchive:\x01*\x12\xe7\x01\n\x16\x42\x61tchDeleteAnnotations\x12\x32.sift.annotations.v1.BatchDeleteAnnotationsRequest\x1a\x33.sift.annotations.v1.BatchDeleteAnnotationsResponse\"d\x88\x02\x01\x92\x41\x34\x12\x15\x42\x61tchDeleteAnnotation\x1a\x1b\x42\x61tch archives annotations.\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/annotations:batchDelete:\x01*\x12\xea\x01\n\x17\x42\x61tchArchiveAnnotations\x12\x33.sift.annotations.v1.BatchArchiveAnnotationsRequest\x1a\x34.sift.annotations.v1.BatchArchiveAnnotationsResponse\"d\x92\x41\x36\x12\x17\x42\x61tchArchiveAnnotations\x1a\x1b\x42\x61tch archives annotations.\x82\xd3\xe4\x93\x02%\" /api/v1/annotations:batchArchive:\x01*\x12\xf6\x01\n\x19\x42\x61tchUnarchiveAnnotations\x12\x35.sift.annotations.v1.BatchUnarchiveAnnotationsRequest\x1a\x36.sift.annotations.v1.BatchUnarchiveAnnotationsResponse\"j\x92\x41:\x12\x19\x42\x61tchUnarchiveAnnotations\x1a\x1d\x42\x61tch unarchives annotations.\x82\xd3\xe4\x93\x02\'\"\"/api/v1/annotations:batchUnarchive:\x01*\x12\xcd\x01\n\x0fListAnnotations\x12+.sift.annotations.v1.ListAnnotationsRequest\x1a,.sift.annotations.v1.ListAnnotationsResponse\"_\x92\x41\x41\x12\x0eListAnnotation\x1a/Retrieves annotations using an optional filter.\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/annotations\x12\xbe\x01\n\rGetAnnotation\x12).sift.annotations.v1.GetAnnotationRequest\x1a*.sift.annotations.v1.GetAnnotationResponse\"V\x92\x41(\x12\rGetAnnotation\x1a\x17Retrieves an annotation\x82\xd3\xe4\x93\x02%\x12#/api/v1/annotations/{annotation_id}\x12\x80\x02\n\x10UpdateAnnotation\x12,.sift.annotations.v1.UpdateAnnotationRequest\x1a-.sift.annotations.v1.UpdateAnnotationResponse\"\x8e\x01\x92\x41m\x12\x10UpdateAnnotation\x1aYUpdates an existing annotation using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x18\x32\x13/api/v1/annotations:\x01*\x1a\xb4\x01\x92\x41\xb0\x01\x12\x36Service to programmatically interact with annotations.\x1av\n\x1cRead more about annotations.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265486685B\xb2\x01\n\x17\x63om.sift.annotations.v1B\x10\x41nnotationsProtoP\x01\xa2\x02\x03SAX\xaa\x02\x13Sift.Annotations.V1\xca\x02\x13Sift\\Annotations\\V1\xe2\x02\x1fSift\\Annotations\\V1\\GPBMetadata\xea\x02\x15Sift::Annotations::V1\x92\x41\x16\x12\x14\n\x12\x41nnotation Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n%sift/annotations/v1/annotations.proto\x12\x13sift.annotations.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1esift/common/type/v1/user.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\xda\r\n\nAnnotation\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x30\n\x12\x63reated_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x1f\n\x06run_id\x18\n \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12\x44\n\x05state\x18\x0b \x01(\x0e\x32$.sift.annotations.v1.AnnotationStateB\x03\xe0\x41\x01H\x01R\x05state\x88\x01\x01\x12,\n\x0forganization_id\x18\x0c \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x32\n\x13\x61ssigned_to_user_id\x18\r \x01(\tB\x03\xe0\x41\x01R\x10\x61ssignedToUserId\x12Q\n\x0f\x61nnotation_type\x18\x0e \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeB\x03\xe0\x41\x02R\x0e\x61nnotationType\x12\x17\n\x04tags\x18\x0f \x03(\tB\x03\xe0\x41\x02R\x04tags\x12-\n\rlegend_config\x18\x10 \x01(\tB\x03\xe0\x41\x01H\x02R\x0clegendConfig\x88\x01\x01\x12?\n\x17\x63reated_by_condition_id\x18\x11 \x01(\tB\x03\xe0\x41\x01H\x03R\x14\x63reatedByConditionId\x88\x01\x01\x12W\n$created_by_rule_condition_version_id\x18\x12 \x01(\tB\x03\xe0\x41\x01H\x04R\x1f\x63reatedByRuleConditionVersionId\x88\x01\x01\x12=\n\x16report_rule_version_id\x18\x13 \x01(\tB\x03\xe0\x41\x01H\x05R\x13reportRuleVersionId\x88\x01\x01\x12\x1d\n\x07pending\x18\x14 \x01(\x08\x42\x03\xe0\x41\x03R\x07pending\x12H\n\x10\x61ssigned_to_user\x18\x15 \x01(\x0b\x32\x19.sift.common.type.v1.UserB\x03\xe0\x41\x03R\x0e\x61ssignedToUser\x12\x44\n\x0c\x64\x65leted_date\x18\x16 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12Z\n\x0flinked_channels\x18\x17 \x03(\x0b\x32,.sift.annotations.v1.AnnotationLinkedChannelB\x03\xe0\x41\x01R\x0elinkedChannels\x12 \n\tasset_ids\x18\x18 \x03(\tB\x03\xe0\x41\x01R\x08\x61ssetIds\x12@\n\x08metadata\x18\x19 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadata\x12\x44\n\rarchived_date\x18\x1a \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x1b \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12.\n\x10\x62\x61tched_triggers\x18\x1c \x01(\x05\x42\x03\xe0\x41\x02R\x0f\x62\x61tchedTriggers\x12\'\n\ris_noisy_rule\x18\x1d \x01(\x08\x42\x03\xe0\x41\x01R\x0bisNoisyRuleB\t\n\x07_run_idB\x08\n\x06_stateB\x10\n\x0e_legend_configB\x1a\n\x18_created_by_condition_idB\'\n%_created_by_rule_condition_version_idB\x19\n\x17_report_rule_version_id\"E\n\x1f\x41nnotationLinkedChannelsChannel\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\"x\n\'AnnotationLinkedChannelsBitFieldElement\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12)\n\x0e\x62it_field_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0c\x62itFieldName\"k\n!AnnotationLinkedCalculatedChannel\x12\x46\n\x1d\x63\x61lculated_channel_version_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x1a\x63\x61lculatedChannelVersionId\"\xc8\x02\n\x17\x41nnotationLinkedChannel\x12P\n\x07\x63hannel\x18\x01 \x01(\x0b\x32\x34.sift.annotations.v1.AnnotationLinkedChannelsChannelH\x00R\x07\x63hannel\x12j\n\x11\x62it_field_element\x18\x02 \x01(\x0b\x32<.sift.annotations.v1.AnnotationLinkedChannelsBitFieldElementH\x00R\x0f\x62itFieldElement\x12g\n\x12\x63\x61lculated_channel\x18\x03 \x01(\x0b\x32\x36.sift.annotations.v1.AnnotationLinkedCalculatedChannelH\x00R\x11\x63\x61lculatedChannelB\x06\n\x04type\"\x91\x08\n\x17\x43reateAnnotationRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x1b\n\x06\x61ssets\x18\x05 \x03(\tB\x03\xe0\x41\x01R\x06\x61ssets\x12Z\n\x0flinked_channels\x18\x06 \x03(\x0b\x32,.sift.annotations.v1.AnnotationLinkedChannelB\x03\xe0\x41\x01R\x0elinkedChannels\x12\x17\n\x04tags\x18\x07 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12\x1f\n\x06run_id\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12\x33\n\x11\x61ssign_to_user_id\x18\t \x01(\tB\x03\xe0\x41\x01H\x01R\x0e\x61ssignToUserId\x88\x01\x01\x12,\n\x0forganization_id\x18\n \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x44\n\x05state\x18\x0b \x01(\x0e\x32$.sift.annotations.v1.AnnotationStateB\x03\xe0\x41\x01H\x02R\x05state\x88\x01\x01\x12Q\n\x0f\x61nnotation_type\x18\x0c \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeB\x03\xe0\x41\x01R\x0e\x61nnotationType\x12?\n\x17\x63reated_by_condition_id\x18\x0e \x01(\tB\x03\xe0\x41\x01H\x03R\x14\x63reatedByConditionId\x88\x01\x01\x12-\n\rlegend_config\x18\r \x01(\tB\x03\xe0\x41\x01H\x04R\x0clegendConfig\x88\x01\x01\x12W\n$created_by_rule_condition_version_id\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x05R\x1f\x63reatedByRuleConditionVersionId\x88\x01\x01\x12@\n\x08metadata\x18\x10 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadataB\t\n\x07_run_idB\x14\n\x12_assign_to_user_idB\x08\n\x06_stateB\x1a\n\x18_created_by_condition_idB\x10\n\x0e_legend_configB\'\n%_created_by_rule_condition_version_id\"`\n\x18\x43reateAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"C\n\x17\x44\x65leteAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"\x1a\n\x18\x44\x65leteAnnotationResponse\"K\n\x1d\x42\x61tchDeleteAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\" \n\x1e\x42\x61tchDeleteAnnotationsResponse\"@\n\x14GetAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"]\n\x15GetAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"\xc9\x01\n\x16ListAnnotationsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x84\x01\n\x17ListAnnotationsResponse\x12\x41\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationR\x0b\x61nnotations\x12&\n\x0fnext_page_token\x18\x05 \x01(\tR\rnextPageToken\"\xa1\x01\n\x17UpdateAnnotationRequest\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"[\n\x18UpdateAnnotationResponse\x12?\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationR\nannotation\"D\n\x18\x41rchiveAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"a\n\x19\x41rchiveAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"F\n\x1aUnarchiveAnnotationRequest\x12(\n\rannotation_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x61nnotationId\"c\n\x1bUnarchiveAnnotationResponse\x12\x44\n\nannotation\x18\x01 \x01(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\nannotation\"L\n\x1e\x42\x61tchArchiveAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\"i\n\x1f\x42\x61tchArchiveAnnotationsResponse\x12\x46\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\x0b\x61nnotations\"N\n BatchUnarchiveAnnotationsRequest\x12*\n\x0e\x61nnotation_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\rannotationIds\"k\n!BatchUnarchiveAnnotationsResponse\x12\x46\n\x0b\x61nnotations\x18\x01 \x03(\x0b\x32\x1f.sift.annotations.v1.AnnotationB\x03\xe0\x41\x02R\x0b\x61nnotations*\x8b\x01\n\x0f\x41nnotationState\x12 \n\x1c\x41NNOTATION_STATE_UNSPECIFIED\x10\x00\x12\x19\n\x15\x41NNOTATION_STATE_OPEN\x10\x01\x12\x1c\n\x18\x41NNOTATION_STATE_FLAGGED\x10\x02\x12\x1d\n\x19\x41NNOTATION_STATE_RESOLVED\x10\x03*m\n\x0e\x41nnotationType\x12\x1f\n\x1b\x41NNOTATION_TYPE_UNSPECIFIED\x10\x00\x12\x1f\n\x1b\x41NNOTATION_TYPE_DATA_REVIEW\x10\x01\x12\x19\n\x15\x41NNOTATION_TYPE_PHASE\x10\x02\x32\x81\x13\n\x11\x41nnotationService\x12\xbc\x01\n\x10\x43reateAnnotation\x12,.sift.annotations.v1.CreateAnnotationRequest\x1a-.sift.annotations.v1.CreateAnnotationResponse\"K\x92\x41*\x12\x10\x43reateAnnotation\x1a\x16\x43reates an annotation.\x82\xd3\xe4\x93\x02\x18\"\x13/api/v1/annotations:\x01*\x12\xcd\x01\n\x10\x44\x65leteAnnotation\x12,.sift.annotations.v1.DeleteAnnotationRequest\x1a-.sift.annotations.v1.DeleteAnnotationResponse\"\\\x88\x02\x01\x92\x41+\x12\x10\x44\x65leteAnnotation\x1a\x17\x41rchives an annotation.\x82\xd3\xe4\x93\x02%*#/api/v1/annotations/{annotation_id}\x12\xd9\x01\n\x11\x41rchiveAnnotation\x12-.sift.annotations.v1.ArchiveAnnotationRequest\x1a..sift.annotations.v1.ArchiveAnnotationResponse\"e\x92\x41,\x12\x11\x41rchiveAnnotation\x1a\x17\x41rchives an annotation.\x82\xd3\xe4\x93\x02\x30\"+/api/v1/annotations/{annotation_id}:archive:\x01*\x12\xe5\x01\n\x13UnarchiveAnnotation\x12/.sift.annotations.v1.UnarchiveAnnotationRequest\x1a\x30.sift.annotations.v1.UnarchiveAnnotationResponse\"k\x92\x41\x30\x12\x13UnarchiveAnnotation\x1a\x19Unarchives an annotation.\x82\xd3\xe4\x93\x02\x32\"-/api/v1/annotations/{annotation_id}:unarchive:\x01*\x12\xe7\x01\n\x16\x42\x61tchDeleteAnnotations\x12\x32.sift.annotations.v1.BatchDeleteAnnotationsRequest\x1a\x33.sift.annotations.v1.BatchDeleteAnnotationsResponse\"d\x88\x02\x01\x92\x41\x34\x12\x15\x42\x61tchDeleteAnnotation\x1a\x1b\x42\x61tch archives annotations.\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/annotations:batchDelete:\x01*\x12\xea\x01\n\x17\x42\x61tchArchiveAnnotations\x12\x33.sift.annotations.v1.BatchArchiveAnnotationsRequest\x1a\x34.sift.annotations.v1.BatchArchiveAnnotationsResponse\"d\x92\x41\x36\x12\x17\x42\x61tchArchiveAnnotations\x1a\x1b\x42\x61tch archives annotations.\x82\xd3\xe4\x93\x02%\" /api/v1/annotations:batchArchive:\x01*\x12\xf6\x01\n\x19\x42\x61tchUnarchiveAnnotations\x12\x35.sift.annotations.v1.BatchUnarchiveAnnotationsRequest\x1a\x36.sift.annotations.v1.BatchUnarchiveAnnotationsResponse\"j\x92\x41:\x12\x19\x42\x61tchUnarchiveAnnotations\x1a\x1d\x42\x61tch unarchives annotations.\x82\xd3\xe4\x93\x02\'\"\"/api/v1/annotations:batchUnarchive:\x01*\x12\xcd\x01\n\x0fListAnnotations\x12+.sift.annotations.v1.ListAnnotationsRequest\x1a,.sift.annotations.v1.ListAnnotationsResponse\"_\x92\x41\x41\x12\x0eListAnnotation\x1a/Retrieves annotations using an optional filter.\x82\xd3\xe4\x93\x02\x15\x12\x13/api/v1/annotations\x12\xbe\x01\n\rGetAnnotation\x12).sift.annotations.v1.GetAnnotationRequest\x1a*.sift.annotations.v1.GetAnnotationResponse\"V\x92\x41(\x12\rGetAnnotation\x1a\x17Retrieves an annotation\x82\xd3\xe4\x93\x02%\x12#/api/v1/annotations/{annotation_id}\x12\x80\x02\n\x10UpdateAnnotation\x12,.sift.annotations.v1.UpdateAnnotationRequest\x1a-.sift.annotations.v1.UpdateAnnotationResponse\"\x8e\x01\x92\x41m\x12\x10UpdateAnnotation\x1aYUpdates an existing annotation using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x18\x32\x13/api/v1/annotations:\x01*\x1a\xb4\x01\x92\x41\xb0\x01\x12\x36Service to programmatically interact with annotations.\x1av\n\x1cRead more about annotations.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265486685B\xb2\x01\n\x17\x63om.sift.annotations.v1B\x10\x41nnotationsProtoP\x01\xa2\x02\x03SAX\xaa\x02\x13Sift.Annotations.V1\xca\x02\x13Sift\\Annotations\\V1\xe2\x02\x1fSift\\Annotations\\V1\\GPBMetadata\xea\x02\x15Sift::Annotations::V1\x92\x41\x16\x12\x14\n\x12\x41nnotation Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -83,12 +83,18 @@ _globals['_ANNOTATION'].fields_by_name['archived_date']._serialized_options = b'\340A\001' _globals['_ANNOTATION'].fields_by_name['is_archived']._loaded_options = None _globals['_ANNOTATION'].fields_by_name['is_archived']._serialized_options = b'\340A\002' + _globals['_ANNOTATION'].fields_by_name['batched_triggers']._loaded_options = None + _globals['_ANNOTATION'].fields_by_name['batched_triggers']._serialized_options = b'\340A\002' + _globals['_ANNOTATION'].fields_by_name['is_noisy_rule']._loaded_options = None + _globals['_ANNOTATION'].fields_by_name['is_noisy_rule']._serialized_options = b'\340A\001' _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL'].fields_by_name['channel_id']._loaded_options = None _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL'].fields_by_name['channel_id']._serialized_options = b'\340A\002' _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT'].fields_by_name['channel_id']._loaded_options = None _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT'].fields_by_name['channel_id']._serialized_options = b'\340A\002' _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT'].fields_by_name['bit_field_name']._loaded_options = None _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT'].fields_by_name['bit_field_name']._serialized_options = b'\340A\002' + _globals['_ANNOTATIONLINKEDCALCULATEDCHANNEL'].fields_by_name['calculated_channel_version_id']._loaded_options = None + _globals['_ANNOTATIONLINKEDCALCULATEDCHANNEL'].fields_by_name['calculated_channel_version_id']._serialized_options = b'\340A\002' _globals['_CREATEANNOTATIONREQUEST'].fields_by_name['name']._loaded_options = None _globals['_CREATEANNOTATIONREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002' _globals['_CREATEANNOTATIONREQUEST'].fields_by_name['description']._loaded_options = None @@ -183,58 +189,60 @@ _globals['_ANNOTATIONSERVICE'].methods_by_name['GetAnnotation']._serialized_options = b'\222A(\022\rGetAnnotation\032\027Retrieves an annotation\202\323\344\223\002%\022#/api/v1/annotations/{annotation_id}' _globals['_ANNOTATIONSERVICE'].methods_by_name['UpdateAnnotation']._loaded_options = None _globals['_ANNOTATIONSERVICE'].methods_by_name['UpdateAnnotation']._serialized_options = b'\222Am\022\020UpdateAnnotation\032YUpdates an existing annotation using using the list of fields specified in `update_mask`.\202\323\344\223\002\0302\023/api/v1/annotations:\001*' - _globals['_ANNOTATIONSTATE']._serialized_start=5216 - _globals['_ANNOTATIONSTATE']._serialized_end=5355 - _globals['_ANNOTATIONTYPE']._serialized_start=5357 - _globals['_ANNOTATIONTYPE']._serialized_end=5466 + _globals['_ANNOTATIONSTATE']._serialized_start=5519 + _globals['_ANNOTATIONSTATE']._serialized_end=5658 + _globals['_ANNOTATIONTYPE']._serialized_start=5660 + _globals['_ANNOTATIONTYPE']._serialized_end=5769 _globals['_ANNOTATION']._serialized_start=306 - _globals['_ANNOTATION']._serialized_end=1971 - _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL']._serialized_start=1973 - _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL']._serialized_end=2042 - _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT']._serialized_start=2044 - _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT']._serialized_end=2164 - _globals['_ANNOTATIONLINKEDCHANNEL']._serialized_start=2167 - _globals['_ANNOTATIONLINKEDCHANNEL']._serialized_end=2390 - _globals['_CREATEANNOTATIONREQUEST']._serialized_start=2393 - _globals['_CREATEANNOTATIONREQUEST']._serialized_end=3434 - _globals['_CREATEANNOTATIONRESPONSE']._serialized_start=3436 - _globals['_CREATEANNOTATIONRESPONSE']._serialized_end=3532 - _globals['_DELETEANNOTATIONREQUEST']._serialized_start=3534 - _globals['_DELETEANNOTATIONREQUEST']._serialized_end=3601 - _globals['_DELETEANNOTATIONRESPONSE']._serialized_start=3603 - _globals['_DELETEANNOTATIONRESPONSE']._serialized_end=3629 - _globals['_BATCHDELETEANNOTATIONSREQUEST']._serialized_start=3631 - _globals['_BATCHDELETEANNOTATIONSREQUEST']._serialized_end=3706 - _globals['_BATCHDELETEANNOTATIONSRESPONSE']._serialized_start=3708 - _globals['_BATCHDELETEANNOTATIONSRESPONSE']._serialized_end=3740 - _globals['_GETANNOTATIONREQUEST']._serialized_start=3742 - _globals['_GETANNOTATIONREQUEST']._serialized_end=3806 - _globals['_GETANNOTATIONRESPONSE']._serialized_start=3808 - _globals['_GETANNOTATIONRESPONSE']._serialized_end=3901 - _globals['_LISTANNOTATIONSREQUEST']._serialized_start=3904 - _globals['_LISTANNOTATIONSREQUEST']._serialized_end=4105 - _globals['_LISTANNOTATIONSRESPONSE']._serialized_start=4108 - _globals['_LISTANNOTATIONSRESPONSE']._serialized_end=4240 - _globals['_UPDATEANNOTATIONREQUEST']._serialized_start=4243 - _globals['_UPDATEANNOTATIONREQUEST']._serialized_end=4404 - _globals['_UPDATEANNOTATIONRESPONSE']._serialized_start=4406 - _globals['_UPDATEANNOTATIONRESPONSE']._serialized_end=4497 - _globals['_ARCHIVEANNOTATIONREQUEST']._serialized_start=4499 - _globals['_ARCHIVEANNOTATIONREQUEST']._serialized_end=4567 - _globals['_ARCHIVEANNOTATIONRESPONSE']._serialized_start=4569 - _globals['_ARCHIVEANNOTATIONRESPONSE']._serialized_end=4666 - _globals['_UNARCHIVEANNOTATIONREQUEST']._serialized_start=4668 - _globals['_UNARCHIVEANNOTATIONREQUEST']._serialized_end=4738 - _globals['_UNARCHIVEANNOTATIONRESPONSE']._serialized_start=4740 - _globals['_UNARCHIVEANNOTATIONRESPONSE']._serialized_end=4839 - _globals['_BATCHARCHIVEANNOTATIONSREQUEST']._serialized_start=4841 - _globals['_BATCHARCHIVEANNOTATIONSREQUEST']._serialized_end=4917 - _globals['_BATCHARCHIVEANNOTATIONSRESPONSE']._serialized_start=4919 - _globals['_BATCHARCHIVEANNOTATIONSRESPONSE']._serialized_end=5024 - _globals['_BATCHUNARCHIVEANNOTATIONSREQUEST']._serialized_start=5026 - _globals['_BATCHUNARCHIVEANNOTATIONSREQUEST']._serialized_end=5104 - _globals['_BATCHUNARCHIVEANNOTATIONSRESPONSE']._serialized_start=5106 - _globals['_BATCHUNARCHIVEANNOTATIONSRESPONSE']._serialized_end=5213 - _globals['_ANNOTATIONSERVICE']._serialized_start=5469 - _globals['_ANNOTATIONSERVICE']._serialized_end=7902 + _globals['_ANNOTATION']._serialized_end=2060 + _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL']._serialized_start=2062 + _globals['_ANNOTATIONLINKEDCHANNELSCHANNEL']._serialized_end=2131 + _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT']._serialized_start=2133 + _globals['_ANNOTATIONLINKEDCHANNELSBITFIELDELEMENT']._serialized_end=2253 + _globals['_ANNOTATIONLINKEDCALCULATEDCHANNEL']._serialized_start=2255 + _globals['_ANNOTATIONLINKEDCALCULATEDCHANNEL']._serialized_end=2362 + _globals['_ANNOTATIONLINKEDCHANNEL']._serialized_start=2365 + _globals['_ANNOTATIONLINKEDCHANNEL']._serialized_end=2693 + _globals['_CREATEANNOTATIONREQUEST']._serialized_start=2696 + _globals['_CREATEANNOTATIONREQUEST']._serialized_end=3737 + _globals['_CREATEANNOTATIONRESPONSE']._serialized_start=3739 + _globals['_CREATEANNOTATIONRESPONSE']._serialized_end=3835 + _globals['_DELETEANNOTATIONREQUEST']._serialized_start=3837 + _globals['_DELETEANNOTATIONREQUEST']._serialized_end=3904 + _globals['_DELETEANNOTATIONRESPONSE']._serialized_start=3906 + _globals['_DELETEANNOTATIONRESPONSE']._serialized_end=3932 + _globals['_BATCHDELETEANNOTATIONSREQUEST']._serialized_start=3934 + _globals['_BATCHDELETEANNOTATIONSREQUEST']._serialized_end=4009 + _globals['_BATCHDELETEANNOTATIONSRESPONSE']._serialized_start=4011 + _globals['_BATCHDELETEANNOTATIONSRESPONSE']._serialized_end=4043 + _globals['_GETANNOTATIONREQUEST']._serialized_start=4045 + _globals['_GETANNOTATIONREQUEST']._serialized_end=4109 + _globals['_GETANNOTATIONRESPONSE']._serialized_start=4111 + _globals['_GETANNOTATIONRESPONSE']._serialized_end=4204 + _globals['_LISTANNOTATIONSREQUEST']._serialized_start=4207 + _globals['_LISTANNOTATIONSREQUEST']._serialized_end=4408 + _globals['_LISTANNOTATIONSRESPONSE']._serialized_start=4411 + _globals['_LISTANNOTATIONSRESPONSE']._serialized_end=4543 + _globals['_UPDATEANNOTATIONREQUEST']._serialized_start=4546 + _globals['_UPDATEANNOTATIONREQUEST']._serialized_end=4707 + _globals['_UPDATEANNOTATIONRESPONSE']._serialized_start=4709 + _globals['_UPDATEANNOTATIONRESPONSE']._serialized_end=4800 + _globals['_ARCHIVEANNOTATIONREQUEST']._serialized_start=4802 + _globals['_ARCHIVEANNOTATIONREQUEST']._serialized_end=4870 + _globals['_ARCHIVEANNOTATIONRESPONSE']._serialized_start=4872 + _globals['_ARCHIVEANNOTATIONRESPONSE']._serialized_end=4969 + _globals['_UNARCHIVEANNOTATIONREQUEST']._serialized_start=4971 + _globals['_UNARCHIVEANNOTATIONREQUEST']._serialized_end=5041 + _globals['_UNARCHIVEANNOTATIONRESPONSE']._serialized_start=5043 + _globals['_UNARCHIVEANNOTATIONRESPONSE']._serialized_end=5142 + _globals['_BATCHARCHIVEANNOTATIONSREQUEST']._serialized_start=5144 + _globals['_BATCHARCHIVEANNOTATIONSREQUEST']._serialized_end=5220 + _globals['_BATCHARCHIVEANNOTATIONSRESPONSE']._serialized_start=5222 + _globals['_BATCHARCHIVEANNOTATIONSRESPONSE']._serialized_end=5327 + _globals['_BATCHUNARCHIVEANNOTATIONSREQUEST']._serialized_start=5329 + _globals['_BATCHUNARCHIVEANNOTATIONSREQUEST']._serialized_end=5407 + _globals['_BATCHUNARCHIVEANNOTATIONSRESPONSE']._serialized_start=5409 + _globals['_BATCHUNARCHIVEANNOTATIONSRESPONSE']._serialized_end=5516 + _globals['_ANNOTATIONSERVICE']._serialized_start=5772 + _globals['_ANNOTATIONSERVICE']._serialized_end=8205 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/annotations/v1/annotations_pb2.pyi b/python/lib/sift/annotations/v1/annotations_pb2.pyi index f78a78738..1b5ac4038 100644 --- a/python/lib/sift/annotations/v1/annotations_pb2.pyi +++ b/python/lib/sift/annotations/v1/annotations_pb2.pyi @@ -90,6 +90,8 @@ class Annotation(google.protobuf.message.Message): METADATA_FIELD_NUMBER: builtins.int ARCHIVED_DATE_FIELD_NUMBER: builtins.int IS_ARCHIVED_FIELD_NUMBER: builtins.int + BATCHED_TRIGGERS_FIELD_NUMBER: builtins.int + IS_NOISY_RULE_FIELD_NUMBER: builtins.int annotation_id: builtins.str name: builtins.str description: builtins.str @@ -110,6 +112,8 @@ class Annotation(google.protobuf.message.Message): """ is_archived: builtins.bool """is_archived is a inferred from when archived_date is not null""" + batched_triggers: builtins.int + is_noisy_rule: builtins.bool @property def start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property @@ -162,9 +166,11 @@ class Annotation(google.protobuf.message.Message): metadata: collections.abc.Iterable[sift.metadata.v1.metadata_pb2.MetadataValue] | None = ..., archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., is_archived: builtins.bool = ..., + batched_triggers: builtins.int = ..., + is_noisy_rule: builtins.bool = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_report_rule_version_id", b"_report_rule_version_id", "_run_id", b"_run_id", "_state", b"_state", "archived_date", b"archived_date", "assigned_to_user", b"assigned_to_user", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "created_date", b"created_date", "deleted_date", b"deleted_date", "end_time", b"end_time", "legend_config", b"legend_config", "modified_date", b"modified_date", "report_rule_version_id", b"report_rule_version_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_report_rule_version_id", b"_report_rule_version_id", "_run_id", b"_run_id", "_state", b"_state", "annotation_id", b"annotation_id", "annotation_type", b"annotation_type", "archived_date", b"archived_date", "asset_ids", b"asset_ids", "assigned_to_user", b"assigned_to_user", "assigned_to_user_id", b"assigned_to_user_id", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "deleted_date", b"deleted_date", "description", b"description", "end_time", b"end_time", "is_archived", b"is_archived", "legend_config", b"legend_config", "linked_channels", b"linked_channels", "metadata", b"metadata", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "pending", b"pending", "report_rule_version_id", b"report_rule_version_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state", "tags", b"tags"]) -> None: ... + def ClearField(self, field_name: typing.Literal["_created_by_condition_id", b"_created_by_condition_id", "_created_by_rule_condition_version_id", b"_created_by_rule_condition_version_id", "_legend_config", b"_legend_config", "_report_rule_version_id", b"_report_rule_version_id", "_run_id", b"_run_id", "_state", b"_state", "annotation_id", b"annotation_id", "annotation_type", b"annotation_type", "archived_date", b"archived_date", "asset_ids", b"asset_ids", "assigned_to_user", b"assigned_to_user", "assigned_to_user_id", b"assigned_to_user_id", "batched_triggers", b"batched_triggers", "created_by_condition_id", b"created_by_condition_id", "created_by_rule_condition_version_id", b"created_by_rule_condition_version_id", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "deleted_date", b"deleted_date", "description", b"description", "end_time", b"end_time", "is_archived", b"is_archived", "is_noisy_rule", b"is_noisy_rule", "legend_config", b"legend_config", "linked_channels", b"linked_channels", "metadata", b"metadata", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "pending", b"pending", "report_rule_version_id", b"report_rule_version_id", "run_id", b"run_id", "start_time", b"start_time", "state", b"state", "tags", b"tags"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_created_by_condition_id", b"_created_by_condition_id"]) -> typing.Literal["created_by_condition_id"] | None: ... @typing.overload @@ -213,25 +219,44 @@ class AnnotationLinkedChannelsBitFieldElement(google.protobuf.message.Message): global___AnnotationLinkedChannelsBitFieldElement = AnnotationLinkedChannelsBitFieldElement +@typing.final +class AnnotationLinkedCalculatedChannel(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int + calculated_channel_version_id: builtins.str + def __init__( + self, + *, + calculated_channel_version_id: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_version_id", b"calculated_channel_version_id"]) -> None: ... + +global___AnnotationLinkedCalculatedChannel = AnnotationLinkedCalculatedChannel + @typing.final class AnnotationLinkedChannel(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor CHANNEL_FIELD_NUMBER: builtins.int BIT_FIELD_ELEMENT_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_FIELD_NUMBER: builtins.int @property def channel(self) -> global___AnnotationLinkedChannelsChannel: ... @property def bit_field_element(self) -> global___AnnotationLinkedChannelsBitFieldElement: ... + @property + def calculated_channel(self) -> global___AnnotationLinkedCalculatedChannel: ... def __init__( self, *, channel: global___AnnotationLinkedChannelsChannel | None = ..., bit_field_element: global___AnnotationLinkedChannelsBitFieldElement | None = ..., + calculated_channel: global___AnnotationLinkedCalculatedChannel | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "channel", b"channel", "type", b"type"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "channel", b"channel", "type", b"type"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["channel", "bit_field_element"] | None: ... + def HasField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "calculated_channel", b"calculated_channel", "channel", b"channel", "type", b"type"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["bit_field_element", b"bit_field_element", "calculated_channel", b"calculated_channel", "channel", b"channel", "type", b"type"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["type", b"type"]) -> typing.Literal["channel", "bit_field_element", "calculated_channel"] | None: ... global___AnnotationLinkedChannel = AnnotationLinkedChannel @@ -481,7 +506,7 @@ class ListAnnotationsRequest(google.protobuf.message.Message): filter: builtins.str """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. Available fields to filter by are `annotation_id`, `start_time`, `end_time`, - `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, + `created_date`, `modified_date`, `run_id`, `name`, `description`, `state`, `created_by_user_id`, `created_by_rule_condition_version_id`, `rule_id`, `annotation_type`, `tag_name`, `report_id`, `asset_id`, `asset_name`, `pending`, `assignee`, `campaign_reports`, `metadata`, `archived_date`, and `is_archived`. For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/annotations#annotation). Optional. diff --git a/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.py b/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.py index 33bd9be61..6507a8c1d 100644 --- a/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.py +++ b/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.py @@ -19,7 +19,7 @@ from sift.common.type.v1 import user_defined_functions_pb2 as sift_dot_common_dot_type_dot_v1_dot_user__defined__functions__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5sift/calculated_channels/v1/calculated_channels.proto\x12\x1bsift.calculated_channels.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a\x30sift/common/type/v1/user_defined_functions.proto\"r\n\x1a\x45xpressionChannelReference\x12\x30\n\x11\x63hannel_reference\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x10\x63hannelReference\x12\"\n\nchannel_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tchannelId\"\xd8\x03\n\x11\x45xpressionRequest\x12x\n\x12\x63hannel_references\x18\x01 \x03(\x0b\x32\x45.sift.calculated_channels.v1.ExpressionRequest.ChannelReferencesEntryB\x02\x18\x01R\x11\x63hannelReferences\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12{\n\x1d\x65xpression_channel_references\x18\x03 \x03(\x0b\x32\x37.sift.calculated_channels.v1.ExpressionChannelReferenceR\x1b\x65xpressionChannelReferences\x12\x61\n\x15\x66unction_dependencies\x18\x04 \x03(\x0b\x32\'.sift.common.type.v1.FunctionDependencyB\x03\xe0\x41\x01R\x14\x66unctionDependencies\x1a\x44\n\x16\x43hannelReferencesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xa4\x01\n ListExpressionIdentifiersRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x44\n\x04mode\x18\x03 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeB\x03\xe0\x41\x02R\x04mode\"\xc3\x01\n!ListExpressionIdentifiersResponse\x12X\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x31.sift.calculated_channels.v1.ExpressionIdentifierB\x03\xe0\x41\x02R\x0bidentifiers\x12\x30\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\rnextPageToken\x88\x01\x01\x42\x12\n\x10_next_page_token\"\xa7\x02\n\x14\x45xpressionIdentifier\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12N\n\x04type\x18\x03 \x01(\x0e\x32\x35.sift.calculated_channels.v1.ExpressionIdentifierTypeB\x03\xe0\x41\x02R\x04type\x12&\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12W\n\x07library\x18\x05 \x01(\x0e\x32\x38.sift.calculated_channels.v1.ExpressionIdentifierLibraryB\x03\xe0\x41\x02R\x07library\"\xb6\x01\n\x19ValidateExpressionRequest\x12S\n\nexpression\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\nexpression\x12\x44\n\x04mode\x18\x02 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeB\x03\xe0\x41\x02R\x04mode\"\xd8\x01\n\x1aValidateExpressionResponse\x12T\n\x05\x65rror\x18\x01 \x01(\x0b\x32<.sift.calculated_channels.v1.ErrorValidatingExpressionResultH\x00R\x05\x65rror\x12Z\n\x07success\x18\x02 \x01(\x0b\x32>.sift.calculated_channels.v1.SuccessValidatingExpressionResultH\x00R\x07successB\x08\n\x06result\"K\n\x1f\x45rrorValidatingExpressionResult\x12(\n\rerror_message\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x65rrorMessage\"k\n!SuccessValidatingExpressionResult\x12\x46\n\tdata_type\x18\x01 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType*\x9b\x01\n\x18\x45xpressionIdentifierType\x12.\n&EXPRESSION_IDENTIFIER_TYPE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\'\n#EXPRESSION_IDENTIFIER_TYPE_FUNCTION\x10\x01\x12&\n\"EXPRESSION_IDENTIFIER_TYPE_CHANNEL\x10\x02*\xff\x02\n\x1b\x45xpressionIdentifierLibrary\x12-\n)EXPRESSION_IDENTIFIER_LIBRARY_UNSPECIFIED\x10\x00\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_MATH\x10\x01\x12(\n$EXPRESSION_IDENTIFIER_LIBRARY_STRING\x10\x02\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_LIST\x10\x03\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_ITER\x10\x04\x12*\n&EXPRESSION_IDENTIFIER_LIBRARY_STATEFUL\x10\x05\x12)\n%EXPRESSION_IDENTIFIER_LIBRARY_SUMMARY\x10\x06\x12\x38\n4EXPRESSION_IDENTIFIER_LIBRARY_USER_DEFINED_FUNCTIONS\x10\x07*\xb9\x01\n\x0e\x45xpressionMode\x12#\n\x1b\x45XPRESSION_MODE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x19\n\x15\x45XPRESSION_MODE_RULES\x10\x01\x12\'\n#EXPRESSION_MODE_CALCULATED_CHANNELS\x10\x02\x12\x19\n\x15\x45XPRESSION_MODE_RULER\x10\x03\x12#\n\x1f\x45XPRESSION_MODE_STRUCTURED_DATA\x10\x04\x32\xf1\x06\n\x19\x43\x61lculatedChannelsService\x12\xd9\x02\n\x19ListExpressionIdentifiers\x12=.sift.calculated_channels.v1.ListExpressionIdentifiersRequest\x1a>.sift.calculated_channels.v1.ListExpressionIdentifiersResponse\"\xbc\x01\x92\x41\x7f\x12\x19ListExpressionIdentifiers\x1a\x62Retrieves a list of valid identifiers that can be used as part of a calculated channel expression.\x82\xd3\xe4\x93\x02\x34\x12\x32/api/v1/calculated-channels:expression-identifiers\x12\xb0\x02\n\x12ValidateExpression\x12\x36.sift.calculated_channels.v1.ValidateExpressionRequest\x1a\x37.sift.calculated_channels.v1.ValidateExpressionResponse\"\xa8\x01\x92\x41k\x12\x12ValidateExpression\x1aUUsed to validate whether or not an expression used for a calculated channel is valid.\x82\xd3\xe4\x93\x02\x34\"//api/v1/calculated-channels:validate-expression:\x01*\x1a\xc4\x01\x92\x41\xc0\x01\x12>Service to programmatically interact with calculated channels.\x1a~\n$Read more about calculated channels.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421153B\xe6\x01\n\x1f\x63om.sift.calculated_channels.v1B\x17\x43\x61lculatedChannelsProtoP\x01\xa2\x02\x03SCX\xaa\x02\x1aSift.CalculatedChannels.V1\xca\x02\x1aSift\\CalculatedChannels\\V1\xe2\x02&Sift\\CalculatedChannels\\V1\\GPBMetadata\xea\x02\x1cSift::CalculatedChannels::V1\x92\x41\x1f\x12\x1d\n\x1b\x43\x61lculated Channels Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5sift/calculated_channels/v1/calculated_channels.proto\x12\x1bsift.calculated_channels.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a\x30sift/common/type/v1/user_defined_functions.proto\"\xf3\x01\n\x1a\x45xpressionChannelReference\x12\x30\n\x11\x63hannel_reference\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x10\x63hannelReference\x12\"\n\nchannel_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12_\n\x12\x63\x61lculated_channel\x18\x04 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestH\x00R\x11\x63\x61lculatedChannelB\x1e\n\x1c\x63\x61lculated_channel_reference\"\xd8\x03\n\x11\x45xpressionRequest\x12x\n\x12\x63hannel_references\x18\x01 \x03(\x0b\x32\x45.sift.calculated_channels.v1.ExpressionRequest.ChannelReferencesEntryB\x02\x18\x01R\x11\x63hannelReferences\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12{\n\x1d\x65xpression_channel_references\x18\x03 \x03(\x0b\x32\x37.sift.calculated_channels.v1.ExpressionChannelReferenceR\x1b\x65xpressionChannelReferences\x12\x61\n\x15\x66unction_dependencies\x18\x04 \x03(\x0b\x32\'.sift.common.type.v1.FunctionDependencyB\x03\xe0\x41\x01R\x14\x66unctionDependencies\x1a\x44\n\x16\x43hannelReferencesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n\x05value\x18\x02 \x01(\tR\x05value:\x02\x38\x01\"\xa4\x01\n ListExpressionIdentifiersRequest\x12\x1b\n\tpage_size\x18\x01 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x02 \x01(\tR\tpageToken\x12\x44\n\x04mode\x18\x03 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeB\x03\xe0\x41\x02R\x04mode\"\xc3\x01\n!ListExpressionIdentifiersResponse\x12X\n\x0bidentifiers\x18\x01 \x03(\x0b\x32\x31.sift.calculated_channels.v1.ExpressionIdentifierB\x03\xe0\x41\x02R\x0bidentifiers\x12\x30\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\rnextPageToken\x88\x01\x01\x42\x12\n\x10_next_page_token\"\xa7\x02\n\x14\x45xpressionIdentifier\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12N\n\x04type\x18\x03 \x01(\x0e\x32\x35.sift.calculated_channels.v1.ExpressionIdentifierTypeB\x03\xe0\x41\x02R\x04type\x12&\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12W\n\x07library\x18\x05 \x01(\x0e\x32\x38.sift.calculated_channels.v1.ExpressionIdentifierLibraryB\x03\xe0\x41\x02R\x07library\"\xb6\x01\n\x19ValidateExpressionRequest\x12S\n\nexpression\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\nexpression\x12\x44\n\x04mode\x18\x02 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeB\x03\xe0\x41\x02R\x04mode\"\xd8\x01\n\x1aValidateExpressionResponse\x12T\n\x05\x65rror\x18\x01 \x01(\x0b\x32<.sift.calculated_channels.v1.ErrorValidatingExpressionResultH\x00R\x05\x65rror\x12Z\n\x07success\x18\x02 \x01(\x0b\x32>.sift.calculated_channels.v1.SuccessValidatingExpressionResultH\x00R\x07successB\x08\n\x06result\"K\n\x1f\x45rrorValidatingExpressionResult\x12(\n\rerror_message\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x65rrorMessage\"k\n!SuccessValidatingExpressionResult\x12\x46\n\tdata_type\x18\x01 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType*\x9b\x01\n\x18\x45xpressionIdentifierType\x12.\n&EXPRESSION_IDENTIFIER_TYPE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\'\n#EXPRESSION_IDENTIFIER_TYPE_FUNCTION\x10\x01\x12&\n\"EXPRESSION_IDENTIFIER_TYPE_CHANNEL\x10\x02*\xff\x02\n\x1b\x45xpressionIdentifierLibrary\x12-\n)EXPRESSION_IDENTIFIER_LIBRARY_UNSPECIFIED\x10\x00\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_MATH\x10\x01\x12(\n$EXPRESSION_IDENTIFIER_LIBRARY_STRING\x10\x02\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_LIST\x10\x03\x12&\n\"EXPRESSION_IDENTIFIER_LIBRARY_ITER\x10\x04\x12*\n&EXPRESSION_IDENTIFIER_LIBRARY_STATEFUL\x10\x05\x12)\n%EXPRESSION_IDENTIFIER_LIBRARY_SUMMARY\x10\x06\x12\x38\n4EXPRESSION_IDENTIFIER_LIBRARY_USER_DEFINED_FUNCTIONS\x10\x07*\xb9\x01\n\x0e\x45xpressionMode\x12#\n\x1b\x45XPRESSION_MODE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x19\n\x15\x45XPRESSION_MODE_RULES\x10\x01\x12\'\n#EXPRESSION_MODE_CALCULATED_CHANNELS\x10\x02\x12\x19\n\x15\x45XPRESSION_MODE_RULER\x10\x03\x12#\n\x1f\x45XPRESSION_MODE_STRUCTURED_DATA\x10\x04\x32\xf1\x06\n\x19\x43\x61lculatedChannelsService\x12\xd9\x02\n\x19ListExpressionIdentifiers\x12=.sift.calculated_channels.v1.ListExpressionIdentifiersRequest\x1a>.sift.calculated_channels.v1.ListExpressionIdentifiersResponse\"\xbc\x01\x92\x41\x7f\x12\x19ListExpressionIdentifiers\x1a\x62Retrieves a list of valid identifiers that can be used as part of a calculated channel expression.\x82\xd3\xe4\x93\x02\x34\x12\x32/api/v1/calculated-channels:expression-identifiers\x12\xb0\x02\n\x12ValidateExpression\x12\x36.sift.calculated_channels.v1.ValidateExpressionRequest\x1a\x37.sift.calculated_channels.v1.ValidateExpressionResponse\"\xa8\x01\x92\x41k\x12\x12ValidateExpression\x1aUUsed to validate whether or not an expression used for a calculated channel is valid.\x82\xd3\xe4\x93\x02\x34\"//api/v1/calculated-channels:validate-expression:\x01*\x1a\xc4\x01\x92\x41\xc0\x01\x12>Service to programmatically interact with calculated channels.\x1a~\n$Read more about calculated channels.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421153B\xe6\x01\n\x1f\x63om.sift.calculated_channels.v1B\x17\x43\x61lculatedChannelsProtoP\x01\xa2\x02\x03SCX\xaa\x02\x1aSift.CalculatedChannels.V1\xca\x02\x1aSift\\CalculatedChannels\\V1\xe2\x02&Sift\\CalculatedChannels\\V1\\GPBMetadata\xea\x02\x1cSift::CalculatedChannels::V1\x92\x41\x1f\x12\x1d\n\x1b\x43\x61lculated Channels Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -73,32 +73,32 @@ _globals['_CALCULATEDCHANNELSSERVICE'].methods_by_name['ListExpressionIdentifiers']._serialized_options = b'\222A\177\022\031ListExpressionIdentifiers\032bRetrieves a list of valid identifiers that can be used as part of a calculated channel expression.\202\323\344\223\0024\0222/api/v1/calculated-channels:expression-identifiers' _globals['_CALCULATEDCHANNELSSERVICE'].methods_by_name['ValidateExpression']._loaded_options = None _globals['_CALCULATEDCHANNELSSERVICE'].methods_by_name['ValidateExpression']._serialized_options = b'\222Ak\022\022ValidateExpression\032UUsed to validate whether or not an expression used for a calculated channel is valid.\202\323\344\223\0024\"//api/v1/calculated-channels:validate-expression:\001*' - _globals['_EXPRESSIONIDENTIFIERTYPE']._serialized_start=2137 - _globals['_EXPRESSIONIDENTIFIERTYPE']._serialized_end=2292 - _globals['_EXPRESSIONIDENTIFIERLIBRARY']._serialized_start=2295 - _globals['_EXPRESSIONIDENTIFIERLIBRARY']._serialized_end=2678 - _globals['_EXPRESSIONMODE']._serialized_start=2681 - _globals['_EXPRESSIONMODE']._serialized_end=2866 - _globals['_EXPRESSIONCHANNELREFERENCE']._serialized_start=292 - _globals['_EXPRESSIONCHANNELREFERENCE']._serialized_end=406 - _globals['_EXPRESSIONREQUEST']._serialized_start=409 - _globals['_EXPRESSIONREQUEST']._serialized_end=881 - _globals['_EXPRESSIONREQUEST_CHANNELREFERENCESENTRY']._serialized_start=813 - _globals['_EXPRESSIONREQUEST_CHANNELREFERENCESENTRY']._serialized_end=881 - _globals['_LISTEXPRESSIONIDENTIFIERSREQUEST']._serialized_start=884 - _globals['_LISTEXPRESSIONIDENTIFIERSREQUEST']._serialized_end=1048 - _globals['_LISTEXPRESSIONIDENTIFIERSRESPONSE']._serialized_start=1051 - _globals['_LISTEXPRESSIONIDENTIFIERSRESPONSE']._serialized_end=1246 - _globals['_EXPRESSIONIDENTIFIER']._serialized_start=1249 - _globals['_EXPRESSIONIDENTIFIER']._serialized_end=1544 - _globals['_VALIDATEEXPRESSIONREQUEST']._serialized_start=1547 - _globals['_VALIDATEEXPRESSIONREQUEST']._serialized_end=1729 - _globals['_VALIDATEEXPRESSIONRESPONSE']._serialized_start=1732 - _globals['_VALIDATEEXPRESSIONRESPONSE']._serialized_end=1948 - _globals['_ERRORVALIDATINGEXPRESSIONRESULT']._serialized_start=1950 - _globals['_ERRORVALIDATINGEXPRESSIONRESULT']._serialized_end=2025 - _globals['_SUCCESSVALIDATINGEXPRESSIONRESULT']._serialized_start=2027 - _globals['_SUCCESSVALIDATINGEXPRESSIONRESULT']._serialized_end=2134 - _globals['_CALCULATEDCHANNELSSERVICE']._serialized_start=2869 - _globals['_CALCULATEDCHANNELSSERVICE']._serialized_end=3750 + _globals['_EXPRESSIONIDENTIFIERTYPE']._serialized_start=2267 + _globals['_EXPRESSIONIDENTIFIERTYPE']._serialized_end=2422 + _globals['_EXPRESSIONIDENTIFIERLIBRARY']._serialized_start=2425 + _globals['_EXPRESSIONIDENTIFIERLIBRARY']._serialized_end=2808 + _globals['_EXPRESSIONMODE']._serialized_start=2811 + _globals['_EXPRESSIONMODE']._serialized_end=2996 + _globals['_EXPRESSIONCHANNELREFERENCE']._serialized_start=293 + _globals['_EXPRESSIONCHANNELREFERENCE']._serialized_end=536 + _globals['_EXPRESSIONREQUEST']._serialized_start=539 + _globals['_EXPRESSIONREQUEST']._serialized_end=1011 + _globals['_EXPRESSIONREQUEST_CHANNELREFERENCESENTRY']._serialized_start=943 + _globals['_EXPRESSIONREQUEST_CHANNELREFERENCESENTRY']._serialized_end=1011 + _globals['_LISTEXPRESSIONIDENTIFIERSREQUEST']._serialized_start=1014 + _globals['_LISTEXPRESSIONIDENTIFIERSREQUEST']._serialized_end=1178 + _globals['_LISTEXPRESSIONIDENTIFIERSRESPONSE']._serialized_start=1181 + _globals['_LISTEXPRESSIONIDENTIFIERSRESPONSE']._serialized_end=1376 + _globals['_EXPRESSIONIDENTIFIER']._serialized_start=1379 + _globals['_EXPRESSIONIDENTIFIER']._serialized_end=1674 + _globals['_VALIDATEEXPRESSIONREQUEST']._serialized_start=1677 + _globals['_VALIDATEEXPRESSIONREQUEST']._serialized_end=1859 + _globals['_VALIDATEEXPRESSIONRESPONSE']._serialized_start=1862 + _globals['_VALIDATEEXPRESSIONRESPONSE']._serialized_end=2078 + _globals['_ERRORVALIDATINGEXPRESSIONRESULT']._serialized_start=2080 + _globals['_ERRORVALIDATINGEXPRESSIONRESULT']._serialized_end=2155 + _globals['_SUCCESSVALIDATINGEXPRESSIONRESULT']._serialized_start=2157 + _globals['_SUCCESSVALIDATINGEXPRESSIONRESULT']._serialized_end=2264 + _globals['_CALCULATEDCHANNELSSERVICE']._serialized_start=2999 + _globals['_CALCULATEDCHANNELSSERVICE']._serialized_end=3880 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi b/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi index 01ab09b30..b62be6f81 100644 --- a/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi +++ b/python/lib/sift/calculated_channels/v1/calculated_channels_pb2.pyi @@ -88,19 +88,27 @@ global___ExpressionMode = ExpressionMode @typing.final class ExpressionChannelReference(google.protobuf.message.Message): + """Reference to a saved calculated channel with optional asset context.""" + DESCRIPTOR: google.protobuf.descriptor.Descriptor CHANNEL_REFERENCE_FIELD_NUMBER: builtins.int CHANNEL_ID_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_FIELD_NUMBER: builtins.int channel_reference: builtins.str channel_id: builtins.str + @property + def calculated_channel(self) -> global___ExpressionRequest: ... def __init__( self, *, channel_reference: builtins.str = ..., channel_id: builtins.str = ..., + calculated_channel: global___ExpressionRequest | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["channel_id", b"channel_id", "channel_reference", b"channel_reference"]) -> None: ... + def HasField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_reference", b"calculated_channel_reference"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_reference", b"calculated_channel_reference", "channel_id", b"channel_id", "channel_reference", b"channel_reference"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["calculated_channel_reference", b"calculated_channel_reference"]) -> typing.Literal["calculated_channel"] | None: ... global___ExpressionChannelReference = ExpressionChannelReference diff --git a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2.py b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2.py index 5b501790b..fef467196 100644 --- a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2.py +++ b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2.py @@ -22,9 +22,10 @@ from sift.common.type.v1 import resource_identifier_pb2 as sift_dot_common_dot_type_dot_v1_dot_resource__identifier__pb2 from sift.common.type.v1 import user_defined_functions_pb2 as sift_dot_common_dot_type_dot_v1_dot_user__defined__functions__pb2 from sift.metadata.v1 import metadata_pb2 as sift_dot_metadata_dot_v1_dot_metadata__pb2 +from sift.rules.v1 import rules_pb2 as sift_dot_rules_dot_v1_dot_rules__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n5sift/calculated_channels/v2/calculated_channels.proto\x12\x1bsift.calculated_channels.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x35sift/calculated_channels/v1/calculated_channels.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x30sift/common/type/v1/user_defined_functions.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\xd4\x08\n\x11\x43\x61lculatedChannel\x12\x37\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x13\x63\x61lculatedChannelId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\'\n\nclient_key\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\tclientKey\x88\x01\x01\x12I\n\rarchived_date\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x0c\x61rchivedDate\x88\x01\x01\x12\"\n\nversion_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\tversionId\x12\x1d\n\x07version\x18\x06 \x01(\rB\x03\xe0\x41\x02R\x07version\x12\x17\n\x04name\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x08 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12*\n\x0e\x63hange_message\x18\t \x01(\tB\x03\xe0\x41\x02R\rchangeMessage\x12\"\n\nuser_notes\x18\n \x01(\tB\x03\xe0\x41\x02R\tuserNotes\x12\x1e\n\x05units\x18\x12 \x01(\tB\x03\xe0\x41\x01H\x02R\x05units\x88\x01\x01\x12\x42\n\x0c\x63reated_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x8a\x01\n calculated_channel_configuration\x18\x0f \x01(\x0b\x32;.sift.calculated_channels.v2.CalculatedChannelConfigurationB\x03\xe0\x41\x02R\x1e\x63\x61lculatedChannelConfiguration\x12\x30\n\x12\x63reated_by_user_id\x18\x10 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x11 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x61\n\x15\x66unction_dependencies\x18\x13 \x03(\x0b\x32\'.sift.common.type.v1.FunctionDependencyB\x03\xe0\x41\x02R\x14\x66unctionDependencies\x12@\n\x08metadata\x18\x14 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12$\n\x0bis_archived\x18\x15 \x01(\x08\x42\x03\xe0\x41\x02R\nisArchivedB\r\n\x0b_client_keyB\x10\n\x0e_archived_dateB\x08\n\x06_units\"\x90\x02\n\x1e\x43\x61lculatedChannelConfiguration\x12v\n\x13\x61sset_configuration\x18\x01 \x01(\x0b\x32@.sift.calculated_channels.v2.CalculatedChannelAssetConfigurationB\x03\xe0\x41\x02R\x12\x61ssetConfiguration\x12v\n\x13query_configuration\x18\x02 \x01(\x0b\x32@.sift.calculated_channels.v2.CalculatedChannelQueryConfigurationB\x03\xe0\x41\x02R\x12queryConfiguration\"\x98\x02\n#CalculatedChannelAssetConfiguration\x12\x1f\n\nall_assets\x18\x01 \x01(\x08H\x00R\tallAssets\x12o\n\tselection\x18\x02 \x01(\x0b\x32O.sift.calculated_channels.v2.CalculatedChannelAssetConfiguration.AssetSelectionH\x00R\tselection\x1aP\n\x0e\x41ssetSelection\x12 \n\tasset_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x08\x61ssetIds\x12\x1c\n\x07tag_ids\x18\x02 \x03(\tB\x03\xe0\x41\x02R\x06tagIdsB\r\n\x0b\x61sset_scope\"\xc7\x02\n#CalculatedChannelQueryConfiguration\x12X\n\x03sel\x18\x01 \x01(\x0b\x32\x44.sift.calculated_channels.v2.CalculatedChannelQueryConfiguration.SelH\x00R\x03sel\x1a\xbc\x01\n\x03Sel\x12#\n\nexpression\x18\x01 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12\x8f\x01\n\x1d\x65xpression_channel_references\x18\x02 \x03(\x0b\x32\x46.sift.calculated_channels.v2.CalculatedChannelAbstractChannelReferenceB\x03\xe0\x41\x02R\x1b\x65xpressionChannelReferencesB\x07\n\x05query\"\x91\x01\n)CalculatedChannelAbstractChannelReference\x12\x30\n\x11\x63hannel_reference\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x10\x63hannelReference\x12\x32\n\x12\x63hannel_identifier\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x11\x63hannelIdentifier\"\xcd\x01\n!CalculatedChannelValidationResult\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\'\n\nasset_name\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\tassetName\x88\x01\x01\x12 \n\ttag_names\x18\x03 \x03(\tB\x03\xe0\x41\x02R\x08tagNames\x12.\n\x10missing_channels\x18\x04 \x03(\tB\x03\xe0\x41\x02R\x0fmissingChannelsB\r\n\x0b_asset_name\"\xa8\x01\n\x1bGetCalculatedChannelRequest\x12\x37\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x13\x63\x61lculatedChannelId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"\x82\x01\n\x1cGetCalculatedChannelResponse\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\"\xb5\x03\n\x1e\x43reateCalculatedChannelRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12\"\n\nuser_notes\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tuserNotes\x12\x1e\n\x05units\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x00R\x05units\x88\x01\x01\x12\'\n\nclient_key\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x01R\tclientKey\x88\x01\x01\x12\x8a\x01\n calculated_channel_configuration\x18\x05 \x01(\x0b\x32;.sift.calculated_channels.v2.CalculatedChannelConfigurationB\x03\xe0\x41\x02R\x1e\x63\x61lculatedChannelConfiguration\x12@\n\x08metadata\x18\x08 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadataB\x08\n\x06_unitsB\r\n\x0b_client_key\"\xfb\x01\n\x1f\x43reateCalculatedChannelResponse\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\x12t\n\x13inapplicable_assets\x18\x02 \x03(\x0b\x32>.sift.calculated_channels.v2.CalculatedChannelValidationResultB\x03\xe0\x41\x02R\x12inapplicableAssets\"\xd0\x01\n\x1dListCalculatedChannelsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xb3\x01\n\x1eListCalculatedChannelsResponse\x12\x64\n\x13\x63\x61lculated_channels\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x12\x63\x61lculatedChannels\x12+\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken\"\xfe\x01\n\x1eUpdateCalculatedChannelRequest\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\x12\'\n\nuser_notes\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\tuserNotes\x88\x01\x01\x42\r\n\x0b_user_notes\"\xfb\x01\n\x1fUpdateCalculatedChannelResponse\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\x12t\n\x13inapplicable_assets\x18\x02 \x03(\x0b\x32>.sift.calculated_channels.v2.CalculatedChannelValidationResultB\x03\xe0\x41\x02R\x12inapplicableAssets\"\xb4\x02\n$ListCalculatedChannelVersionsRequest\x12\x37\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x13\x63\x61lculatedChannelId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12 \n\tpage_size\x18\x03 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x06 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xc9\x01\n%ListCalculatedChannelVersionsResponse\x12s\n\x1b\x63\x61lculated_channel_versions\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x19\x63\x61lculatedChannelVersions\x12+\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken\"\xd3\x03\n\x1fResolveCalculatedChannelRequest\x12N\n\nidentifier\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x01H\x00R\nidentifier\x12\x8c\x01\n calculated_channel_configuration\x18\x02 \x01(\x0b\x32;.sift.calculated_channels.v2.CalculatedChannelConfigurationB\x03\xe0\x41\x01H\x00R\x1e\x63\x61lculatedChannelConfiguration\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12@\n\x06\x61ssets\x18\x04 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x01R\x06\x61ssets\x12\x43\n\x03run\x18\x05 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x01H\x01R\x03run\x88\x01\x01\x42\x14\n\x12\x63\x61lculated_channelB\x06\n\x04_run\"\x98\x02\n\x19ResolvedCalculatedChannel\x12\"\n\nasset_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12\x62\n\x12\x65xpression_request\x18\x02 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\x11\x65xpressionRequest\x12S\n\x10output_data_type\x18\x03 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x0eoutputDataType\x12\x1e\n\x08\x61sset_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\"k\n\x1bUnresolvedCalculatedChannel\x12\"\n\nasset_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12(\n\rerror_message\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0c\x65rrorMessage\"\xb2\x02\n ResolveCalculatedChannelResponse\x12<\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00R\x13\x63\x61lculatedChannelId\x88\x01\x01\x12W\n\x08resolved\x18\x02 \x03(\x0b\x32\x36.sift.calculated_channels.v2.ResolvedCalculatedChannelB\x03\xe0\x41\x02R\x08resolved\x12]\n\nunresolved\x18\x03 \x03(\x0b\x32\x38.sift.calculated_channels.v2.UnresolvedCalculatedChannelB\x03\xe0\x41\x02R\nunresolvedB\x18\n\x16_calculated_channel_id\"\x86\x01\n%BatchResolveCalculatedChannelsRequest\x12]\n\x08requests\x18\x01 \x03(\x0b\x32<.sift.calculated_channels.v2.ResolveCalculatedChannelRequestB\x03\xe0\x41\x02R\x08requests\"\x8a\x01\n&BatchResolveCalculatedChannelsResponse\x12`\n\tresponses\x18\x01 \x03(\x0b\x32=.sift.calculated_channels.v2.ResolveCalculatedChannelResponseB\x03\xe0\x41\x02R\tresponses\"\xe6\x01\n%ListResolvedCalculatedChannelsRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x07\x61ssetId\x12\x1a\n\x06run_id\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x05runId\x12 \n\tpage_size\x18\x03 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xd5\x02\n\x1b\x43\x61lculatedChannelResolution\x12g\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x01H\x00R\x11\x63\x61lculatedChannel\x88\x01\x01\x12W\n\x08resolved\x18\x02 \x03(\x0b\x32\x36.sift.calculated_channels.v2.ResolvedCalculatedChannelB\x03\xe0\x41\x02R\x08resolved\x12]\n\nunresolved\x18\x03 \x03(\x0b\x32\x38.sift.calculated_channels.v2.UnresolvedCalculatedChannelB\x03\xe0\x41\x02R\nunresolvedB\x15\n\x13_calculated_channel\"\xdb\x01\n&ListResolvedCalculatedChannelsResponse\x12\x83\x01\n\x1e\x63\x61lculated_channel_resolutions\x18\x01 \x03(\x0b\x32\x38.sift.calculated_channels.v2.CalculatedChannelResolutionB\x03\xe0\x41\x02R\x1c\x63\x61lculatedChannelResolutions\x12+\n\x0fnext_page_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken2\xa8\x14\n\x18\x43\x61lculatedChannelService\x12\xe0\x02\n\x14GetCalculatedChannel\x12\x38.sift.calculated_channels.v2.GetCalculatedChannelRequest\x1a\x39.sift.calculated_channels.v2.GetCalculatedChannelResponse\"\xd2\x01\x92\x41L\x12\x14GetCalculatedChannel\x1a\x34Retrieve the latest version of a calculated channel.\x82\xd3\xe4\x93\x02}\x12\x33/api/v2/calculated-channels/{calculated_channel_id}ZF\x12\x44/v2/organizations/{organization_id}/calculated-channels/{client_key}\x12\xf6\x01\n\x17\x43reateCalculatedChannel\x12;.sift.calculated_channels.v2.CreateCalculatedChannelRequest\x1a<.sift.calculated_channels.v2.CreateCalculatedChannelResponse\"`\x92\x41\x37\x12\x17\x43reateCalculatedChannel\x1a\x1c\x43reate a calculated channel.\x82\xd3\xe4\x93\x02 \"\x1b/api/v2/calculated-channels:\x01*\x12\xa4\x02\n\x16ListCalculatedChannels\x12:.sift.calculated_channels.v2.ListCalculatedChannelsRequest\x1a;.sift.calculated_channels.v2.ListCalculatedChannelsResponse\"\x90\x01\x92\x41j\x12\x16ListCalculatedChannels\x1aPRetrieve the latest versions of calculated channels based on an optional filter.\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v2/calculated-channels\x12\x92\x02\n\x17UpdateCalculatedChannel\x12;.sift.calculated_channels.v2.UpdateCalculatedChannelRequest\x1a<.sift.calculated_channels.v2.UpdateCalculatedChannelResponse\"|\x92\x41S\x12\x17UpdateCalculatedChannel\x1a\x38Update and create a new version of a calculated channel.\x82\xd3\xe4\x93\x02 2\x1b/api/v2/calculated-channels:\x01*\x12\xac\x03\n\x1dListCalculatedChannelVersions\x12\x41.sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest\x1a\x42.sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse\"\x83\x02\x92\x41j\x12\x1dListCalculatedChannelVersions\x1aIList versions of a particular calculated channel with an optional filter.\x82\xd3\xe4\x93\x02\x8f\x01\x12.sift.calculated_channels.v2.CalculatedChannelValidationResultB\x03\xe0\x41\x02R\x12inapplicableAssets\"\xd0\x01\n\x1dListCalculatedChannelsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xb3\x01\n\x1eListCalculatedChannelsResponse\x12\x64\n\x13\x63\x61lculated_channels\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x12\x63\x61lculatedChannels\x12+\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken\"\xfe\x01\n\x1eUpdateCalculatedChannelRequest\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\x12\'\n\nuser_notes\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\tuserNotes\x88\x01\x01\x42\r\n\x0b_user_notes\"\xfb\x01\n\x1fUpdateCalculatedChannelResponse\x12\x62\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x11\x63\x61lculatedChannel\x12t\n\x13inapplicable_assets\x18\x02 \x03(\x0b\x32>.sift.calculated_channels.v2.CalculatedChannelValidationResultB\x03\xe0\x41\x02R\x12inapplicableAssets\"\xb4\x02\n$ListCalculatedChannelVersionsRequest\x12\x37\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x13\x63\x61lculatedChannelId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12 \n\tpage_size\x18\x03 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x06 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xc9\x01\n%ListCalculatedChannelVersionsResponse\x12s\n\x1b\x63\x61lculated_channel_versions\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x19\x63\x61lculatedChannelVersions\x12+\n\x0fnext_page_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken\"\xd3\x03\n\x1fResolveCalculatedChannelRequest\x12N\n\nidentifier\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x01H\x00R\nidentifier\x12\x8c\x01\n calculated_channel_configuration\x18\x02 \x01(\x0b\x32;.sift.calculated_channels.v2.CalculatedChannelConfigurationB\x03\xe0\x41\x01H\x00R\x1e\x63\x61lculatedChannelConfiguration\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12@\n\x06\x61ssets\x18\x04 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x01R\x06\x61ssets\x12\x43\n\x03run\x18\x05 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x01H\x01R\x03run\x88\x01\x01\x42\x14\n\x12\x63\x61lculated_channelB\x06\n\x04_run\"\x98\x02\n\x19ResolvedCalculatedChannel\x12\"\n\nasset_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12\x62\n\x12\x65xpression_request\x18\x02 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\x11\x65xpressionRequest\x12S\n\x10output_data_type\x18\x03 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x0eoutputDataType\x12\x1e\n\x08\x61sset_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\"k\n\x1bUnresolvedCalculatedChannel\x12\"\n\nasset_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12(\n\rerror_message\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0c\x65rrorMessage\"\xb2\x02\n ResolveCalculatedChannelResponse\x12<\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00R\x13\x63\x61lculatedChannelId\x88\x01\x01\x12W\n\x08resolved\x18\x02 \x03(\x0b\x32\x36.sift.calculated_channels.v2.ResolvedCalculatedChannelB\x03\xe0\x41\x02R\x08resolved\x12]\n\nunresolved\x18\x03 \x03(\x0b\x32\x38.sift.calculated_channels.v2.UnresolvedCalculatedChannelB\x03\xe0\x41\x02R\nunresolvedB\x18\n\x16_calculated_channel_id\"\x86\x01\n%BatchResolveCalculatedChannelsRequest\x12]\n\x08requests\x18\x01 \x03(\x0b\x32<.sift.calculated_channels.v2.ResolveCalculatedChannelRequestB\x03\xe0\x41\x02R\x08requests\"\x8a\x01\n&BatchResolveCalculatedChannelsResponse\x12`\n\tresponses\x18\x01 \x03(\x0b\x32=.sift.calculated_channels.v2.ResolveCalculatedChannelResponseB\x03\xe0\x41\x02R\tresponses\"\xe6\x01\n%ListResolvedCalculatedChannelsRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x07\x61ssetId\x12\x1a\n\x06run_id\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x05runId\x12 \n\tpage_size\x18\x03 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x06 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xd5\x02\n\x1b\x43\x61lculatedChannelResolution\x12g\n\x12\x63\x61lculated_channel\x18\x01 \x01(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x01H\x00R\x11\x63\x61lculatedChannel\x88\x01\x01\x12W\n\x08resolved\x18\x02 \x03(\x0b\x32\x36.sift.calculated_channels.v2.ResolvedCalculatedChannelB\x03\xe0\x41\x02R\x08resolved\x12]\n\nunresolved\x18\x03 \x03(\x0b\x32\x38.sift.calculated_channels.v2.UnresolvedCalculatedChannelB\x03\xe0\x41\x02R\nunresolvedB\x15\n\x13_calculated_channel\"\xdb\x01\n&ListResolvedCalculatedChannelsResponse\x12\x83\x01\n\x1e\x63\x61lculated_channel_resolutions\x18\x01 \x03(\x0b\x32\x38.sift.calculated_channels.v2.CalculatedChannelResolutionB\x03\xe0\x41\x02R\x1c\x63\x61lculatedChannelResolutions\x12+\n\x0fnext_page_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\rnextPageToken\"o\n#GetCalculatedChannelVersionsRequest\x12H\n\x1e\x63\x61lculated_channel_version_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x1b\x63\x61lculatedChannelVersionIds\"\x8c\x01\n$GetCalculatedChannelVersionsResponse\x12\x64\n\x13\x63\x61lculated_channels\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x12\x63\x61lculatedChannels\"\xc2\x01\n%GetCalculatedChannelDependentsRequest\x12\x39\n\x15\x63\x61lculated_channel_id\x18\x01 \x01(\tB\x03\xe0\x41\x01H\x00R\x13\x63\x61lculatedChannelId\x12H\n\x1d\x63\x61lculated_channel_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\x1a\x63\x61lculatedChannelVersionIdB\x14\n\x12\x63\x61lculated_channel\"\xbe\x01\n&GetCalculatedChannelDependentsResponse\x12\x64\n\x13\x63\x61lculated_channels\x18\x01 \x03(\x0b\x32..sift.calculated_channels.v2.CalculatedChannelB\x03\xe0\x41\x02R\x12\x63\x61lculatedChannels\x12.\n\x05rules\x18\x02 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules2\xa3\x19\n\x18\x43\x61lculatedChannelService\x12\xe0\x02\n\x14GetCalculatedChannel\x12\x38.sift.calculated_channels.v2.GetCalculatedChannelRequest\x1a\x39.sift.calculated_channels.v2.GetCalculatedChannelResponse\"\xd2\x01\x92\x41L\x12\x14GetCalculatedChannel\x1a\x34Retrieve the latest version of a calculated channel.\x82\xd3\xe4\x93\x02}\x12\x33/api/v2/calculated-channels/{calculated_channel_id}ZF\x12\x44/v2/organizations/{organization_id}/calculated-channels/{client_key}\x12\xf6\x01\n\x17\x43reateCalculatedChannel\x12;.sift.calculated_channels.v2.CreateCalculatedChannelRequest\x1a<.sift.calculated_channels.v2.CreateCalculatedChannelResponse\"`\x92\x41\x37\x12\x17\x43reateCalculatedChannel\x1a\x1c\x43reate a calculated channel.\x82\xd3\xe4\x93\x02 \"\x1b/api/v2/calculated-channels:\x01*\x12\xa4\x02\n\x16ListCalculatedChannels\x12:.sift.calculated_channels.v2.ListCalculatedChannelsRequest\x1a;.sift.calculated_channels.v2.ListCalculatedChannelsResponse\"\x90\x01\x92\x41j\x12\x16ListCalculatedChannels\x1aPRetrieve the latest versions of calculated channels based on an optional filter.\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v2/calculated-channels\x12\x92\x02\n\x17UpdateCalculatedChannel\x12;.sift.calculated_channels.v2.UpdateCalculatedChannelRequest\x1a<.sift.calculated_channels.v2.UpdateCalculatedChannelResponse\"|\x92\x41S\x12\x17UpdateCalculatedChannel\x1a\x38Update and create a new version of a calculated channel.\x82\xd3\xe4\x93\x02 2\x1b/api/v2/calculated-channels:\x01*\x12\xac\x03\n\x1dListCalculatedChannelVersions\x12\x41.sift.calculated_channels.v2.ListCalculatedChannelVersionsRequest\x1a\x42.sift.calculated_channels.v2.ListCalculatedChannelVersionsResponse\"\x83\x02\x92\x41j\x12\x1dListCalculatedChannelVersions\x1aIList versions of a particular calculated channel with an optional filter.\x82\xd3\xe4\x93\x02\x8f\x01\x12 google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.user_defined_functions_pb2.FunctionDependency]: ... @property def metadata(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.metadata.v1.metadata_pb2.MetadataValue]: ... + @property + def calculated_channel_dependencies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CalculatedChannelDependency]: + """Calculated channels that this channel depends on.""" + def __init__( self, *, @@ -90,9 +96,10 @@ class CalculatedChannel(google.protobuf.message.Message): function_dependencies: collections.abc.Iterable[sift.common.type.v1.user_defined_functions_pb2.FunctionDependency] | None = ..., metadata: collections.abc.Iterable[sift.metadata.v1.metadata_pb2.MetadataValue] | None = ..., is_archived: builtins.bool = ..., + calculated_channel_dependencies: collections.abc.Iterable[global___CalculatedChannelDependency] | None = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["_archived_date", b"_archived_date", "_client_key", b"_client_key", "_units", b"_units", "archived_date", b"archived_date", "calculated_channel_configuration", b"calculated_channel_configuration", "client_key", b"client_key", "created_date", b"created_date", "modified_date", b"modified_date", "units", b"units"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_archived_date", b"_archived_date", "_client_key", b"_client_key", "_units", b"_units", "archived_date", b"archived_date", "calculated_channel_configuration", b"calculated_channel_configuration", "calculated_channel_id", b"calculated_channel_id", "change_message", b"change_message", "client_key", b"client_key", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "function_dependencies", b"function_dependencies", "is_archived", b"is_archived", "metadata", b"metadata", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "units", b"units", "user_notes", b"user_notes", "version", b"version", "version_id", b"version_id"]) -> None: ... + def ClearField(self, field_name: typing.Literal["_archived_date", b"_archived_date", "_client_key", b"_client_key", "_units", b"_units", "archived_date", b"archived_date", "calculated_channel_configuration", b"calculated_channel_configuration", "calculated_channel_dependencies", b"calculated_channel_dependencies", "calculated_channel_id", b"calculated_channel_id", "change_message", b"change_message", "client_key", b"client_key", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "function_dependencies", b"function_dependencies", "is_archived", b"is_archived", "metadata", b"metadata", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "units", b"units", "user_notes", b"user_notes", "version", b"version", "version_id", b"version_id"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_archived_date", b"_archived_date"]) -> typing.Literal["archived_date"] | None: ... @typing.overload @@ -102,6 +109,23 @@ class CalculatedChannel(google.protobuf.message.Message): global___CalculatedChannel = CalculatedChannel +@typing.final +class CalculatedChannelDependency(google.protobuf.message.Message): + """A dependency on another calculated channel.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int + calculated_channel_version_id: builtins.str + def __init__( + self, + *, + calculated_channel_version_id: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_version_id", b"calculated_channel_version_id"]) -> None: ... + +global___CalculatedChannelDependency = CalculatedChannelDependency + @typing.final class CalculatedChannelConfiguration(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -205,15 +229,25 @@ class CalculatedChannelAbstractChannelReference(google.protobuf.message.Message) CHANNEL_REFERENCE_FIELD_NUMBER: builtins.int CHANNEL_IDENTIFIER_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_FIELD_NUMBER: builtins.int channel_reference: builtins.str channel_identifier: builtins.str + """must use either a channel_identifier or a calculated_channel_reference, not both""" + calculated_channel_version_id: builtins.str + @property + def calculated_channel(self) -> sift.calculated_channels.v1.calculated_channels_pb2.ExpressionRequest: ... def __init__( self, *, channel_reference: builtins.str = ..., channel_identifier: builtins.str = ..., + calculated_channel_version_id: builtins.str = ..., + calculated_channel: sift.calculated_channels.v1.calculated_channels_pb2.ExpressionRequest | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["channel_identifier", b"channel_identifier", "channel_reference", b"channel_reference"]) -> None: ... + def HasField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_reference", b"calculated_channel_reference", "calculated_channel_version_id", b"calculated_channel_version_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_reference", b"calculated_channel_reference", "calculated_channel_version_id", b"calculated_channel_version_id", "channel_identifier", b"channel_identifier", "channel_reference", b"channel_reference"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["calculated_channel_reference", b"calculated_channel_reference"]) -> typing.Literal["calculated_channel_version_id", "calculated_channel"] | None: ... global___CalculatedChannelAbstractChannelReference = CalculatedChannelAbstractChannelReference @@ -263,17 +297,20 @@ class GetCalculatedChannelRequest(google.protobuf.message.Message): CALCULATED_CHANNEL_ID_FIELD_NUMBER: builtins.int CLIENT_KEY_FIELD_NUMBER: builtins.int ORGANIZATION_ID_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int calculated_channel_id: builtins.str client_key: builtins.str organization_id: builtins.str + calculated_channel_version_id: builtins.str def __init__( self, *, calculated_channel_id: builtins.str = ..., client_key: builtins.str = ..., organization_id: builtins.str = ..., + calculated_channel_version_id: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["calculated_channel_id", b"calculated_channel_id", "client_key", b"client_key", "organization_id", b"organization_id"]) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_id", b"calculated_channel_id", "calculated_channel_version_id", b"calculated_channel_version_id", "client_key", b"client_key", "organization_id", b"organization_id"]) -> None: ... global___GetCalculatedChannelRequest = GetCalculatedChannelRequest @@ -852,3 +889,83 @@ class ListResolvedCalculatedChannelsResponse(google.protobuf.message.Message): def ClearField(self, field_name: typing.Literal["calculated_channel_resolutions", b"calculated_channel_resolutions", "next_page_token", b"next_page_token"]) -> None: ... global___ListResolvedCalculatedChannelsResponse = ListResolvedCalculatedChannelsResponse + +@typing.final +class GetCalculatedChannelVersionsRequest(google.protobuf.message.Message): + """The request for a call to `CalculatedChannelService_GetCalculatedChannelVersions` to retrieve versions of calculated channels by their version IDs.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNEL_VERSION_IDS_FIELD_NUMBER: builtins.int + @property + def calculated_channel_version_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... + def __init__( + self, + *, + calculated_channel_version_ids: collections.abc.Iterable[builtins.str] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_version_ids", b"calculated_channel_version_ids"]) -> None: ... + +global___GetCalculatedChannelVersionsRequest = GetCalculatedChannelVersionsRequest + +@typing.final +class GetCalculatedChannelVersionsResponse(google.protobuf.message.Message): + """The response of a call to `CalculatedChannelService_GetCalculatedChannelVersions`.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNELS_FIELD_NUMBER: builtins.int + @property + def calculated_channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CalculatedChannel]: ... + def __init__( + self, + *, + calculated_channels: collections.abc.Iterable[global___CalculatedChannel] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channels", b"calculated_channels"]) -> None: ... + +global___GetCalculatedChannelVersionsResponse = GetCalculatedChannelVersionsResponse + +@typing.final +class GetCalculatedChannelDependentsRequest(google.protobuf.message.Message): + """The request for a call to `CalculatedChannelService_GetCalculatedChannelDependents` to retrieve calculated channels that depend on a given calculated channel.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNEL_ID_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int + calculated_channel_id: builtins.str + calculated_channel_version_id: builtins.str + def __init__( + self, + *, + calculated_channel_id: builtins.str = ..., + calculated_channel_version_id: builtins.str = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_id", b"calculated_channel_id", "calculated_channel_version_id", b"calculated_channel_version_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["calculated_channel", b"calculated_channel", "calculated_channel_id", b"calculated_channel_id", "calculated_channel_version_id", b"calculated_channel_version_id"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["calculated_channel", b"calculated_channel"]) -> typing.Literal["calculated_channel_id", "calculated_channel_version_id"] | None: ... + +global___GetCalculatedChannelDependentsRequest = GetCalculatedChannelDependentsRequest + +@typing.final +class GetCalculatedChannelDependentsResponse(google.protobuf.message.Message): + """The response of a call to `CalculatedChannelService_GetCalculatedChannelDependents`.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNELS_FIELD_NUMBER: builtins.int + RULES_FIELD_NUMBER: builtins.int + @property + def calculated_channels(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CalculatedChannel]: ... + @property + def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.rules.v1.rules_pb2.Rule]: ... + def __init__( + self, + *, + calculated_channels: collections.abc.Iterable[global___CalculatedChannel] | None = ..., + rules: collections.abc.Iterable[sift.rules.v1.rules_pb2.Rule] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channels", b"calculated_channels", "rules", b"rules"]) -> None: ... + +global___GetCalculatedChannelDependentsResponse = GetCalculatedChannelDependentsResponse diff --git a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.py b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.py index 5ef692b32..658ce8a84 100644 --- a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.py +++ b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.py @@ -54,6 +54,16 @@ def __init__(self, channel): request_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.ListResolvedCalculatedChannelsRequest.SerializeToString, response_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.ListResolvedCalculatedChannelsResponse.FromString, ) + self.GetCalculatedChannelVersions = channel.unary_unary( + '/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions', + request_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsRequest.SerializeToString, + response_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsResponse.FromString, + ) + self.GetCalculatedChannelDependents = channel.unary_unary( + '/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents', + request_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsRequest.SerializeToString, + response_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsResponse.FromString, + ) class CalculatedChannelServiceServicer(object): @@ -115,6 +125,20 @@ def ListResolvedCalculatedChannels(self, request, context): context.set_details('Method not implemented!') raise NotImplementedError('Method not implemented!') + def GetCalculatedChannelVersions(self, request, context): + """Retrieve calculated channel versions by their version IDs. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + + def GetCalculatedChannelDependents(self, request, context): + """Retrieve calculated channels that depend on a given calculated channel. + """ + context.set_code(grpc.StatusCode.UNIMPLEMENTED) + context.set_details('Method not implemented!') + raise NotImplementedError('Method not implemented!') + def add_CalculatedChannelServiceServicer_to_server(servicer, server): rpc_method_handlers = { @@ -158,6 +182,16 @@ def add_CalculatedChannelServiceServicer_to_server(servicer, server): request_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.ListResolvedCalculatedChannelsRequest.FromString, response_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.ListResolvedCalculatedChannelsResponse.SerializeToString, ), + 'GetCalculatedChannelVersions': grpc.unary_unary_rpc_method_handler( + servicer.GetCalculatedChannelVersions, + request_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsRequest.FromString, + response_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsResponse.SerializeToString, + ), + 'GetCalculatedChannelDependents': grpc.unary_unary_rpc_method_handler( + servicer.GetCalculatedChannelDependents, + request_deserializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsRequest.FromString, + response_serializer=sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsResponse.SerializeToString, + ), } generic_handler = grpc.method_handlers_generic_handler( 'sift.calculated_channels.v2.CalculatedChannelService', rpc_method_handlers) @@ -303,3 +337,37 @@ def ListResolvedCalculatedChannels(request, sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.ListResolvedCalculatedChannelsResponse.FromString, options, channel_credentials, insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCalculatedChannelVersions(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions', + sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsRequest.SerializeToString, + sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelVersionsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) + + @staticmethod + def GetCalculatedChannelDependents(request, + target, + options=(), + channel_credentials=None, + call_credentials=None, + insecure=False, + compression=None, + wait_for_ready=None, + timeout=None, + metadata=None): + return grpc.experimental.unary_unary(request, target, '/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents', + sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsRequest.SerializeToString, + sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2.GetCalculatedChannelDependentsResponse.FromString, + options, channel_credentials, + insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.pyi b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.pyi index 8c873dd0b..5e50ecd1c 100644 --- a/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.pyi +++ b/python/lib/sift/calculated_channels/v2/calculated_channels_pb2_grpc.pyi @@ -67,6 +67,18 @@ class CalculatedChannelServiceStub: ] """Retrieve the latest versions of calculated channels based on an optional filter.""" + GetCalculatedChannelVersions: grpc.UnaryUnaryMultiCallable[ + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsRequest, + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsResponse, + ] + """Retrieve calculated channel versions by their version IDs.""" + + GetCalculatedChannelDependents: grpc.UnaryUnaryMultiCallable[ + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsRequest, + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsResponse, + ] + """Retrieve calculated channels that depend on a given calculated channel.""" + class CalculatedChannelServiceAsyncStub: GetCalculatedChannel: grpc.aio.UnaryUnaryMultiCallable[ sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelRequest, @@ -116,6 +128,18 @@ class CalculatedChannelServiceAsyncStub: ] """Retrieve the latest versions of calculated channels based on an optional filter.""" + GetCalculatedChannelVersions: grpc.aio.UnaryUnaryMultiCallable[ + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsRequest, + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsResponse, + ] + """Retrieve calculated channel versions by their version IDs.""" + + GetCalculatedChannelDependents: grpc.aio.UnaryUnaryMultiCallable[ + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsRequest, + sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsResponse, + ] + """Retrieve calculated channels that depend on a given calculated channel.""" + class CalculatedChannelServiceServicer(metaclass=abc.ABCMeta): @abc.abstractmethod def GetCalculatedChannel( @@ -181,4 +205,20 @@ class CalculatedChannelServiceServicer(metaclass=abc.ABCMeta): ) -> typing.Union[sift.calculated_channels.v2.calculated_channels_pb2.ListResolvedCalculatedChannelsResponse, collections.abc.Awaitable[sift.calculated_channels.v2.calculated_channels_pb2.ListResolvedCalculatedChannelsResponse]]: """Retrieve the latest versions of calculated channels based on an optional filter.""" + @abc.abstractmethod + def GetCalculatedChannelVersions( + self, + request: sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsRequest, + context: _ServicerContext, + ) -> typing.Union[sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsResponse, collections.abc.Awaitable[sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelVersionsResponse]]: + """Retrieve calculated channel versions by their version IDs.""" + + @abc.abstractmethod + def GetCalculatedChannelDependents( + self, + request: sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsRequest, + context: _ServicerContext, + ) -> typing.Union[sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsResponse, collections.abc.Awaitable[sift.calculated_channels.v2.calculated_channels_pb2.GetCalculatedChannelDependentsResponse]]: + """Retrieve calculated channels that depend on a given calculated channel.""" + def add_CalculatedChannelServiceServicer_to_server(servicer: CalculatedChannelServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ... diff --git a/python/lib/sift/channels/v2/channels_pb2.pyi b/python/lib/sift/channels/v2/channels_pb2.pyi index 9721a828a..d92d25a75 100644 --- a/python/lib/sift/channels/v2/channels_pb2.pyi +++ b/python/lib/sift/channels/v2/channels_pb2.pyi @@ -140,7 +140,7 @@ class ListChannelsRequest(google.protobuf.message.Message): """ filter: builtins.str """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description`, `active`, + Available fields to filter by are `channel_id`, `asset_id`, `name`, `component`, `description` `run_id`, `run_name`, `run_client_key`, `created_date`, and `modified_date`. For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. @@ -149,7 +149,7 @@ class ListChannelsRequest(google.protobuf.message.Message): """This field is only required if your user belongs to multiple organizations.""" order_by: builtins.str """How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date` and `modified_date`. + Available fields to order_by are `created_date` and `modified_date`, `active`. If left empty, items are ordered by `created_date` in ascending order (oldest-first). For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) Example: "created_date desc,modified_date" diff --git a/python/lib/sift/channels/v3/channels_pb2.pyi b/python/lib/sift/channels/v3/channels_pb2.pyi index ba730cbd4..e25483aec 100644 --- a/python/lib/sift/channels/v3/channels_pb2.pyi +++ b/python/lib/sift/channels/v3/channels_pb2.pyi @@ -144,14 +144,14 @@ class ListChannelsRequest(google.protobuf.message.Message): """ filter: builtins.str """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `channel_id`, `asset_id`, `name`, `description`, `active`, + Available fields to filter by are `channel_id`, `asset_id`, `name`, `description` `run_id`, `run_name`, `run_client_key`, `created_date`, `modified_date`, `created_by_user_id`, and `modified_by_user_id`. For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/channels#channel). Optional. """ order_by: builtins.str """How to order the retrieved channels. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `name`, `created_date` and `modified_date`. + Available fields to order_by are `name`, `created_date` and `modified_date`, `active`. If left empty, items are ordered by `created_date` in ascending order (oldest-first). For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) Example: "created_date desc,modified_date" diff --git a/python/lib/sift/common/type/v1/calculated_channels_pb2.py b/python/lib/sift/common/type/v1/calculated_channels_pb2.py new file mode 100644 index 000000000..d32715405 --- /dev/null +++ b/python/lib/sift/common/type/v1/calculated_channels_pb2.py @@ -0,0 +1,31 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: sift/common/type/v1/calculated_channels.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + +from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 +from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sift/common/type/v1/calculated_channels.proto\x12\x13sift.common.type.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1fgoogle/api/field_behavior.proto\"m\n\x1b\x43\x61lculatedChannelDependency\x12N\n\x1d\x63\x61lculated_channel_version_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x1a\x63\x61lculatedChannelVersionIdB\xa1\x01\n\x17\x63om.sift.common.type.v1B\x17\x43\x61lculatedChannelsProtoP\x01\xa2\x02\x03SCT\xaa\x02\x13Sift.Common.Type.V1\xca\x02\x13Sift\\Common\\Type\\V1\xe2\x02\x1fSift\\Common\\Type\\V1\\GPBMetadata\xea\x02\x16Sift::Common::Type::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.common.type.v1.calculated_channels_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\027com.sift.common.type.v1B\027CalculatedChannelsProtoP\001\242\002\003SCT\252\002\023Sift.Common.Type.V1\312\002\023Sift\\Common\\Type\\V1\342\002\037Sift\\Common\\Type\\V1\\GPBMetadata\352\002\026Sift::Common::Type::V1' + _globals['_CALCULATEDCHANNELDEPENDENCY'].fields_by_name['calculated_channel_version_id']._loaded_options = None + _globals['_CALCULATEDCHANNELDEPENDENCY'].fields_by_name['calculated_channel_version_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' + _globals['_CALCULATEDCHANNELDEPENDENCY']._serialized_start=132 + _globals['_CALCULATEDCHANNELDEPENDENCY']._serialized_end=241 +# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/common/type/v1/calculated_channels_pb2.pyi b/python/lib/sift/common/type/v1/calculated_channels_pb2.pyi new file mode 100644 index 000000000..9c051d165 --- /dev/null +++ b/python/lib/sift/common/type/v1/calculated_channels_pb2.pyi @@ -0,0 +1,28 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.message +import typing + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +@typing.final +class CalculatedChannelDependency(google.protobuf.message.Message): + """A dependency on another calculated channel.""" + + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int + calculated_channel_version_id: builtins.str + def __init__( + self, + *, + calculated_channel_version_id: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_version_id", b"calculated_channel_version_id"]) -> None: ... + +global___CalculatedChannelDependency = CalculatedChannelDependency diff --git a/python/lib/sift/options/v1/safe_to_log_pb2_grpc.py b/python/lib/sift/common/type/v1/calculated_channels_pb2_grpc.py similarity index 100% rename from python/lib/sift/options/v1/safe_to_log_pb2_grpc.py rename to python/lib/sift/common/type/v1/calculated_channels_pb2_grpc.py diff --git a/python/lib/sift/options/v1/safe_to_log_pb2_grpc.pyi b/python/lib/sift/common/type/v1/calculated_channels_pb2_grpc.pyi similarity index 100% rename from python/lib/sift/options/v1/safe_to_log_pb2_grpc.pyi rename to python/lib/sift/common/type/v1/calculated_channels_pb2_grpc.pyi diff --git a/python/lib/sift/common/type/v1/organization_pb2.py b/python/lib/sift/common/type/v1/organization_pb2.py index 1160570b5..4e816a84f 100644 --- a/python/lib/sift/common/type/v1/organization_pb2.py +++ b/python/lib/sift/common/type/v1/organization_pb2.py @@ -15,7 +15,7 @@ from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&sift/common/type/v1/organization.proto\x12\x13sift.common.type.v1\x1a\x1fgoogle/api/field_behavior.proto\"n\n\x0cOrganization\x12,\n\x0forganization_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x30\n\x11organization_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x10organizationNameB\x9b\x01\n\x17\x63om.sift.common.type.v1B\x11OrganizationProtoP\x01\xa2\x02\x03SCT\xaa\x02\x13Sift.Common.Type.V1\xca\x02\x13Sift\\Common\\Type\\V1\xe2\x02\x1fSift\\Common\\Type\\V1\\GPBMetadata\xea\x02\x16Sift::Common::Type::V1b\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n&sift/common/type/v1/organization.proto\x12\x13sift.common.type.v1\x1a\x1fgoogle/api/field_behavior.proto\"\xb4\x01\n\x0cOrganization\x12,\n\x0forganization_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x30\n\x11organization_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x10organizationName\x12\x30\n\x0fis_abac_enabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01H\x00R\risAbacEnabled\x88\x01\x01\x42\x12\n\x10_is_abac_enabledB\x9b\x01\n\x17\x63om.sift.common.type.v1B\x11OrganizationProtoP\x01\xa2\x02\x03SCT\xaa\x02\x13Sift.Common.Type.V1\xca\x02\x13Sift\\Common\\Type\\V1\xe2\x02\x1fSift\\Common\\Type\\V1\\GPBMetadata\xea\x02\x16Sift::Common::Type::V1b\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -27,6 +27,8 @@ _globals['_ORGANIZATION'].fields_by_name['organization_id']._serialized_options = b'\340A\002' _globals['_ORGANIZATION'].fields_by_name['organization_name']._loaded_options = None _globals['_ORGANIZATION'].fields_by_name['organization_name']._serialized_options = b'\340A\002' - _globals['_ORGANIZATION']._serialized_start=96 - _globals['_ORGANIZATION']._serialized_end=206 + _globals['_ORGANIZATION'].fields_by_name['is_abac_enabled']._loaded_options = None + _globals['_ORGANIZATION'].fields_by_name['is_abac_enabled']._serialized_options = b'\340A\001' + _globals['_ORGANIZATION']._serialized_start=97 + _globals['_ORGANIZATION']._serialized_end=277 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/common/type/v1/organization_pb2.pyi b/python/lib/sift/common/type/v1/organization_pb2.pyi index 940998226..62189f9ef 100644 --- a/python/lib/sift/common/type/v1/organization_pb2.pyi +++ b/python/lib/sift/common/type/v1/organization_pb2.pyi @@ -16,14 +16,19 @@ class Organization(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int ORGANIZATION_NAME_FIELD_NUMBER: builtins.int + IS_ABAC_ENABLED_FIELD_NUMBER: builtins.int organization_id: builtins.str organization_name: builtins.str + is_abac_enabled: builtins.bool def __init__( self, *, organization_id: builtins.str = ..., organization_name: builtins.str = ..., + is_abac_enabled: builtins.bool | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["organization_id", b"organization_id", "organization_name", b"organization_name"]) -> None: ... + def HasField(self, field_name: typing.Literal["_is_abac_enabled", b"_is_abac_enabled", "is_abac_enabled", b"is_abac_enabled"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_is_abac_enabled", b"_is_abac_enabled", "is_abac_enabled", b"is_abac_enabled", "organization_id", b"organization_id", "organization_name", b"organization_name"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_is_abac_enabled", b"_is_abac_enabled"]) -> typing.Literal["is_abac_enabled"] | None: ... global___Organization = Organization diff --git a/python/lib/sift/options/__init__.py b/python/lib/sift/common/v1/__init__.py similarity index 100% rename from python/lib/sift/options/__init__.py rename to python/lib/sift/common/v1/__init__.py diff --git a/python/lib/sift/common/v1/action_type_pb2.py b/python/lib/sift/common/v1/action_type_pb2.py new file mode 100644 index 000000000..df49dd69b --- /dev/null +++ b/python/lib/sift/common/v1/action_type_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: sift/common/v1/action_type.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n sift/common/v1/action_type.proto\x12\x0esift.common.v1*\xab\x02\n\nActionType\x12\x1b\n\x17\x41\x43TION_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n\x17\x41\x43TION_TYPE_INGEST_DATA\x10n\x12\x1a\n\x16\x41\x43TION_TYPE_CREATE_RUN\x10x\x12\x1d\n\x18\x41\x43TION_TYPE_VIEW_DETAILS\x10\xc8\x01\x12\x1a\n\x15\x41\x43TION_TYPE_VIEW_DATA\x10\xcd\x01\x12\x17\n\x12\x41\x43TION_TYPE_EXPORT\x10\xd2\x01\x12\x1d\n\x18\x41\x43TION_TYPE_EDIT_DETAILS\x10\xb6\x02\x12\x1a\n\x15\x41\x43TION_TYPE_EDIT_TAGS\x10\xb8\x02\x12\x1e\n\x19\x41\x43TION_TYPE_EDIT_METADATA\x10\xb9\x02\x12\x18\n\x13\x41\x43TION_TYPE_ARCHIVE\x10\x90\x03\x42\x7f\n\x12\x63om.sift.common.v1B\x0f\x41\x63tionTypeProtoP\x01\xa2\x02\x03SCX\xaa\x02\x0eSift.Common.V1\xca\x02\x0eSift\\Common\\V1\xe2\x02\x1aSift\\Common\\V1\\GPBMetadata\xea\x02\x10Sift::Common::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.common.v1.action_type_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\022com.sift.common.v1B\017ActionTypeProtoP\001\242\002\003SCX\252\002\016Sift.Common.V1\312\002\016Sift\\Common\\V1\342\002\032Sift\\Common\\V1\\GPBMetadata\352\002\020Sift::Common::V1' + _globals['_ACTIONTYPE']._serialized_start=53 + _globals['_ACTIONTYPE']._serialized_end=352 +# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/common/v1/action_type_pb2.pyi b/python/lib/sift/common/v1/action_type_pb2.pyi new file mode 100644 index 000000000..d62b02c06 --- /dev/null +++ b/python/lib/sift/common/v1/action_type_pb2.pyi @@ -0,0 +1,75 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _ActionType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ActionTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ActionType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ACTION_TYPE_UNSPECIFIED: _ActionType.ValueType # 0 + ACTION_TYPE_INGEST_DATA: _ActionType.ValueType # 110 + """Create actions (reserving 100 for generic create)""" + ACTION_TYPE_CREATE_RUN: _ActionType.ValueType # 120 + ACTION_TYPE_VIEW_DETAILS: _ActionType.ValueType # 200 + """Read actions + Lowest-level read action type. If this is denied, all other read actions should be denied. + Used for view/search/index metadata and overview details pages. + """ + ACTION_TYPE_VIEW_DATA: _ActionType.ValueType # 205 + """Read telemetry data values from channels/runs/assets. + Keep ACTION_TYPE_VIEW_DETAILS for non-telemetry "view details" style access. + """ + ACTION_TYPE_EXPORT: _ActionType.ValueType # 210 + ACTION_TYPE_EDIT_DETAILS: _ActionType.ValueType # 310 + """Update/Edit actions (reserving 300 for generic edit) + Name, Description, Units + """ + ACTION_TYPE_EDIT_TAGS: _ActionType.ValueType # 312 + ACTION_TYPE_EDIT_METADATA: _ActionType.ValueType # 313 + ACTION_TYPE_ARCHIVE: _ActionType.ValueType # 400 + """Delete actions""" + +class ActionType(_ActionType, metaclass=_ActionTypeEnumTypeWrapper): + """ActionType represents the type of action being performed on a resource + Granular ABAC actions, broken up by CRUD. + """ + +ACTION_TYPE_UNSPECIFIED: ActionType.ValueType # 0 +ACTION_TYPE_INGEST_DATA: ActionType.ValueType # 110 +"""Create actions (reserving 100 for generic create)""" +ACTION_TYPE_CREATE_RUN: ActionType.ValueType # 120 +ACTION_TYPE_VIEW_DETAILS: ActionType.ValueType # 200 +"""Read actions +Lowest-level read action type. If this is denied, all other read actions should be denied. +Used for view/search/index metadata and overview details pages. +""" +ACTION_TYPE_VIEW_DATA: ActionType.ValueType # 205 +"""Read telemetry data values from channels/runs/assets. +Keep ACTION_TYPE_VIEW_DETAILS for non-telemetry "view details" style access. +""" +ACTION_TYPE_EXPORT: ActionType.ValueType # 210 +ACTION_TYPE_EDIT_DETAILS: ActionType.ValueType # 310 +"""Update/Edit actions (reserving 300 for generic edit) +Name, Description, Units +""" +ACTION_TYPE_EDIT_TAGS: ActionType.ValueType # 312 +ACTION_TYPE_EDIT_METADATA: ActionType.ValueType # 313 +ACTION_TYPE_ARCHIVE: ActionType.ValueType # 400 +"""Delete actions""" +global___ActionType = ActionType diff --git a/python/lib/sift/common/v1/action_type_pb2_grpc.py b/python/lib/sift/common/v1/action_type_pb2_grpc.py new file mode 100644 index 000000000..2daafffeb --- /dev/null +++ b/python/lib/sift/common/v1/action_type_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/python/lib/sift/common/v1/action_type_pb2_grpc.pyi b/python/lib/sift/common/v1/action_type_pb2_grpc.pyi new file mode 100644 index 000000000..a6a9cff9d --- /dev/null +++ b/python/lib/sift/common/v1/action_type_pb2_grpc.pyi @@ -0,0 +1,17 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import abc +import collections.abc +import grpc +import grpc.aio +import typing + +_T = typing.TypeVar("_T") + +class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ... + +class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg] + ... diff --git a/python/lib/sift/common/v1/resource_type_pb2.py b/python/lib/sift/common/v1/resource_type_pb2.py new file mode 100644 index 000000000..9a04c1954 --- /dev/null +++ b/python/lib/sift/common/v1/resource_type_pb2.py @@ -0,0 +1,27 @@ +# -*- coding: utf-8 -*- +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: sift/common/v1/resource_type.proto +# Protobuf Python Version: 5.26.1 +"""Generated protocol buffer code.""" +from google.protobuf import descriptor as _descriptor +from google.protobuf import descriptor_pool as _descriptor_pool +from google.protobuf import symbol_database as _symbol_database +from google.protobuf.internal import builder as _builder +# @@protoc_insertion_point(imports) + +_sym_db = _symbol_database.Default() + + + + +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\"sift/common/v1/resource_type.proto\x12\x0esift.common.v1*\xb2\x03\n\x0cResourceType\x12\x1d\n\x19RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x17\n\x13RESOURCE_TYPE_ASSET\x10\x01\x12\x19\n\x15RESOURCE_TYPE_CHANNEL\x10\x02\x12\x15\n\x11RESOURCE_TYPE_RUN\x10\x03\x12\x1c\n\x18RESOURCE_TYPE_ANNOTATION\x10\x04\x12\x1a\n\x16RESOURCE_TYPE_CAMPAIGN\x10\x05\x12\x18\n\x14RESOURCE_TYPE_REPORT\x10\x06\x12\x16\n\x12RESOURCE_TYPE_RULE\x10\x07\x12\x1e\n\x1aRESOURCE_TYPE_RULE_VERSION\x10\x08\x12\'\n#RESOURCE_TYPE_USER_DEFINED_FUNCTION\x10\t\x12$\n RESOURCE_TYPE_CALCULATED_CHANNEL\x10\n\x12!\n\x1dRESOURCE_TYPE_REPORT_TEMPLATE\x10\x0b\x12\x1d\n\x19RESOURCE_TYPE_TEST_REPORT\x10\x0c\x12\x1b\n\x16RESOURCE_TYPE_SIFT_APP\x10\xe8\x07\x42\x81\x01\n\x12\x63om.sift.common.v1B\x11ResourceTypeProtoP\x01\xa2\x02\x03SCX\xaa\x02\x0eSift.Common.V1\xca\x02\x0eSift\\Common\\V1\xe2\x02\x1aSift\\Common\\V1\\GPBMetadata\xea\x02\x10Sift::Common::V1b\x06proto3') + +_globals = globals() +_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) +_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.common.v1.resource_type_pb2', _globals) +if not _descriptor._USE_C_DESCRIPTORS: + _globals['DESCRIPTOR']._loaded_options = None + _globals['DESCRIPTOR']._serialized_options = b'\n\022com.sift.common.v1B\021ResourceTypeProtoP\001\242\002\003SCX\252\002\016Sift.Common.V1\312\002\016Sift\\Common\\V1\342\002\032Sift\\Common\\V1\\GPBMetadata\352\002\020Sift::Common::V1' + _globals['_RESOURCETYPE']._serialized_start=55 + _globals['_RESOURCETYPE']._serialized_end=489 +# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/common/v1/resource_type_pb2.pyi b/python/lib/sift/common/v1/resource_type_pb2.pyi new file mode 100644 index 000000000..d5b538b24 --- /dev/null +++ b/python/lib/sift/common/v1/resource_type_pb2.pyi @@ -0,0 +1,59 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import builtins +import google.protobuf.descriptor +import google.protobuf.internal.enum_type_wrapper +import sys +import typing + +if sys.version_info >= (3, 10): + import typing as typing_extensions +else: + import typing_extensions + +DESCRIPTOR: google.protobuf.descriptor.FileDescriptor + +class _ResourceType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ResourceTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + RESOURCE_TYPE_UNSPECIFIED: _ResourceType.ValueType # 0 + RESOURCE_TYPE_ASSET: _ResourceType.ValueType # 1 + RESOURCE_TYPE_CHANNEL: _ResourceType.ValueType # 2 + RESOURCE_TYPE_RUN: _ResourceType.ValueType # 3 + RESOURCE_TYPE_ANNOTATION: _ResourceType.ValueType # 4 + RESOURCE_TYPE_CAMPAIGN: _ResourceType.ValueType # 5 + RESOURCE_TYPE_REPORT: _ResourceType.ValueType # 6 + RESOURCE_TYPE_RULE: _ResourceType.ValueType # 7 + RESOURCE_TYPE_RULE_VERSION: _ResourceType.ValueType # 8 + RESOURCE_TYPE_USER_DEFINED_FUNCTION: _ResourceType.ValueType # 9 + RESOURCE_TYPE_CALCULATED_CHANNEL: _ResourceType.ValueType # 10 + RESOURCE_TYPE_REPORT_TEMPLATE: _ResourceType.ValueType # 11 + RESOURCE_TYPE_TEST_REPORT: _ResourceType.ValueType # 12 + RESOURCE_TYPE_SIFT_APP: _ResourceType.ValueType # 1000 + """Special type for a resource that doesn't yet exist (eg. creating an asset)""" + +class ResourceType(_ResourceType, metaclass=_ResourceTypeEnumTypeWrapper): + """ResourceType represents the type of resource being accessed.""" + +RESOURCE_TYPE_UNSPECIFIED: ResourceType.ValueType # 0 +RESOURCE_TYPE_ASSET: ResourceType.ValueType # 1 +RESOURCE_TYPE_CHANNEL: ResourceType.ValueType # 2 +RESOURCE_TYPE_RUN: ResourceType.ValueType # 3 +RESOURCE_TYPE_ANNOTATION: ResourceType.ValueType # 4 +RESOURCE_TYPE_CAMPAIGN: ResourceType.ValueType # 5 +RESOURCE_TYPE_REPORT: ResourceType.ValueType # 6 +RESOURCE_TYPE_RULE: ResourceType.ValueType # 7 +RESOURCE_TYPE_RULE_VERSION: ResourceType.ValueType # 8 +RESOURCE_TYPE_USER_DEFINED_FUNCTION: ResourceType.ValueType # 9 +RESOURCE_TYPE_CALCULATED_CHANNEL: ResourceType.ValueType # 10 +RESOURCE_TYPE_REPORT_TEMPLATE: ResourceType.ValueType # 11 +RESOURCE_TYPE_TEST_REPORT: ResourceType.ValueType # 12 +RESOURCE_TYPE_SIFT_APP: ResourceType.ValueType # 1000 +"""Special type for a resource that doesn't yet exist (eg. creating an asset)""" +global___ResourceType = ResourceType diff --git a/python/lib/sift/common/v1/resource_type_pb2_grpc.py b/python/lib/sift/common/v1/resource_type_pb2_grpc.py new file mode 100644 index 000000000..2daafffeb --- /dev/null +++ b/python/lib/sift/common/v1/resource_type_pb2_grpc.py @@ -0,0 +1,4 @@ +# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! +"""Client and server classes corresponding to protobuf-defined services.""" +import grpc + diff --git a/python/lib/sift/common/v1/resource_type_pb2_grpc.pyi b/python/lib/sift/common/v1/resource_type_pb2_grpc.pyi new file mode 100644 index 000000000..a6a9cff9d --- /dev/null +++ b/python/lib/sift/common/v1/resource_type_pb2_grpc.pyi @@ -0,0 +1,17 @@ +""" +@generated by mypy-protobuf. Do not edit manually! +isort:skip_file +""" + +import abc +import collections.abc +import grpc +import grpc.aio +import typing + +_T = typing.TypeVar("_T") + +class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ... + +class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg] + ... diff --git a/python/lib/sift/data/v2/data_pb2.py b/python/lib/sift/data/v2/data_pb2.py index 184894036..aef1ef568 100644 --- a/python/lib/sift/data/v2/data_pb2.py +++ b/python/lib/sift/data/v2/data_pb2.py @@ -21,10 +21,9 @@ from sift.common.type.v1 import channel_bit_field_element_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__bit__field__element__pb2 from sift.common.type.v1 import channel_data_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__data__type__pb2 from sift.common.type.v1 import channel_enum_type_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__enum__type__pb2 -from sift.options.v1 import safe_to_log_pb2 as sift_dot_options_dot_v1_dot_safe__to__log__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17sift/data/v2/data.proto\x12\x0csift.data.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x35sift/calculated_channels/v1/calculated_channels.proto\x1a\x33sift/common/type/v1/channel_bit_field_element.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a+sift/common/type/v1/channel_enum_type.proto\x1a!sift/options/v1/safe_to_log.proto\"\x90\x02\n\x0eGetDataRequest\x12-\n\x07queries\x18\x01 \x03(\x0b\x32\x13.sift.data.v2.QueryR\x07queries\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12\x1b\n\tsample_ms\x18\x04 \x01(\rR\x08sampleMs\x12\x1b\n\tpage_size\x18\x05 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x06 \x01(\tR\tpageToken:\x04\x80\x97\"\x01\"\x9f\x01\n\x05Query\x12\x36\n\x07\x63hannel\x18\x01 \x01(\x0b\x32\x1a.sift.data.v2.ChannelQueryH\x00R\x07\x63hannel\x12U\n\x12\x63\x61lculated_channel\x18\x02 \x01(\x0b\x32$.sift.data.v2.CalculatedChannelQueryH\x00R\x11\x63\x61lculatedChannelB\x07\n\x05query\"T\n\x0c\x43hannelQuery\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId\x12\x1a\n\x06run_id\x18\x02 \x01(\tH\x00R\x05runId\x88\x01\x01\x42\t\n\x07_run_id\"\xcd\x02\n\x16\x43\x61lculatedChannelQuery\x12$\n\x0b\x63hannel_key\x18\x01 \x01(\tB\x03\xe0\x41\x02R\nchannelKey\x12S\n\nexpression\x18\x02 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\nexpression\x12\x1a\n\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x88\x01\x01\x12\x44\n\x04mode\x18\x04 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeH\x01R\x04mode\x88\x01\x01\x12-\n\x10\x63ombine_run_data\x18\x05 \x01(\x08H\x02R\x0e\x63ombineRunData\x88\x01\x01\x42\t\n\x07_run_idB\x07\n\x05_modeB\x13\n\x11_combine_run_data\"h\n\x0fGetDataResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12-\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyB\x03\xe0\x41\x02R\x04\x64\x61ta\"\xa1\x06\n\x08Metadata\x12\x46\n\tdata_type\x18\x01 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType\x12\"\n\nsampled_ms\x18\x02 \x01(\rB\x03\xe0\x41\x02R\tsampledMs\x12\x37\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x1c.sift.data.v2.Metadata.AssetB\x03\xe0\x41\x02R\x05\x61sset\x12\x31\n\x03run\x18\x04 \x01(\x0b\x32\x1a.sift.data.v2.Metadata.RunH\x00R\x03run\x88\x01\x01\x12=\n\x07\x63hannel\x18\x05 \x01(\x0b\x32\x1e.sift.data.v2.Metadata.ChannelH\x01R\x07\x63hannel\x88\x01\x01\x1a@\n\x05\x41sset\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x1a:\n\x03Run\x12\x1a\n\x06run_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05runId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x1a\xeb\x02\n\x07\x43hannel\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x37\n\x04unit\x18\x03 \x01(\x0b\x32#.sift.data.v2.Metadata.Channel.UnitR\x04unit\x12\x43\n\nenum_types\x18\x04 \x03(\x0b\x32$.sift.common.type.v1.ChannelEnumTypeR\tenumTypes\x12Y\n\x12\x62it_field_elements\x18\x05 \x03(\x0b\x32+.sift.common.type.v1.ChannelBitFieldElementR\x10\x62itFieldElements\x1aO\n\x04Unit\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12.\n\x10\x61\x62\x62reviated_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0f\x61\x62\x62reviatedNameB\x06\n\x04_runB\n\n\x08_channel\"g\n\x0b\x44oubleValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x01\x42\x03\xe0\x41\x02R\x05value\"\x7f\n\x0c\x44oubleValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.DoubleValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bStringValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cStringValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.StringValueB\x03\xe0\x41\x02R\x06values\"e\n\tEnumValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"{\n\nEnumValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x34\n\x06values\x18\x02 \x03(\x0b\x32\x17.sift.data.v2.EnumValueB\x03\xe0\x41\x02R\x06values\"i\n\rBitFieldValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"j\n\x15\x42itFieldElementValues\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12\x38\n\x06values\x18\x02 \x03(\x0b\x32\x1b.sift.data.v2.BitFieldValueB\x03\xe0\x41\x02R\x06values\"\x8b\x01\n\x0e\x42itFieldValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12@\n\x06values\x18\x02 \x03(\x0b\x32#.sift.data.v2.BitFieldElementValuesB\x03\xe0\x41\x02R\x06values\"e\n\tBoolValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02R\x05value\"{\n\nBoolValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x34\n\x06values\x18\x02 \x03(\x0b\x32\x17.sift.data.v2.BoolValueB\x03\xe0\x41\x02R\x06values\"f\n\nFloatValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x02\x42\x03\xe0\x41\x02R\x05value\"}\n\x0b\x46loatValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.FloatValueB\x03\xe0\x41\x02R\x06values\"f\n\nInt32Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x05value\"}\n\x0bInt32Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.Int32ValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bUint32Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cUint32Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.Uint32ValueB\x03\xe0\x41\x02R\x06values\"f\n\nInt64Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02R\x05value\"}\n\x0bInt64Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.Int64ValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bUint64Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x04\x42\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cUint64Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.Uint64ValueB\x03\xe0\x41\x02R\x06values\"f\n\nBytesValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02R\x05value\"}\n\x0b\x42ytesValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.BytesValueB\x03\xe0\x41\x02R\x06values2\xba\x01\n\x0b\x44\x61taService\x12\x8e\x01\n\x07GetData\x12\x1c.sift.data.v2.GetDataRequest\x1a\x1d.sift.data.v2.GetDataResponse\"F\x92\x41,\x12\x07GetData\x1a\nQuery data*\x15\x44\x61taService_GetDataV2\x82\xd3\xe4\x93\x02\x11\"\x0c/api/v2/data:\x01*\x1a\x1a\x92\x41\x17\x12\x15Service to query dataB\x82\x01\n\x10\x63om.sift.data.v2B\tDataProtoP\x01\xa2\x02\x03SDX\xaa\x02\x0cSift.Data.V2\xca\x02\x0cSift\\Data\\V2\xe2\x02\x18Sift\\Data\\V2\\GPBMetadata\xea\x02\x0eSift::Data::V2\x92\x41\x10\x12\x0e\n\x0c\x44\x61ta Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17sift/data/v2/data.proto\x12\x0csift.data.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/protobuf/any.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x35sift/calculated_channels/v1/calculated_channels.proto\x1a\x33sift/common/type/v1/channel_bit_field_element.proto\x1a+sift/common/type/v1/channel_data_type.proto\x1a+sift/common/type/v1/channel_enum_type.proto\"\x8a\x02\n\x0eGetDataRequest\x12-\n\x07queries\x18\x01 \x03(\x0b\x32\x13.sift.data.v2.QueryR\x07queries\x12\x39\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\x12\x1b\n\tsample_ms\x18\x04 \x01(\rR\x08sampleMs\x12\x1b\n\tpage_size\x18\x05 \x01(\rR\x08pageSize\x12\x1d\n\npage_token\x18\x06 \x01(\tR\tpageToken\"\x9f\x01\n\x05Query\x12\x36\n\x07\x63hannel\x18\x01 \x01(\x0b\x32\x1a.sift.data.v2.ChannelQueryH\x00R\x07\x63hannel\x12U\n\x12\x63\x61lculated_channel\x18\x02 \x01(\x0b\x32$.sift.data.v2.CalculatedChannelQueryH\x00R\x11\x63\x61lculatedChannelB\x07\n\x05query\"T\n\x0c\x43hannelQuery\x12\x1d\n\nchannel_id\x18\x01 \x01(\tR\tchannelId\x12\x1a\n\x06run_id\x18\x02 \x01(\tH\x00R\x05runId\x88\x01\x01\x42\t\n\x07_run_id\"\xcd\x02\n\x16\x43\x61lculatedChannelQuery\x12$\n\x0b\x63hannel_key\x18\x01 \x01(\tB\x03\xe0\x41\x02R\nchannelKey\x12S\n\nexpression\x18\x02 \x01(\x0b\x32..sift.calculated_channels.v1.ExpressionRequestB\x03\xe0\x41\x02R\nexpression\x12\x1a\n\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x88\x01\x01\x12\x44\n\x04mode\x18\x04 \x01(\x0e\x32+.sift.calculated_channels.v1.ExpressionModeH\x01R\x04mode\x88\x01\x01\x12-\n\x10\x63ombine_run_data\x18\x05 \x01(\x08H\x02R\x0e\x63ombineRunData\x88\x01\x01\x42\t\n\x07_run_idB\x07\n\x05_modeB\x13\n\x11_combine_run_data\"h\n\x0fGetDataResponse\x12&\n\x0fnext_page_token\x18\x01 \x01(\tR\rnextPageToken\x12-\n\x04\x64\x61ta\x18\x02 \x03(\x0b\x32\x14.google.protobuf.AnyB\x03\xe0\x41\x02R\x04\x64\x61ta\"\xa1\x06\n\x08Metadata\x12\x46\n\tdata_type\x18\x01 \x01(\x0e\x32$.sift.common.type.v1.ChannelDataTypeB\x03\xe0\x41\x02R\x08\x64\x61taType\x12\"\n\nsampled_ms\x18\x02 \x01(\rB\x03\xe0\x41\x02R\tsampledMs\x12\x37\n\x05\x61sset\x18\x03 \x01(\x0b\x32\x1c.sift.data.v2.Metadata.AssetB\x03\xe0\x41\x02R\x05\x61sset\x12\x31\n\x03run\x18\x04 \x01(\x0b\x32\x1a.sift.data.v2.Metadata.RunH\x00R\x03run\x88\x01\x01\x12=\n\x07\x63hannel\x18\x05 \x01(\x0b\x32\x1e.sift.data.v2.Metadata.ChannelH\x01R\x07\x63hannel\x88\x01\x01\x1a@\n\x05\x41sset\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x1a:\n\x03Run\x12\x1a\n\x06run_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05runId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x1a\xeb\x02\n\x07\x43hannel\x12\"\n\nchannel_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\tchannelId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12\x37\n\x04unit\x18\x03 \x01(\x0b\x32#.sift.data.v2.Metadata.Channel.UnitR\x04unit\x12\x43\n\nenum_types\x18\x04 \x03(\x0b\x32$.sift.common.type.v1.ChannelEnumTypeR\tenumTypes\x12Y\n\x12\x62it_field_elements\x18\x05 \x03(\x0b\x32+.sift.common.type.v1.ChannelBitFieldElementR\x10\x62itFieldElements\x1aO\n\x04Unit\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12.\n\x10\x61\x62\x62reviated_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0f\x61\x62\x62reviatedNameB\x06\n\x04_runB\n\n\x08_channel\"g\n\x0b\x44oubleValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x01\x42\x03\xe0\x41\x02R\x05value\"\x7f\n\x0c\x44oubleValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.DoubleValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bStringValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cStringValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.StringValueB\x03\xe0\x41\x02R\x06values\"e\n\tEnumValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"{\n\nEnumValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x34\n\x06values\x18\x02 \x03(\x0b\x32\x17.sift.data.v2.EnumValueB\x03\xe0\x41\x02R\x06values\"i\n\rBitFieldValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"j\n\x15\x42itFieldElementValues\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12\x38\n\x06values\x18\x02 \x03(\x0b\x32\x1b.sift.data.v2.BitFieldValueB\x03\xe0\x41\x02R\x06values\"\x8b\x01\n\x0e\x42itFieldValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12@\n\x06values\x18\x02 \x03(\x0b\x32#.sift.data.v2.BitFieldElementValuesB\x03\xe0\x41\x02R\x06values\"e\n\tBoolValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x08\x42\x03\xe0\x41\x02R\x05value\"{\n\nBoolValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x34\n\x06values\x18\x02 \x03(\x0b\x32\x17.sift.data.v2.BoolValueB\x03\xe0\x41\x02R\x06values\"f\n\nFloatValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x02\x42\x03\xe0\x41\x02R\x05value\"}\n\x0b\x46loatValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.FloatValueB\x03\xe0\x41\x02R\x06values\"f\n\nInt32Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x05value\"}\n\x0bInt32Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.Int32ValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bUint32Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\rB\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cUint32Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.Uint32ValueB\x03\xe0\x41\x02R\x06values\"f\n\nInt64Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x03\x42\x03\xe0\x41\x02R\x05value\"}\n\x0bInt64Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.Int64ValueB\x03\xe0\x41\x02R\x06values\"g\n\x0bUint64Value\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x04\x42\x03\xe0\x41\x02R\x05value\"\x7f\n\x0cUint64Values\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x36\n\x06values\x18\x02 \x03(\x0b\x32\x19.sift.data.v2.Uint64ValueB\x03\xe0\x41\x02R\x06values\"f\n\nBytesValue\x12=\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\ttimestamp\x12\x19\n\x05value\x18\x02 \x01(\x0c\x42\x03\xe0\x41\x02R\x05value\"}\n\x0b\x42ytesValues\x12\x37\n\x08metadata\x18\x01 \x01(\x0b\x32\x16.sift.data.v2.MetadataB\x03\xe0\x41\x02R\x08metadata\x12\x35\n\x06values\x18\x02 \x03(\x0b\x32\x18.sift.data.v2.BytesValueB\x03\xe0\x41\x02R\x06values2\xba\x01\n\x0b\x44\x61taService\x12\x8e\x01\n\x07GetData\x12\x1c.sift.data.v2.GetDataRequest\x1a\x1d.sift.data.v2.GetDataResponse\"F\x92\x41,\x12\x07GetData\x1a\nQuery data*\x15\x44\x61taService_GetDataV2\x82\xd3\xe4\x93\x02\x11\"\x0c/api/v2/data:\x01*\x1a\x1a\x92\x41\x17\x12\x15Service to query dataB\x82\x01\n\x10\x63om.sift.data.v2B\tDataProtoP\x01\xa2\x02\x03SDX\xaa\x02\x0cSift.Data.V2\xca\x02\x0cSift\\Data\\V2\xe2\x02\x18Sift\\Data\\V2\\GPBMetadata\xea\x02\x0eSift::Data::V2\x92\x41\x10\x12\x0e\n\x0c\x44\x61ta Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -32,8 +31,6 @@ if not _descriptor._USE_C_DESCRIPTORS: _globals['DESCRIPTOR']._loaded_options = None _globals['DESCRIPTOR']._serialized_options = b'\n\020com.sift.data.v2B\tDataProtoP\001\242\002\003SDX\252\002\014Sift.Data.V2\312\002\014Sift\\Data\\V2\342\002\030Sift\\Data\\V2\\GPBMetadata\352\002\016Sift::Data::V2\222A\020\022\016\n\014Data Service' - _globals['_GETDATAREQUEST']._loaded_options = None - _globals['_GETDATAREQUEST']._serialized_options = b'\200\227\"\001' _globals['_CALCULATEDCHANNELQUERY'].fields_by_name['channel_key']._loaded_options = None _globals['_CALCULATEDCHANNELQUERY'].fields_by_name['channel_key']._serialized_options = b'\340A\002' _globals['_CALCULATEDCHANNELQUERY'].fields_by_name['expression']._loaded_options = None @@ -156,72 +153,72 @@ _globals['_DATASERVICE']._serialized_options = b'\222A\027\022\025Service to query data' _globals['_DATASERVICE'].methods_by_name['GetData']._loaded_options = None _globals['_DATASERVICE'].methods_by_name['GetData']._serialized_options = b'\222A,\022\007GetData\032\nQuery data*\025DataService_GetDataV2\202\323\344\223\002\021\"\014/api/v2/data:\001*' - _globals['_GETDATAREQUEST']._serialized_start=446 - _globals['_GETDATAREQUEST']._serialized_end=718 - _globals['_QUERY']._serialized_start=721 - _globals['_QUERY']._serialized_end=880 - _globals['_CHANNELQUERY']._serialized_start=882 - _globals['_CHANNELQUERY']._serialized_end=966 - _globals['_CALCULATEDCHANNELQUERY']._serialized_start=969 - _globals['_CALCULATEDCHANNELQUERY']._serialized_end=1302 - _globals['_GETDATARESPONSE']._serialized_start=1304 - _globals['_GETDATARESPONSE']._serialized_end=1408 - _globals['_METADATA']._serialized_start=1411 - _globals['_METADATA']._serialized_end=2212 - _globals['_METADATA_ASSET']._serialized_start=1702 - _globals['_METADATA_ASSET']._serialized_end=1766 - _globals['_METADATA_RUN']._serialized_start=1768 - _globals['_METADATA_RUN']._serialized_end=1826 - _globals['_METADATA_CHANNEL']._serialized_start=1829 - _globals['_METADATA_CHANNEL']._serialized_end=2192 - _globals['_METADATA_CHANNEL_UNIT']._serialized_start=2113 - _globals['_METADATA_CHANNEL_UNIT']._serialized_end=2192 - _globals['_DOUBLEVALUE']._serialized_start=2214 - _globals['_DOUBLEVALUE']._serialized_end=2317 - _globals['_DOUBLEVALUES']._serialized_start=2319 - _globals['_DOUBLEVALUES']._serialized_end=2446 - _globals['_STRINGVALUE']._serialized_start=2448 - _globals['_STRINGVALUE']._serialized_end=2551 - _globals['_STRINGVALUES']._serialized_start=2553 - _globals['_STRINGVALUES']._serialized_end=2680 - _globals['_ENUMVALUE']._serialized_start=2682 - _globals['_ENUMVALUE']._serialized_end=2783 - _globals['_ENUMVALUES']._serialized_start=2785 - _globals['_ENUMVALUES']._serialized_end=2908 - _globals['_BITFIELDVALUE']._serialized_start=2910 - _globals['_BITFIELDVALUE']._serialized_end=3015 - _globals['_BITFIELDELEMENTVALUES']._serialized_start=3017 - _globals['_BITFIELDELEMENTVALUES']._serialized_end=3123 - _globals['_BITFIELDVALUES']._serialized_start=3126 - _globals['_BITFIELDVALUES']._serialized_end=3265 - _globals['_BOOLVALUE']._serialized_start=3267 - _globals['_BOOLVALUE']._serialized_end=3368 - _globals['_BOOLVALUES']._serialized_start=3370 - _globals['_BOOLVALUES']._serialized_end=3493 - _globals['_FLOATVALUE']._serialized_start=3495 - _globals['_FLOATVALUE']._serialized_end=3597 - _globals['_FLOATVALUES']._serialized_start=3599 - _globals['_FLOATVALUES']._serialized_end=3724 - _globals['_INT32VALUE']._serialized_start=3726 - _globals['_INT32VALUE']._serialized_end=3828 - _globals['_INT32VALUES']._serialized_start=3830 - _globals['_INT32VALUES']._serialized_end=3955 - _globals['_UINT32VALUE']._serialized_start=3957 - _globals['_UINT32VALUE']._serialized_end=4060 - _globals['_UINT32VALUES']._serialized_start=4062 - _globals['_UINT32VALUES']._serialized_end=4189 - _globals['_INT64VALUE']._serialized_start=4191 - _globals['_INT64VALUE']._serialized_end=4293 - _globals['_INT64VALUES']._serialized_start=4295 - _globals['_INT64VALUES']._serialized_end=4420 - _globals['_UINT64VALUE']._serialized_start=4422 - _globals['_UINT64VALUE']._serialized_end=4525 - _globals['_UINT64VALUES']._serialized_start=4527 - _globals['_UINT64VALUES']._serialized_end=4654 - _globals['_BYTESVALUE']._serialized_start=4656 - _globals['_BYTESVALUE']._serialized_end=4758 - _globals['_BYTESVALUES']._serialized_start=4760 - _globals['_BYTESVALUES']._serialized_end=4885 - _globals['_DATASERVICE']._serialized_start=4888 - _globals['_DATASERVICE']._serialized_end=5074 + _globals['_GETDATAREQUEST']._serialized_start=411 + _globals['_GETDATAREQUEST']._serialized_end=677 + _globals['_QUERY']._serialized_start=680 + _globals['_QUERY']._serialized_end=839 + _globals['_CHANNELQUERY']._serialized_start=841 + _globals['_CHANNELQUERY']._serialized_end=925 + _globals['_CALCULATEDCHANNELQUERY']._serialized_start=928 + _globals['_CALCULATEDCHANNELQUERY']._serialized_end=1261 + _globals['_GETDATARESPONSE']._serialized_start=1263 + _globals['_GETDATARESPONSE']._serialized_end=1367 + _globals['_METADATA']._serialized_start=1370 + _globals['_METADATA']._serialized_end=2171 + _globals['_METADATA_ASSET']._serialized_start=1661 + _globals['_METADATA_ASSET']._serialized_end=1725 + _globals['_METADATA_RUN']._serialized_start=1727 + _globals['_METADATA_RUN']._serialized_end=1785 + _globals['_METADATA_CHANNEL']._serialized_start=1788 + _globals['_METADATA_CHANNEL']._serialized_end=2151 + _globals['_METADATA_CHANNEL_UNIT']._serialized_start=2072 + _globals['_METADATA_CHANNEL_UNIT']._serialized_end=2151 + _globals['_DOUBLEVALUE']._serialized_start=2173 + _globals['_DOUBLEVALUE']._serialized_end=2276 + _globals['_DOUBLEVALUES']._serialized_start=2278 + _globals['_DOUBLEVALUES']._serialized_end=2405 + _globals['_STRINGVALUE']._serialized_start=2407 + _globals['_STRINGVALUE']._serialized_end=2510 + _globals['_STRINGVALUES']._serialized_start=2512 + _globals['_STRINGVALUES']._serialized_end=2639 + _globals['_ENUMVALUE']._serialized_start=2641 + _globals['_ENUMVALUE']._serialized_end=2742 + _globals['_ENUMVALUES']._serialized_start=2744 + _globals['_ENUMVALUES']._serialized_end=2867 + _globals['_BITFIELDVALUE']._serialized_start=2869 + _globals['_BITFIELDVALUE']._serialized_end=2974 + _globals['_BITFIELDELEMENTVALUES']._serialized_start=2976 + _globals['_BITFIELDELEMENTVALUES']._serialized_end=3082 + _globals['_BITFIELDVALUES']._serialized_start=3085 + _globals['_BITFIELDVALUES']._serialized_end=3224 + _globals['_BOOLVALUE']._serialized_start=3226 + _globals['_BOOLVALUE']._serialized_end=3327 + _globals['_BOOLVALUES']._serialized_start=3329 + _globals['_BOOLVALUES']._serialized_end=3452 + _globals['_FLOATVALUE']._serialized_start=3454 + _globals['_FLOATVALUE']._serialized_end=3556 + _globals['_FLOATVALUES']._serialized_start=3558 + _globals['_FLOATVALUES']._serialized_end=3683 + _globals['_INT32VALUE']._serialized_start=3685 + _globals['_INT32VALUE']._serialized_end=3787 + _globals['_INT32VALUES']._serialized_start=3789 + _globals['_INT32VALUES']._serialized_end=3914 + _globals['_UINT32VALUE']._serialized_start=3916 + _globals['_UINT32VALUE']._serialized_end=4019 + _globals['_UINT32VALUES']._serialized_start=4021 + _globals['_UINT32VALUES']._serialized_end=4148 + _globals['_INT64VALUE']._serialized_start=4150 + _globals['_INT64VALUE']._serialized_end=4252 + _globals['_INT64VALUES']._serialized_start=4254 + _globals['_INT64VALUES']._serialized_end=4379 + _globals['_UINT64VALUE']._serialized_start=4381 + _globals['_UINT64VALUE']._serialized_end=4484 + _globals['_UINT64VALUES']._serialized_start=4486 + _globals['_UINT64VALUES']._serialized_end=4613 + _globals['_BYTESVALUE']._serialized_start=4615 + _globals['_BYTESVALUE']._serialized_end=4717 + _globals['_BYTESVALUES']._serialized_start=4719 + _globals['_BYTESVALUES']._serialized_end=4844 + _globals['_DATASERVICE']._serialized_start=4847 + _globals['_DATASERVICE']._serialized_end=5033 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/data_imports/v2/data_imports_pb2.py b/python/lib/sift/data_imports/v2/data_imports_pb2.py index a9a4a3564..e50581cc2 100644 --- a/python/lib/sift/data_imports/v2/data_imports_pb2.py +++ b/python/lib/sift/data_imports/v2/data_imports_pb2.py @@ -19,7 +19,7 @@ from sift.common.type.v1 import channel_config_pb2 as sift_dot_common_dot_type_dot_v1_dot_channel__config__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'sift/data_imports/v2/data_imports.proto\x12\x14sift.data_imports.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a(sift/common/type/v1/channel_config.proto\"\xdd\x02\n\x1e\x43reateDataImportFromUrlRequest\x12\x15\n\x03url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x03url\x12\x43\n\ncsv_config\x18\x02 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\x03 \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\x04 \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\"G\n\x1f\x43reateDataImportFromUrlResponse\x12$\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tR\x0c\x64\x61taImportId\"A\n\x14GetDataImportRequest\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\"Z\n\x15GetDataImportResponse\x12\x41\n\x0b\x64\x61ta_import\x18\x01 \x01(\x0b\x32 .sift.data_imports.v2.DataImportR\ndataImport\"\xc9\x02\n!CreateDataImportFromUploadRequest\x12\x43\n\ncsv_config\x18\x01 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\x03 \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\x04 \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\"i\n\"CreateDataImportFromUploadResponse\x12\x1d\n\nupload_url\x18\x01 \x01(\tR\tuploadUrl\x12$\n\x0e\x64\x61ta_import_id\x18\x02 \x01(\tR\x0c\x64\x61taImportId\"\xc8\x03\n\tCsvConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12$\n\x0e\x66irst_data_row\x18\x04 \x01(\rR\x0c\x66irstDataRow\x12I\n\x0btime_column\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.CsvTimeColumnH\x00R\ntimeColumn\x88\x01\x01\x12S\n\x0c\x64\x61ta_columns\x18\x06 \x03(\x0b\x32\x30.sift.data_imports.v2.CsvConfig.DataColumnsEntryR\x0b\x64\x61taColumns\x12#\n\x08num_rows\x18\x07 \x01(\x04\x42\x03\xe0\x41\x01H\x01R\x07numRows\x88\x01\x01\x1a\x62\n\x10\x44\x61taColumnsEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\x05value:\x02\x38\x01\x42\x0e\n\x0c_time_columnB\x0b\n\t_num_rows\"\xd7\x01\n\rCsvTimeColumn\x12#\n\rcolumn_number\x18\x01 \x01(\rR\x0c\x63olumnNumber\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .sift.data_imports.v2.TimeFormatR\x06\x66ormat\x12O\n\x13relative_start_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x11relativeStartTime\x88\x01\x01\x42\x16\n\x14_relative_start_time\"`\n\x13\x44\x65tectConfigRequest\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32!.sift.data_imports.v2.DataTypeKeyR\x04type\"\xa2\x01\n\x14\x44\x65tectConfigResponse\x12>\n\ncsv_config\x18\x01 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigR\tcsvConfig\x12J\n\x0eparquet_config\x18\x02 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigR\rparquetConfig\"i\n\nCh10Config\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12!\n\x0cscale_values\x18\x03 \x01(\x08R\x0bscaleValues\"\xd9\x01\n\nTDMSConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12J\n\x13start_time_override\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x11startTimeOverride\x12 \n\tfile_size\x18\x04 \x01(\x04H\x00R\x08\x66ileSize\x88\x01\x01\x12\x15\n\x06run_id\x18\x05 \x01(\tR\x05runIdB\x0c\n\n_file_size\"\xca\x01\n\x11ParquetTimeColumn\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .sift.data_imports.v2.TimeFormatR\x06\x66ormat\x12O\n\x13relative_start_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x11relativeStartTime\x88\x01\x01\x42\x16\n\x14_relative_start_time\"r\n\x11ParquetDataColumn\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12I\n\x0e\x63hannel_config\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\rchannelConfig\"\xb0\x01\n\x18ParquetFlatDatasetConfig\x12H\n\x0btime_column\x18\x01 \x01(\x0b\x32\'.sift.data_imports.v2.ParquetTimeColumnR\ntimeColumn\x12J\n\x0c\x64\x61ta_columns\x18\x02 \x03(\x0b\x32\'.sift.data_imports.v2.ParquetDataColumnR\x0b\x64\x61taColumns\"\xf9\x02\n\rParquetConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12S\n\x0c\x66lat_dataset\x18\x04 \x01(\x0b\x32..sift.data_imports.v2.ParquetFlatDatasetConfigH\x00R\x0b\x66latDataset\x12#\n\rfooter_offset\x18\x05 \x01(\x04R\x0c\x66ooterOffset\x12#\n\rfooter_length\x18\x06 \x01(\rR\x0c\x66ooterLength\x12n\n\x19\x63omplex_types_import_mode\x18\x07 \x01(\x0e\x32\x33.sift.data_imports.v2.ParquetComplexTypesImportModeR\x16\x63omplexTypesImportModeB\x08\n\x06\x63onfig\"\xc4\x07\n\nDataImport\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\x12\x1d\n\nsource_url\x18\x03 \x01(\tR\tsourceUrl\x12\x43\n\x06status\x18\x04 \x01(\x0e\x32&.sift.data_imports.v2.DataImportStatusB\x03\xe0\x41\x02R\x06status\x12#\n\rerror_message\x18\x05 \x01(\tR\x0c\x65rrorMessage\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x43\n\ncsv_config\x18\x06 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\t \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\n \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x10 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\x12\x1f\n\x06run_id\x18\x0b \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12%\n\treport_id\x18\x0c \x01(\tB\x03\xe0\x41\x01H\x01R\x08reportId\x88\x01\x01\x12#\n\x08\x61sset_id\x18\r \x01(\tB\x03\xe0\x41\x01H\x02R\x07\x61ssetId\x88\x01\x01\x12L\n\x0f\x64\x61ta_start_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x03R\rdataStartTime\x88\x01\x01\x12J\n\x0e\x64\x61ta_stop_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x04R\x0c\x64\x61taStopTime\x88\x01\x01\x42\t\n\x07_run_idB\x0c\n\n_report_idB\x0b\n\t_asset_idB\x12\n\x10_data_start_timeB\x11\n\x0f_data_stop_time\"\x9b\x01\n\x16ListDataImportsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x86\x01\n\x17ListDataImportsResponse\x12\x43\n\x0c\x64\x61ta_imports\x18\x01 \x03(\x0b\x32 .sift.data_imports.v2.DataImportR\x0b\x64\x61taImports\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"C\n\x16RetryDataImportRequest\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\"\x19\n\x17RetryDataImportResponse*\xf0\x03\n\nTimeFormat\x12\x1b\n\x17TIME_FORMAT_UNSPECIFIED\x10\x00\x12$\n TIME_FORMAT_RELATIVE_NANOSECONDS\x10\x01\x12%\n!TIME_FORMAT_RELATIVE_MICROSECONDS\x10\x02\x12%\n!TIME_FORMAT_RELATIVE_MILLISECONDS\x10\x03\x12 \n\x1cTIME_FORMAT_RELATIVE_SECONDS\x10\x04\x12 \n\x1cTIME_FORMAT_RELATIVE_MINUTES\x10\x05\x12\x1e\n\x1aTIME_FORMAT_RELATIVE_HOURS\x10\x06\x12 \n\x1cTIME_FORMAT_ABSOLUTE_RFC3339\x10\n\x12!\n\x1dTIME_FORMAT_ABSOLUTE_DATETIME\x10\x0b\x12%\n!TIME_FORMAT_ABSOLUTE_UNIX_SECONDS\x10\x0c\x12*\n&TIME_FORMAT_ABSOLUTE_UNIX_MILLISECONDS\x10\r\x12*\n&TIME_FORMAT_ABSOLUTE_UNIX_MICROSECONDS\x10\x0e\x12)\n%TIME_FORMAT_ABSOLUTE_UNIX_NANOSECONDS\x10\x0f*\x9e\x01\n\x0b\x44\x61taTypeKey\x12!\n\x19\x44\x41TA_TYPE_KEY_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x15\n\x11\x44\x41TA_TYPE_KEY_CSV\x10\x01\x12\x16\n\x12\x44\x41TA_TYPE_KEY_TDMS\x10\x02\x12\x16\n\x12\x44\x41TA_TYPE_KEY_CH10\x10\x03\x12%\n!DATA_TYPE_KEY_PARQUET_FLATDATASET\x10\x04*\x8b\x02\n\x1dParquetComplexTypesImportMode\x12\x35\n-PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12,\n(PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE\x10\x01\x12*\n&PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH\x10\x02\x12,\n(PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING\x10\x03\x12+\n\'PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES\x10\x04*\xbf\x01\n\x10\x44\x61taImportStatus\x12&\n\x1e\x44\x41TA_IMPORT_STATUS_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x1e\n\x1a\x44\x41TA_IMPORT_STATUS_PENDING\x10\x01\x12\"\n\x1e\x44\x41TA_IMPORT_STATUS_IN_PROGRESS\x10\x02\x12 \n\x1c\x44\x41TA_IMPORT_STATUS_SUCCEEDED\x10\x03\x12\x1d\n\x19\x44\x41TA_IMPORT_STATUS_FAILED\x10\x04\x32\x92\x0c\n\x11\x44\x61taImportService\x12\x98\x02\n\x17\x43reateDataImportFromUrl\x12\x34.sift.data_imports.v2.CreateDataImportFromUrlRequest\x1a\x35.sift.data_imports.v2.CreateDataImportFromUrlResponse\"\x8f\x01\x92\x41i\x12\x17\x43reateDataImportFromUrl\x1a!Creates a data import from a url.*+DataImportService_CreateDataImportFromUrlV2\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v2/data-imports:url:\x01*\x12\xb2\x02\n\x1a\x43reateDataImportFromUpload\x12\x37.sift.data_imports.v2.CreateDataImportFromUploadRequest\x1a\x38.sift.data_imports.v2.CreateDataImportFromUploadResponse\"\xa0\x01\x92\x41w\x12\x1a\x43reateDataImportFromUpload\x1a)Creates a data import from a file upload.*.DataImportService_CreateDataImportFromUploadV2\x82\xd3\xe4\x93\x02 \"\x1b/api/v2/data-imports:upload:\x01*\x12\xef\x01\n\x0c\x44\x65tectConfig\x12).sift.data_imports.v2.DetectConfigRequest\x1a*.sift.data_imports.v2.DetectConfigResponse\"\x87\x01\x92\x41W\x12\x0c\x44\x65tectConfig\x1a%Detects the config for a data import.* DataImportService_DetectConfigV2\x82\xd3\xe4\x93\x02\'\"\"/api/v2/data-imports:detect-config:\x01*\x12\xde\x01\n\x0fListDataImports\x12,.sift.data_imports.v2.ListDataImportsRequest\x1a-.sift.data_imports.v2.ListDataImportsResponse\"n\x92\x41O\x12\x0fListDataImports\x1a\x17Lists all data imports.*#DataImportService_ListDataImportsV2\x82\xd3\xe4\x93\x02\x16\x12\x14/api/v2/data-imports\x12\xf5\x01\n\x0fRetryDataImport\x12,.sift.data_imports.v2.RetryDataImportRequest\x1a-.sift.data_imports.v2.RetryDataImportResponse\"\x84\x01\x92\x41N\x12\x0fRetryDataImport\x1a\x16Retries a data import.*#DataImportService_RetryDataImportV2\x82\xd3\xe4\x93\x02-\"+/api/v2/data-imports/{data_import_id}:retry\x12\xe1\x01\n\rGetDataImport\x12*.sift.data_imports.v2.GetDataImportRequest\x1a+.sift.data_imports.v2.GetDataImportResponse\"w\x92\x41G\x12\rGetDataImport\x1a\x13Gets a data import.*!DataImportService_GetDataImportV2\x82\xd3\xe4\x93\x02\'\x12%/api/v2/data-imports/{data_import_id}B\xb4\x01\n\x18\x63om.sift.data_imports.v2B\x10\x44\x61taImportsProtoP\x01\xa2\x02\x03SDX\xaa\x02\x13Sift.DataImports.V2\xca\x02\x13Sift\\DataImports\\V2\xe2\x02\x1fSift\\DataImports\\V2\\GPBMetadata\xea\x02\x15Sift::DataImports::V2\x92\x41\x17\x12\x15\n\x13\x44\x61ta import serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'sift/data_imports/v2/data_imports.proto\x12\x14sift.data_imports.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a(sift/common/type/v1/channel_config.proto\"\xa5\x03\n\x1e\x43reateDataImportFromUrlRequest\x12\x15\n\x03url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x03url\x12\x43\n\ncsv_config\x18\x02 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\x03 \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\x04 \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\x12\x46\n\x0bhdf5_config\x18\x06 \x01(\x0b\x32 .sift.data_imports.v2.Hdf5ConfigB\x03\xe0\x41\x01R\nhdf5Config\"G\n\x1f\x43reateDataImportFromUrlResponse\x12$\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tR\x0c\x64\x61taImportId\"A\n\x14GetDataImportRequest\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\"Z\n\x15GetDataImportResponse\x12\x41\n\x0b\x64\x61ta_import\x18\x01 \x01(\x0b\x32 .sift.data_imports.v2.DataImportR\ndataImport\"\x91\x03\n!CreateDataImportFromUploadRequest\x12\x43\n\ncsv_config\x18\x01 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\x03 \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\x04 \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\x12\x46\n\x0bhdf5_config\x18\x06 \x01(\x0b\x32 .sift.data_imports.v2.Hdf5ConfigB\x03\xe0\x41\x01R\nhdf5Config\"i\n\"CreateDataImportFromUploadResponse\x12\x1d\n\nupload_url\x18\x01 \x01(\tR\tuploadUrl\x12$\n\x0e\x64\x61ta_import_id\x18\x02 \x01(\tR\x0c\x64\x61taImportId\"\xc8\x03\n\tCsvConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12$\n\x0e\x66irst_data_row\x18\x04 \x01(\rR\x0c\x66irstDataRow\x12I\n\x0btime_column\x18\x05 \x01(\x0b\x32#.sift.data_imports.v2.CsvTimeColumnH\x00R\ntimeColumn\x88\x01\x01\x12S\n\x0c\x64\x61ta_columns\x18\x06 \x03(\x0b\x32\x30.sift.data_imports.v2.CsvConfig.DataColumnsEntryR\x0b\x64\x61taColumns\x12#\n\x08num_rows\x18\x07 \x01(\x04\x42\x03\xe0\x41\x01H\x01R\x07numRows\x88\x01\x01\x1a\x62\n\x10\x44\x61taColumnsEntry\x12\x10\n\x03key\x18\x01 \x01(\rR\x03key\x12\x38\n\x05value\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\x05value:\x02\x38\x01\x42\x0e\n\x0c_time_columnB\x0b\n\t_num_rows\"\xd7\x01\n\rCsvTimeColumn\x12#\n\rcolumn_number\x18\x01 \x01(\rR\x0c\x63olumnNumber\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .sift.data_imports.v2.TimeFormatR\x06\x66ormat\x12O\n\x13relative_start_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x11relativeStartTime\x88\x01\x01\x42\x16\n\x14_relative_start_time\"`\n\x13\x44\x65tectConfigRequest\x12\x12\n\x04\x64\x61ta\x18\x01 \x01(\x0cR\x04\x64\x61ta\x12\x35\n\x04type\x18\x02 \x01(\x0e\x32!.sift.data_imports.v2.DataTypeKeyR\x04type\"\xe5\x01\n\x14\x44\x65tectConfigResponse\x12>\n\ncsv_config\x18\x01 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigR\tcsvConfig\x12J\n\x0eparquet_config\x18\x02 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigR\rparquetConfig\x12\x41\n\x0bhdf5_config\x18\x03 \x01(\x0b\x32 .sift.data_imports.v2.Hdf5ConfigR\nhdf5Config\"i\n\nCh10Config\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12!\n\x0cscale_values\x18\x03 \x01(\x08R\x0bscaleValues\"\xd9\x01\n\nTDMSConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12J\n\x13start_time_override\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x11startTimeOverride\x12 \n\tfile_size\x18\x04 \x01(\x04H\x00R\x08\x66ileSize\x88\x01\x01\x12\x15\n\x06run_id\x18\x05 \x01(\tR\x05runIdB\x0c\n\n_file_size\"\xca\x01\n\x11ParquetTimeColumn\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12\x38\n\x06\x66ormat\x18\x02 \x01(\x0e\x32 .sift.data_imports.v2.TimeFormatR\x06\x66ormat\x12O\n\x13relative_start_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x11relativeStartTime\x88\x01\x01\x42\x16\n\x14_relative_start_time\"r\n\x11ParquetDataColumn\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12I\n\x0e\x63hannel_config\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\rchannelConfig\"l\n\rParquetColumn\x12\x12\n\x04path\x18\x01 \x01(\tR\x04path\x12G\n\rcolumn_config\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\x0c\x63olumnConfig\"\xb0\x01\n\x18ParquetFlatDatasetConfig\x12H\n\x0btime_column\x18\x01 \x01(\x0b\x32\'.sift.data_imports.v2.ParquetTimeColumnR\ntimeColumn\x12J\n\x0c\x64\x61ta_columns\x18\x02 \x03(\x0b\x32\'.sift.data_imports.v2.ParquetDataColumnR\x0b\x64\x61taColumns\"h\n,ParquetSingleChannelPerRowMultiChannelConfig\x12\x1b\n\tname_path\x18\x01 \x01(\tR\x08namePath\x12\x1b\n\tdata_path\x18\x02 \x01(\tR\x08\x64\x61taPath\"\x8a\x01\n-ParquetSingleChannelPerRowSingleChannelConfig\x12\x1b\n\tdata_path\x18\x01 \x01(\tR\x08\x64\x61taPath\x12<\n\x07\x63hannel\x18\x02 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\x07\x63hannel\"\x8e\x03\n ParquetSingleChannelPerRowConfig\x12H\n\x0btime_column\x18\x01 \x01(\x0b\x32\'.sift.data_imports.v2.ParquetTimeColumnR\ntimeColumn\x12=\n\x07\x63olumns\x18\x02 \x03(\x0b\x32#.sift.data_imports.v2.ParquetColumnR\x07\x63olumns\x12l\n\x0esingle_channel\x18\x03 \x01(\x0b\x32\x43.sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfigH\x00R\rsingleChannel\x12i\n\rmulti_channel\x18\x04 \x01(\x0b\x32\x42.sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfigH\x00R\x0cmultiChannelB\x08\n\x06\x63onfig\"\xe8\x03\n\rParquetConfig\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12S\n\x0c\x66lat_dataset\x18\x04 \x01(\x0b\x32..sift.data_imports.v2.ParquetFlatDatasetConfigH\x00R\x0b\x66latDataset\x12m\n\x16single_channel_per_row\x18\x08 \x01(\x0b\x32\x36.sift.data_imports.v2.ParquetSingleChannelPerRowConfigH\x00R\x13singleChannelPerRow\x12#\n\rfooter_offset\x18\x05 \x01(\x04R\x0c\x66ooterOffset\x12#\n\rfooter_length\x18\x06 \x01(\rR\x0c\x66ooterLength\x12n\n\x19\x63omplex_types_import_mode\x18\x07 \x01(\x0e\x32\x33.sift.data_imports.v2.ParquetComplexTypesImportModeR\x16\x63omplexTypesImportModeB\x08\n\x06\x63onfig\"\xcc\x02\n\x0eHdf5DataConfig\x12!\n\x0ctime_dataset\x18\x01 \x01(\tR\x0btimeDataset\x12\x1d\n\ntime_index\x18\x02 \x01(\x04R\ttimeIndex\x12#\n\rvalue_dataset\x18\x03 \x01(\tR\x0cvalueDataset\x12\x1f\n\x0bvalue_index\x18\x04 \x01(\x04R\nvalueIndex\x12I\n\x0e\x63hannel_config\x18\x05 \x01(\x0b\x32\".sift.common.type.v1.ChannelConfigR\rchannelConfig\x12\"\n\ntime_field\x18\x06 \x01(\tH\x00R\ttimeField\x88\x01\x01\x12$\n\x0bvalue_field\x18\x07 \x01(\tH\x01R\nvalueField\x88\x01\x01\x42\r\n\x0b_time_fieldB\x0e\n\x0c_value_field\"\xc3\x02\n\nHdf5Config\x12\x1d\n\nasset_name\x18\x01 \x01(\tR\tassetName\x12\x19\n\x08run_name\x18\x02 \x01(\tR\x07runName\x12\x15\n\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x38\n\x04\x64\x61ta\x18\x04 \x03(\x0b\x32$.sift.data_imports.v2.Hdf5DataConfigR\x04\x64\x61ta\x12\x41\n\x0btime_format\x18\x05 \x01(\x0e\x32 .sift.data_imports.v2.TimeFormatR\ntimeFormat\x12O\n\x13relative_start_time\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00R\x11relativeStartTime\x88\x01\x01\x42\x16\n\x14_relative_start_time\"\x8c\x08\n\nDataImport\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\x12\x1d\n\nsource_url\x18\x03 \x01(\tR\tsourceUrl\x12\x43\n\x06status\x18\x04 \x01(\x0e\x32&.sift.data_imports.v2.DataImportStatusB\x03\xe0\x41\x02R\x06status\x12#\n\rerror_message\x18\x05 \x01(\tR\x0c\x65rrorMessage\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x43\n\ncsv_config\x18\x06 \x01(\x0b\x32\x1f.sift.data_imports.v2.CsvConfigB\x03\xe0\x41\x01R\tcsvConfig\x12\x46\n\x0b\x63h10_config\x18\t \x01(\x0b\x32 .sift.data_imports.v2.Ch10ConfigB\x03\xe0\x41\x01R\nch10Config\x12\x46\n\x0btdms_config\x18\n \x01(\x0b\x32 .sift.data_imports.v2.TDMSConfigB\x03\xe0\x41\x01R\ntdmsConfig\x12O\n\x0eparquet_config\x18\x10 \x01(\x0b\x32#.sift.data_imports.v2.ParquetConfigB\x03\xe0\x41\x01R\rparquetConfig\x12\x46\n\x0bhdf5_config\x18\x11 \x01(\x0b\x32 .sift.data_imports.v2.Hdf5ConfigB\x03\xe0\x41\x01R\nhdf5Config\x12\x1f\n\x06run_id\x18\x0b \x01(\tB\x03\xe0\x41\x01H\x00R\x05runId\x88\x01\x01\x12%\n\treport_id\x18\x0c \x01(\tB\x03\xe0\x41\x01H\x01R\x08reportId\x88\x01\x01\x12#\n\x08\x61sset_id\x18\r \x01(\tB\x03\xe0\x41\x01H\x02R\x07\x61ssetId\x88\x01\x01\x12L\n\x0f\x64\x61ta_start_time\x18\x0e \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x03R\rdataStartTime\x88\x01\x01\x12J\n\x0e\x64\x61ta_stop_time\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x04R\x0c\x64\x61taStopTime\x88\x01\x01\x42\t\n\x07_run_idB\x0c\n\n_report_idB\x0b\n\t_asset_idB\x12\n\x10_data_start_timeB\x11\n\x0f_data_stop_time\"\x9b\x01\n\x16ListDataImportsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x86\x01\n\x17ListDataImportsResponse\x12\x43\n\x0c\x64\x61ta_imports\x18\x01 \x03(\x0b\x32 .sift.data_imports.v2.DataImportR\x0b\x64\x61taImports\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"C\n\x16RetryDataImportRequest\x12)\n\x0e\x64\x61ta_import_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0c\x64\x61taImportId\"\x19\n\x17RetryDataImportResponse*\xf0\x03\n\nTimeFormat\x12\x1b\n\x17TIME_FORMAT_UNSPECIFIED\x10\x00\x12$\n TIME_FORMAT_RELATIVE_NANOSECONDS\x10\x01\x12%\n!TIME_FORMAT_RELATIVE_MICROSECONDS\x10\x02\x12%\n!TIME_FORMAT_RELATIVE_MILLISECONDS\x10\x03\x12 \n\x1cTIME_FORMAT_RELATIVE_SECONDS\x10\x04\x12 \n\x1cTIME_FORMAT_RELATIVE_MINUTES\x10\x05\x12\x1e\n\x1aTIME_FORMAT_RELATIVE_HOURS\x10\x06\x12 \n\x1cTIME_FORMAT_ABSOLUTE_RFC3339\x10\n\x12!\n\x1dTIME_FORMAT_ABSOLUTE_DATETIME\x10\x0b\x12%\n!TIME_FORMAT_ABSOLUTE_UNIX_SECONDS\x10\x0c\x12*\n&TIME_FORMAT_ABSOLUTE_UNIX_MILLISECONDS\x10\r\x12*\n&TIME_FORMAT_ABSOLUTE_UNIX_MICROSECONDS\x10\x0e\x12)\n%TIME_FORMAT_ABSOLUTE_UNIX_NANOSECONDS\x10\x0f*\xe8\x01\n\x0b\x44\x61taTypeKey\x12!\n\x19\x44\x41TA_TYPE_KEY_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x15\n\x11\x44\x41TA_TYPE_KEY_CSV\x10\x01\x12\x16\n\x12\x44\x41TA_TYPE_KEY_TDMS\x10\x02\x12\x16\n\x12\x44\x41TA_TYPE_KEY_CH10\x10\x03\x12%\n!DATA_TYPE_KEY_PARQUET_FLATDATASET\x10\x04\x12\x30\n,DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW\x10\x05\x12\x16\n\x12\x44\x41TA_TYPE_KEY_HDF5\x10\x06*\x8b\x02\n\x1dParquetComplexTypesImportMode\x12\x35\n-PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12,\n(PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE\x10\x01\x12*\n&PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH\x10\x02\x12,\n(PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING\x10\x03\x12+\n\'PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES\x10\x04*\xbf\x01\n\x10\x44\x61taImportStatus\x12&\n\x1e\x44\x41TA_IMPORT_STATUS_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x1e\n\x1a\x44\x41TA_IMPORT_STATUS_PENDING\x10\x01\x12\"\n\x1e\x44\x41TA_IMPORT_STATUS_IN_PROGRESS\x10\x02\x12 \n\x1c\x44\x41TA_IMPORT_STATUS_SUCCEEDED\x10\x03\x12\x1d\n\x19\x44\x41TA_IMPORT_STATUS_FAILED\x10\x04\x32\xa3\x0c\n\x11\x44\x61taImportService\x12\xa9\x02\n\x17\x43reateDataImportFromUrl\x12\x34.sift.data_imports.v2.CreateDataImportFromUrlRequest\x1a\x35.sift.data_imports.v2.CreateDataImportFromUrlResponse\"\xa0\x01\x92\x41z\x12\x17\x43reateDataImportFromUrl\x1a\x32\x43reates a data import from a file hosted at a url.*+DataImportService_CreateDataImportFromUrlV2\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v2/data-imports:url:\x01*\x12\xb2\x02\n\x1a\x43reateDataImportFromUpload\x12\x37.sift.data_imports.v2.CreateDataImportFromUploadRequest\x1a\x38.sift.data_imports.v2.CreateDataImportFromUploadResponse\"\xa0\x01\x92\x41w\x12\x1a\x43reateDataImportFromUpload\x1a)Creates a data import from a file upload.*.DataImportService_CreateDataImportFromUploadV2\x82\xd3\xe4\x93\x02 \"\x1b/api/v2/data-imports:upload:\x01*\x12\xef\x01\n\x0c\x44\x65tectConfig\x12).sift.data_imports.v2.DetectConfigRequest\x1a*.sift.data_imports.v2.DetectConfigResponse\"\x87\x01\x92\x41W\x12\x0c\x44\x65tectConfig\x1a%Detects the config for a data import.* DataImportService_DetectConfigV2\x82\xd3\xe4\x93\x02\'\"\"/api/v2/data-imports:detect-config:\x01*\x12\xde\x01\n\x0fListDataImports\x12,.sift.data_imports.v2.ListDataImportsRequest\x1a-.sift.data_imports.v2.ListDataImportsResponse\"n\x92\x41O\x12\x0fListDataImports\x1a\x17Lists all data imports.*#DataImportService_ListDataImportsV2\x82\xd3\xe4\x93\x02\x16\x12\x14/api/v2/data-imports\x12\xf5\x01\n\x0fRetryDataImport\x12,.sift.data_imports.v2.RetryDataImportRequest\x1a-.sift.data_imports.v2.RetryDataImportResponse\"\x84\x01\x92\x41N\x12\x0fRetryDataImport\x1a\x16Retries a data import.*#DataImportService_RetryDataImportV2\x82\xd3\xe4\x93\x02-\"+/api/v2/data-imports/{data_import_id}:retry\x12\xe1\x01\n\rGetDataImport\x12*.sift.data_imports.v2.GetDataImportRequest\x1a+.sift.data_imports.v2.GetDataImportResponse\"w\x92\x41G\x12\rGetDataImport\x1a\x13Gets a data import.*!DataImportService_GetDataImportV2\x82\xd3\xe4\x93\x02\'\x12%/api/v2/data-imports/{data_import_id}B\xb4\x01\n\x18\x63om.sift.data_imports.v2B\x10\x44\x61taImportsProtoP\x01\xa2\x02\x03SDX\xaa\x02\x13Sift.DataImports.V2\xca\x02\x13Sift\\DataImports\\V2\xe2\x02\x1fSift\\DataImports\\V2\\GPBMetadata\xea\x02\x15Sift::DataImports::V2\x92\x41\x17\x12\x15\n\x13\x44\x61ta import serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -43,6 +43,8 @@ _globals['_CREATEDATAIMPORTFROMURLREQUEST'].fields_by_name['tdms_config']._serialized_options = b'\340A\001' _globals['_CREATEDATAIMPORTFROMURLREQUEST'].fields_by_name['parquet_config']._loaded_options = None _globals['_CREATEDATAIMPORTFROMURLREQUEST'].fields_by_name['parquet_config']._serialized_options = b'\340A\001' + _globals['_CREATEDATAIMPORTFROMURLREQUEST'].fields_by_name['hdf5_config']._loaded_options = None + _globals['_CREATEDATAIMPORTFROMURLREQUEST'].fields_by_name['hdf5_config']._serialized_options = b'\340A\001' _globals['_GETDATAIMPORTREQUEST'].fields_by_name['data_import_id']._loaded_options = None _globals['_GETDATAIMPORTREQUEST'].fields_by_name['data_import_id']._serialized_options = b'\340A\002' _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['csv_config']._loaded_options = None @@ -53,6 +55,8 @@ _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['tdms_config']._serialized_options = b'\340A\001' _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['parquet_config']._loaded_options = None _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['parquet_config']._serialized_options = b'\340A\001' + _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['hdf5_config']._loaded_options = None + _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST'].fields_by_name['hdf5_config']._serialized_options = b'\340A\001' _globals['_CSVCONFIG_DATACOLUMNSENTRY']._loaded_options = None _globals['_CSVCONFIG_DATACOLUMNSENTRY']._serialized_options = b'8\001' _globals['_CSVCONFIG'].fields_by_name['num_rows']._loaded_options = None @@ -73,6 +77,8 @@ _globals['_DATAIMPORT'].fields_by_name['tdms_config']._serialized_options = b'\340A\001' _globals['_DATAIMPORT'].fields_by_name['parquet_config']._loaded_options = None _globals['_DATAIMPORT'].fields_by_name['parquet_config']._serialized_options = b'\340A\001' + _globals['_DATAIMPORT'].fields_by_name['hdf5_config']._loaded_options = None + _globals['_DATAIMPORT'].fields_by_name['hdf5_config']._serialized_options = b'\340A\001' _globals['_DATAIMPORT'].fields_by_name['run_id']._loaded_options = None _globals['_DATAIMPORT'].fields_by_name['run_id']._serialized_options = b'\340A\001' _globals['_DATAIMPORT'].fields_by_name['report_id']._loaded_options = None @@ -94,7 +100,7 @@ _globals['_RETRYDATAIMPORTREQUEST'].fields_by_name['data_import_id']._loaded_options = None _globals['_RETRYDATAIMPORTREQUEST'].fields_by_name['data_import_id']._serialized_options = b'\340A\002' _globals['_DATAIMPORTSERVICE'].methods_by_name['CreateDataImportFromUrl']._loaded_options = None - _globals['_DATAIMPORTSERVICE'].methods_by_name['CreateDataImportFromUrl']._serialized_options = b'\222Ai\022\027CreateDataImportFromUrl\032!Creates a data import from a url.*+DataImportService_CreateDataImportFromUrlV2\202\323\344\223\002\035\"\030/api/v2/data-imports:url:\001*' + _globals['_DATAIMPORTSERVICE'].methods_by_name['CreateDataImportFromUrl']._serialized_options = b'\222Az\022\027CreateDataImportFromUrl\0322Creates a data import from a file hosted at a url.*+DataImportService_CreateDataImportFromUrlV2\202\323\344\223\002\035\"\030/api/v2/data-imports:url:\001*' _globals['_DATAIMPORTSERVICE'].methods_by_name['CreateDataImportFromUpload']._loaded_options = None _globals['_DATAIMPORTSERVICE'].methods_by_name['CreateDataImportFromUpload']._serialized_options = b'\222Aw\022\032CreateDataImportFromUpload\032)Creates a data import from a file upload.*.DataImportService_CreateDataImportFromUploadV2\202\323\344\223\002 \"\033/api/v2/data-imports:upload:\001*' _globals['_DATAIMPORTSERVICE'].methods_by_name['DetectConfig']._loaded_options = None @@ -105,58 +111,70 @@ _globals['_DATAIMPORTSERVICE'].methods_by_name['RetryDataImport']._serialized_options = b'\222AN\022\017RetryDataImport\032\026Retries a data import.*#DataImportService_RetryDataImportV2\202\323\344\223\002-\"+/api/v2/data-imports/{data_import_id}:retry' _globals['_DATAIMPORTSERVICE'].methods_by_name['GetDataImport']._loaded_options = None _globals['_DATAIMPORTSERVICE'].methods_by_name['GetDataImport']._serialized_options = b'\222AG\022\rGetDataImport\032\023Gets a data import.*!DataImportService_GetDataImportV2\202\323\344\223\002\'\022%/api/v2/data-imports/{data_import_id}' - _globals['_TIMEFORMAT']._serialized_start=4780 - _globals['_TIMEFORMAT']._serialized_end=5276 - _globals['_DATATYPEKEY']._serialized_start=5279 - _globals['_DATATYPEKEY']._serialized_end=5437 - _globals['_PARQUETCOMPLEXTYPESIMPORTMODE']._serialized_start=5440 - _globals['_PARQUETCOMPLEXTYPESIMPORTMODE']._serialized_end=5707 - _globals['_DATAIMPORTSTATUS']._serialized_start=5710 - _globals['_DATAIMPORTSTATUS']._serialized_end=5901 + _globals['_TIMEFORMAT']._serialized_start=6593 + _globals['_TIMEFORMAT']._serialized_end=7089 + _globals['_DATATYPEKEY']._serialized_start=7092 + _globals['_DATATYPEKEY']._serialized_end=7324 + _globals['_PARQUETCOMPLEXTYPESIMPORTMODE']._serialized_start=7327 + _globals['_PARQUETCOMPLEXTYPESIMPORTMODE']._serialized_end=7594 + _globals['_DATAIMPORTSTATUS']._serialized_start=7597 + _globals['_DATAIMPORTSTATUS']._serialized_end=7788 _globals['_CREATEDATAIMPORTFROMURLREQUEST']._serialized_start=252 - _globals['_CREATEDATAIMPORTFROMURLREQUEST']._serialized_end=601 - _globals['_CREATEDATAIMPORTFROMURLRESPONSE']._serialized_start=603 - _globals['_CREATEDATAIMPORTFROMURLRESPONSE']._serialized_end=674 - _globals['_GETDATAIMPORTREQUEST']._serialized_start=676 - _globals['_GETDATAIMPORTREQUEST']._serialized_end=741 - _globals['_GETDATAIMPORTRESPONSE']._serialized_start=743 - _globals['_GETDATAIMPORTRESPONSE']._serialized_end=833 - _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST']._serialized_start=836 - _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST']._serialized_end=1165 - _globals['_CREATEDATAIMPORTFROMUPLOADRESPONSE']._serialized_start=1167 - _globals['_CREATEDATAIMPORTFROMUPLOADRESPONSE']._serialized_end=1272 - _globals['_CSVCONFIG']._serialized_start=1275 - _globals['_CSVCONFIG']._serialized_end=1731 - _globals['_CSVCONFIG_DATACOLUMNSENTRY']._serialized_start=1604 - _globals['_CSVCONFIG_DATACOLUMNSENTRY']._serialized_end=1702 - _globals['_CSVTIMECOLUMN']._serialized_start=1734 - _globals['_CSVTIMECOLUMN']._serialized_end=1949 - _globals['_DETECTCONFIGREQUEST']._serialized_start=1951 - _globals['_DETECTCONFIGREQUEST']._serialized_end=2047 - _globals['_DETECTCONFIGRESPONSE']._serialized_start=2050 - _globals['_DETECTCONFIGRESPONSE']._serialized_end=2212 - _globals['_CH10CONFIG']._serialized_start=2214 - _globals['_CH10CONFIG']._serialized_end=2319 - _globals['_TDMSCONFIG']._serialized_start=2322 - _globals['_TDMSCONFIG']._serialized_end=2539 - _globals['_PARQUETTIMECOLUMN']._serialized_start=2542 - _globals['_PARQUETTIMECOLUMN']._serialized_end=2744 - _globals['_PARQUETDATACOLUMN']._serialized_start=2746 - _globals['_PARQUETDATACOLUMN']._serialized_end=2860 - _globals['_PARQUETFLATDATASETCONFIG']._serialized_start=2863 - _globals['_PARQUETFLATDATASETCONFIG']._serialized_end=3039 - _globals['_PARQUETCONFIG']._serialized_start=3042 - _globals['_PARQUETCONFIG']._serialized_end=3419 - _globals['_DATAIMPORT']._serialized_start=3422 - _globals['_DATAIMPORT']._serialized_end=4386 - _globals['_LISTDATAIMPORTSREQUEST']._serialized_start=4389 - _globals['_LISTDATAIMPORTSREQUEST']._serialized_end=4544 - _globals['_LISTDATAIMPORTSRESPONSE']._serialized_start=4547 - _globals['_LISTDATAIMPORTSRESPONSE']._serialized_end=4681 - _globals['_RETRYDATAIMPORTREQUEST']._serialized_start=4683 - _globals['_RETRYDATAIMPORTREQUEST']._serialized_end=4750 - _globals['_RETRYDATAIMPORTRESPONSE']._serialized_start=4752 - _globals['_RETRYDATAIMPORTRESPONSE']._serialized_end=4777 - _globals['_DATAIMPORTSERVICE']._serialized_start=5904 - _globals['_DATAIMPORTSERVICE']._serialized_end=7458 + _globals['_CREATEDATAIMPORTFROMURLREQUEST']._serialized_end=673 + _globals['_CREATEDATAIMPORTFROMURLRESPONSE']._serialized_start=675 + _globals['_CREATEDATAIMPORTFROMURLRESPONSE']._serialized_end=746 + _globals['_GETDATAIMPORTREQUEST']._serialized_start=748 + _globals['_GETDATAIMPORTREQUEST']._serialized_end=813 + _globals['_GETDATAIMPORTRESPONSE']._serialized_start=815 + _globals['_GETDATAIMPORTRESPONSE']._serialized_end=905 + _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST']._serialized_start=908 + _globals['_CREATEDATAIMPORTFROMUPLOADREQUEST']._serialized_end=1309 + _globals['_CREATEDATAIMPORTFROMUPLOADRESPONSE']._serialized_start=1311 + _globals['_CREATEDATAIMPORTFROMUPLOADRESPONSE']._serialized_end=1416 + _globals['_CSVCONFIG']._serialized_start=1419 + _globals['_CSVCONFIG']._serialized_end=1875 + _globals['_CSVCONFIG_DATACOLUMNSENTRY']._serialized_start=1748 + _globals['_CSVCONFIG_DATACOLUMNSENTRY']._serialized_end=1846 + _globals['_CSVTIMECOLUMN']._serialized_start=1878 + _globals['_CSVTIMECOLUMN']._serialized_end=2093 + _globals['_DETECTCONFIGREQUEST']._serialized_start=2095 + _globals['_DETECTCONFIGREQUEST']._serialized_end=2191 + _globals['_DETECTCONFIGRESPONSE']._serialized_start=2194 + _globals['_DETECTCONFIGRESPONSE']._serialized_end=2423 + _globals['_CH10CONFIG']._serialized_start=2425 + _globals['_CH10CONFIG']._serialized_end=2530 + _globals['_TDMSCONFIG']._serialized_start=2533 + _globals['_TDMSCONFIG']._serialized_end=2750 + _globals['_PARQUETTIMECOLUMN']._serialized_start=2753 + _globals['_PARQUETTIMECOLUMN']._serialized_end=2955 + _globals['_PARQUETDATACOLUMN']._serialized_start=2957 + _globals['_PARQUETDATACOLUMN']._serialized_end=3071 + _globals['_PARQUETCOLUMN']._serialized_start=3073 + _globals['_PARQUETCOLUMN']._serialized_end=3181 + _globals['_PARQUETFLATDATASETCONFIG']._serialized_start=3184 + _globals['_PARQUETFLATDATASETCONFIG']._serialized_end=3360 + _globals['_PARQUETSINGLECHANNELPERROWMULTICHANNELCONFIG']._serialized_start=3362 + _globals['_PARQUETSINGLECHANNELPERROWMULTICHANNELCONFIG']._serialized_end=3466 + _globals['_PARQUETSINGLECHANNELPERROWSINGLECHANNELCONFIG']._serialized_start=3469 + _globals['_PARQUETSINGLECHANNELPERROWSINGLECHANNELCONFIG']._serialized_end=3607 + _globals['_PARQUETSINGLECHANNELPERROWCONFIG']._serialized_start=3610 + _globals['_PARQUETSINGLECHANNELPERROWCONFIG']._serialized_end=4008 + _globals['_PARQUETCONFIG']._serialized_start=4011 + _globals['_PARQUETCONFIG']._serialized_end=4499 + _globals['_HDF5DATACONFIG']._serialized_start=4502 + _globals['_HDF5DATACONFIG']._serialized_end=4834 + _globals['_HDF5CONFIG']._serialized_start=4837 + _globals['_HDF5CONFIG']._serialized_end=5160 + _globals['_DATAIMPORT']._serialized_start=5163 + _globals['_DATAIMPORT']._serialized_end=6199 + _globals['_LISTDATAIMPORTSREQUEST']._serialized_start=6202 + _globals['_LISTDATAIMPORTSREQUEST']._serialized_end=6357 + _globals['_LISTDATAIMPORTSRESPONSE']._serialized_start=6360 + _globals['_LISTDATAIMPORTSRESPONSE']._serialized_end=6494 + _globals['_RETRYDATAIMPORTREQUEST']._serialized_start=6496 + _globals['_RETRYDATAIMPORTREQUEST']._serialized_end=6563 + _globals['_RETRYDATAIMPORTRESPONSE']._serialized_start=6565 + _globals['_RETRYDATAIMPORTRESPONSE']._serialized_end=6590 + _globals['_DATAIMPORTSERVICE']._serialized_start=7791 + _globals['_DATAIMPORTSERVICE']._serialized_end=9362 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/data_imports/v2/data_imports_pb2.pyi b/python/lib/sift/data_imports/v2/data_imports_pb2.pyi index bbc9189dd..5b00b00f8 100644 --- a/python/lib/sift/data_imports/v2/data_imports_pb2.pyi +++ b/python/lib/sift/data_imports/v2/data_imports_pb2.pyi @@ -69,6 +69,8 @@ class _DataTypeKeyEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._En DATA_TYPE_KEY_TDMS: _DataTypeKey.ValueType # 2 DATA_TYPE_KEY_CH10: _DataTypeKey.ValueType # 3 DATA_TYPE_KEY_PARQUET_FLATDATASET: _DataTypeKey.ValueType # 4 + DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW: _DataTypeKey.ValueType # 5 + DATA_TYPE_KEY_HDF5: _DataTypeKey.ValueType # 6 class DataTypeKey(_DataTypeKey, metaclass=_DataTypeKeyEnumTypeWrapper): ... @@ -77,6 +79,8 @@ DATA_TYPE_KEY_CSV: DataTypeKey.ValueType # 1 DATA_TYPE_KEY_TDMS: DataTypeKey.ValueType # 2 DATA_TYPE_KEY_CH10: DataTypeKey.ValueType # 3 DATA_TYPE_KEY_PARQUET_FLATDATASET: DataTypeKey.ValueType # 4 +DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW: DataTypeKey.ValueType # 5 +DATA_TYPE_KEY_HDF5: DataTypeKey.ValueType # 6 global___DataTypeKey = DataTypeKey class _ParquetComplexTypesImportMode: @@ -138,6 +142,7 @@ class CreateDataImportFromUrlRequest(google.protobuf.message.Message): CH10_CONFIG_FIELD_NUMBER: builtins.int TDMS_CONFIG_FIELD_NUMBER: builtins.int PARQUET_CONFIG_FIELD_NUMBER: builtins.int + HDF5_CONFIG_FIELD_NUMBER: builtins.int url: builtins.str """The url to import. HTTP and S3 urls are supported. If you need to import non-public S3 objects, please contact Sift to set that up. @@ -150,6 +155,8 @@ class CreateDataImportFromUrlRequest(google.protobuf.message.Message): def tdms_config(self) -> global___TDMSConfig: ... @property def parquet_config(self) -> global___ParquetConfig: ... + @property + def hdf5_config(self) -> global___Hdf5Config: ... def __init__( self, *, @@ -158,9 +165,10 @@ class CreateDataImportFromUrlRequest(google.protobuf.message.Message): ch10_config: global___Ch10Config | None = ..., tdms_config: global___TDMSConfig | None = ..., parquet_config: global___ParquetConfig | None = ..., + hdf5_config: global___Hdf5Config | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config", "url", b"url"]) -> None: ... + def HasField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config", "url", b"url"]) -> None: ... global___CreateDataImportFromUrlRequest = CreateDataImportFromUrlRequest @@ -219,6 +227,7 @@ class CreateDataImportFromUploadRequest(google.protobuf.message.Message): CH10_CONFIG_FIELD_NUMBER: builtins.int TDMS_CONFIG_FIELD_NUMBER: builtins.int PARQUET_CONFIG_FIELD_NUMBER: builtins.int + HDF5_CONFIG_FIELD_NUMBER: builtins.int @property def csv_config(self) -> global___CsvConfig: ... @property @@ -227,6 +236,8 @@ class CreateDataImportFromUploadRequest(google.protobuf.message.Message): def tdms_config(self) -> global___TDMSConfig: ... @property def parquet_config(self) -> global___ParquetConfig: ... + @property + def hdf5_config(self) -> global___Hdf5Config: ... def __init__( self, *, @@ -234,9 +245,10 @@ class CreateDataImportFromUploadRequest(google.protobuf.message.Message): ch10_config: global___Ch10Config | None = ..., tdms_config: global___TDMSConfig | None = ..., parquet_config: global___ParquetConfig | None = ..., + hdf5_config: global___Hdf5Config | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> None: ... + def HasField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["ch10_config", b"ch10_config", "csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config", "tdms_config", b"tdms_config"]) -> None: ... global___CreateDataImportFromUploadRequest = CreateDataImportFromUploadRequest @@ -372,18 +384,22 @@ class DetectConfigResponse(google.protobuf.message.Message): CSV_CONFIG_FIELD_NUMBER: builtins.int PARQUET_CONFIG_FIELD_NUMBER: builtins.int + HDF5_CONFIG_FIELD_NUMBER: builtins.int @property def csv_config(self) -> global___CsvConfig: ... @property def parquet_config(self) -> global___ParquetConfig: ... + @property + def hdf5_config(self) -> global___Hdf5Config: ... def __init__( self, *, csv_config: global___CsvConfig | None = ..., parquet_config: global___ParquetConfig | None = ..., + hdf5_config: global___Hdf5Config | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["csv_config", b"csv_config", "parquet_config", b"parquet_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["csv_config", b"csv_config", "parquet_config", b"parquet_config"]) -> None: ... + def HasField(self, field_name: typing.Literal["csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["csv_config", b"csv_config", "hdf5_config", b"hdf5_config", "parquet_config", b"parquet_config"]) -> None: ... global___DetectConfigResponse = DetectConfigResponse @@ -490,6 +506,26 @@ class ParquetDataColumn(google.protobuf.message.Message): global___ParquetDataColumn = ParquetDataColumn +@typing.final +class ParquetColumn(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + PATH_FIELD_NUMBER: builtins.int + COLUMN_CONFIG_FIELD_NUMBER: builtins.int + path: builtins.str + @property + def column_config(self) -> sift.common.type.v1.channel_config_pb2.ChannelConfig: ... + def __init__( + self, + *, + path: builtins.str = ..., + column_config: sift.common.type.v1.channel_config_pb2.ChannelConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["column_config", b"column_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["column_config", b"column_config", "path", b"path"]) -> None: ... + +global___ParquetColumn = ParquetColumn + @typing.final class ParquetFlatDatasetConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -511,6 +547,82 @@ class ParquetFlatDatasetConfig(google.protobuf.message.Message): global___ParquetFlatDatasetConfig = ParquetFlatDatasetConfig +@typing.final +class ParquetSingleChannelPerRowMultiChannelConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + NAME_PATH_FIELD_NUMBER: builtins.int + DATA_PATH_FIELD_NUMBER: builtins.int + name_path: builtins.str + data_path: builtins.str + def __init__( + self, + *, + name_path: builtins.str = ..., + data_path: builtins.str = ..., + ) -> None: ... + def ClearField(self, field_name: typing.Literal["data_path", b"data_path", "name_path", b"name_path"]) -> None: ... + +global___ParquetSingleChannelPerRowMultiChannelConfig = ParquetSingleChannelPerRowMultiChannelConfig + +@typing.final +class ParquetSingleChannelPerRowSingleChannelConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + DATA_PATH_FIELD_NUMBER: builtins.int + CHANNEL_FIELD_NUMBER: builtins.int + data_path: builtins.str + @property + def channel(self) -> sift.common.type.v1.channel_config_pb2.ChannelConfig: ... + def __init__( + self, + *, + data_path: builtins.str = ..., + channel: sift.common.type.v1.channel_config_pb2.ChannelConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["channel", b"channel"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["channel", b"channel", "data_path", b"data_path"]) -> None: ... + +global___ParquetSingleChannelPerRowSingleChannelConfig = ParquetSingleChannelPerRowSingleChannelConfig + +@typing.final +class ParquetSingleChannelPerRowConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIME_COLUMN_FIELD_NUMBER: builtins.int + COLUMNS_FIELD_NUMBER: builtins.int + SINGLE_CHANNEL_FIELD_NUMBER: builtins.int + MULTI_CHANNEL_FIELD_NUMBER: builtins.int + @property + def time_column(self) -> global___ParquetTimeColumn: + """Timestamp column configuration.""" + + @property + def columns(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ParquetColumn]: + """Detected columns.""" + + @property + def single_channel(self) -> global___ParquetSingleChannelPerRowSingleChannelConfig: + """Single channel per file configuration.""" + + @property + def multi_channel(self) -> global___ParquetSingleChannelPerRowMultiChannelConfig: + """Multi-channel per file configuration.""" + + def __init__( + self, + *, + time_column: global___ParquetTimeColumn | None = ..., + columns: collections.abc.Iterable[global___ParquetColumn] | None = ..., + single_channel: global___ParquetSingleChannelPerRowSingleChannelConfig | None = ..., + multi_channel: global___ParquetSingleChannelPerRowMultiChannelConfig | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["config", b"config", "multi_channel", b"multi_channel", "single_channel", b"single_channel", "time_column", b"time_column"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["columns", b"columns", "config", b"config", "multi_channel", b"multi_channel", "single_channel", b"single_channel", "time_column", b"time_column"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["config", b"config"]) -> typing.Literal["single_channel", "multi_channel"] | None: ... + +global___ParquetSingleChannelPerRowConfig = ParquetSingleChannelPerRowConfig + @typing.final class ParquetConfig(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -519,6 +631,7 @@ class ParquetConfig(google.protobuf.message.Message): RUN_NAME_FIELD_NUMBER: builtins.int RUN_ID_FIELD_NUMBER: builtins.int FLAT_DATASET_FIELD_NUMBER: builtins.int + SINGLE_CHANNEL_PER_ROW_FIELD_NUMBER: builtins.int FOOTER_OFFSET_FIELD_NUMBER: builtins.int FOOTER_LENGTH_FIELD_NUMBER: builtins.int COMPLEX_TYPES_IMPORT_MODE_FIELD_NUMBER: builtins.int @@ -531,6 +644,8 @@ class ParquetConfig(google.protobuf.message.Message): complex_types_import_mode: global___ParquetComplexTypesImportMode.ValueType @property def flat_dataset(self) -> global___ParquetFlatDatasetConfig: ... + @property + def single_channel_per_row(self) -> global___ParquetSingleChannelPerRowConfig: ... def __init__( self, *, @@ -538,16 +653,92 @@ class ParquetConfig(google.protobuf.message.Message): run_name: builtins.str = ..., run_id: builtins.str = ..., flat_dataset: global___ParquetFlatDatasetConfig | None = ..., + single_channel_per_row: global___ParquetSingleChannelPerRowConfig | None = ..., footer_offset: builtins.int = ..., footer_length: builtins.int = ..., complex_types_import_mode: global___ParquetComplexTypesImportMode.ValueType = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["config", b"config", "flat_dataset", b"flat_dataset"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["asset_name", b"asset_name", "complex_types_import_mode", b"complex_types_import_mode", "config", b"config", "flat_dataset", b"flat_dataset", "footer_length", b"footer_length", "footer_offset", b"footer_offset", "run_id", b"run_id", "run_name", b"run_name"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["config", b"config"]) -> typing.Literal["flat_dataset"] | None: ... + def HasField(self, field_name: typing.Literal["config", b"config", "flat_dataset", b"flat_dataset", "single_channel_per_row", b"single_channel_per_row"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["asset_name", b"asset_name", "complex_types_import_mode", b"complex_types_import_mode", "config", b"config", "flat_dataset", b"flat_dataset", "footer_length", b"footer_length", "footer_offset", b"footer_offset", "run_id", b"run_id", "run_name", b"run_name", "single_channel_per_row", b"single_channel_per_row"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["config", b"config"]) -> typing.Literal["flat_dataset", "single_channel_per_row"] | None: ... global___ParquetConfig = ParquetConfig +@typing.final +class Hdf5DataConfig(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + TIME_DATASET_FIELD_NUMBER: builtins.int + TIME_INDEX_FIELD_NUMBER: builtins.int + VALUE_DATASET_FIELD_NUMBER: builtins.int + VALUE_INDEX_FIELD_NUMBER: builtins.int + CHANNEL_CONFIG_FIELD_NUMBER: builtins.int + TIME_FIELD_FIELD_NUMBER: builtins.int + VALUE_FIELD_FIELD_NUMBER: builtins.int + time_dataset: builtins.str + time_index: builtins.int + value_dataset: builtins.str + value_index: builtins.int + time_field: builtins.str + """For compound types, allow specifying which fields to use.""" + value_field: builtins.str + @property + def channel_config(self) -> sift.common.type.v1.channel_config_pb2.ChannelConfig: ... + def __init__( + self, + *, + time_dataset: builtins.str = ..., + time_index: builtins.int = ..., + value_dataset: builtins.str = ..., + value_index: builtins.int = ..., + channel_config: sift.common.type.v1.channel_config_pb2.ChannelConfig | None = ..., + time_field: builtins.str | None = ..., + value_field: builtins.str | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_time_field", b"_time_field", "_value_field", b"_value_field", "channel_config", b"channel_config", "time_field", b"time_field", "value_field", b"value_field"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_time_field", b"_time_field", "_value_field", b"_value_field", "channel_config", b"channel_config", "time_dataset", b"time_dataset", "time_field", b"time_field", "time_index", b"time_index", "value_dataset", b"value_dataset", "value_field", b"value_field", "value_index", b"value_index"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_time_field", b"_time_field"]) -> typing.Literal["time_field"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_value_field", b"_value_field"]) -> typing.Literal["value_field"] | None: ... + +global___Hdf5DataConfig = Hdf5DataConfig + +@typing.final +class Hdf5Config(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ASSET_NAME_FIELD_NUMBER: builtins.int + RUN_NAME_FIELD_NUMBER: builtins.int + RUN_ID_FIELD_NUMBER: builtins.int + DATA_FIELD_NUMBER: builtins.int + TIME_FORMAT_FIELD_NUMBER: builtins.int + RELATIVE_START_TIME_FIELD_NUMBER: builtins.int + asset_name: builtins.str + run_name: builtins.str + run_id: builtins.str + """The id of the run to add this data to. If set, `run_name` is ignored.""" + time_format: global___TimeFormat.ValueType + @property + def data(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Hdf5DataConfig]: ... + @property + def relative_start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... + def __init__( + self, + *, + asset_name: builtins.str = ..., + run_name: builtins.str = ..., + run_id: builtins.str = ..., + data: collections.abc.Iterable[global___Hdf5DataConfig] | None = ..., + time_format: global___TimeFormat.ValueType = ..., + relative_start_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., + ) -> None: ... + def HasField(self, field_name: typing.Literal["_relative_start_time", b"_relative_start_time", "relative_start_time", b"relative_start_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_relative_start_time", b"_relative_start_time", "asset_name", b"asset_name", "data", b"data", "relative_start_time", b"relative_start_time", "run_id", b"run_id", "run_name", b"run_name", "time_format", b"time_format"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_relative_start_time", b"_relative_start_time"]) -> typing.Literal["relative_start_time"] | None: ... + +global___Hdf5Config = Hdf5Config + @typing.final class DataImport(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor @@ -562,6 +753,7 @@ class DataImport(google.protobuf.message.Message): CH10_CONFIG_FIELD_NUMBER: builtins.int TDMS_CONFIG_FIELD_NUMBER: builtins.int PARQUET_CONFIG_FIELD_NUMBER: builtins.int + HDF5_CONFIG_FIELD_NUMBER: builtins.int RUN_ID_FIELD_NUMBER: builtins.int REPORT_ID_FIELD_NUMBER: builtins.int ASSET_ID_FIELD_NUMBER: builtins.int @@ -589,6 +781,8 @@ class DataImport(google.protobuf.message.Message): @property def parquet_config(self) -> global___ParquetConfig: ... @property + def hdf5_config(self) -> global___Hdf5Config: ... + @property def data_start_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property def data_stop_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @@ -605,14 +799,15 @@ class DataImport(google.protobuf.message.Message): ch10_config: global___Ch10Config | None = ..., tdms_config: global___TDMSConfig | None = ..., parquet_config: global___ParquetConfig | None = ..., + hdf5_config: global___Hdf5Config | None = ..., run_id: builtins.str | None = ..., report_id: builtins.str | None = ..., asset_id: builtins.str | None = ..., data_start_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., data_stop_time: google.protobuf.timestamp_pb2.Timestamp | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_asset_id", b"_asset_id", "_data_start_time", b"_data_start_time", "_data_stop_time", b"_data_stop_time", "_report_id", b"_report_id", "_run_id", b"_run_id", "asset_id", b"asset_id", "ch10_config", b"ch10_config", "created_date", b"created_date", "csv_config", b"csv_config", "data_start_time", b"data_start_time", "data_stop_time", b"data_stop_time", "modified_date", b"modified_date", "parquet_config", b"parquet_config", "report_id", b"report_id", "run_id", b"run_id", "tdms_config", b"tdms_config"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_asset_id", b"_asset_id", "_data_start_time", b"_data_start_time", "_data_stop_time", b"_data_stop_time", "_report_id", b"_report_id", "_run_id", b"_run_id", "asset_id", b"asset_id", "ch10_config", b"ch10_config", "created_date", b"created_date", "csv_config", b"csv_config", "data_import_id", b"data_import_id", "data_start_time", b"data_start_time", "data_stop_time", b"data_stop_time", "error_message", b"error_message", "modified_date", b"modified_date", "parquet_config", b"parquet_config", "report_id", b"report_id", "run_id", b"run_id", "source_url", b"source_url", "status", b"status", "tdms_config", b"tdms_config"]) -> None: ... + def HasField(self, field_name: typing.Literal["_asset_id", b"_asset_id", "_data_start_time", b"_data_start_time", "_data_stop_time", b"_data_stop_time", "_report_id", b"_report_id", "_run_id", b"_run_id", "asset_id", b"asset_id", "ch10_config", b"ch10_config", "created_date", b"created_date", "csv_config", b"csv_config", "data_start_time", b"data_start_time", "data_stop_time", b"data_stop_time", "hdf5_config", b"hdf5_config", "modified_date", b"modified_date", "parquet_config", b"parquet_config", "report_id", b"report_id", "run_id", b"run_id", "tdms_config", b"tdms_config"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_asset_id", b"_asset_id", "_data_start_time", b"_data_start_time", "_data_stop_time", b"_data_stop_time", "_report_id", b"_report_id", "_run_id", b"_run_id", "asset_id", b"asset_id", "ch10_config", b"ch10_config", "created_date", b"created_date", "csv_config", b"csv_config", "data_import_id", b"data_import_id", "data_start_time", b"data_start_time", "data_stop_time", b"data_stop_time", "error_message", b"error_message", "hdf5_config", b"hdf5_config", "modified_date", b"modified_date", "parquet_config", b"parquet_config", "report_id", b"report_id", "run_id", b"run_id", "source_url", b"source_url", "status", b"status", "tdms_config", b"tdms_config"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_asset_id", b"_asset_id"]) -> typing.Literal["asset_id"] | None: ... @typing.overload diff --git a/python/lib/sift/exports/v1/exports_pb2.py b/python/lib/sift/exports/v1/exports_pb2.py index 189fb9263..982bf2068 100644 --- a/python/lib/sift/exports/v1/exports_pb2.py +++ b/python/lib/sift/exports/v1/exports_pb2.py @@ -19,7 +19,7 @@ from sift.calculated_channels.v2 import calculated_channels_pb2 as sift_dot_calculated__channels_dot_v2_dot_calculated__channels__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dsift/exports/v1/exports.proto\x12\x0fsift.exports.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x35sift/calculated_channels/v2/calculated_channels.proto\"\xbe\x04\n\x11\x45xportDataRequest\x12;\n\ntime_range\x18\x01 \x01(\x0b\x32\x1a.sift.exports.v1.TimeRangeH\x00R\ttimeRange\x12R\n\x13runs_and_time_range\x18\x02 \x01(\x0b\x32!.sift.exports.v1.RunsAndTimeRangeH\x00R\x10runsAndTimeRange\x12X\n\x15\x61ssets_and_time_range\x18\x03 \x01(\x0b\x32#.sift.exports.v1.AssetsAndTimeRangeH\x00R\x12\x61ssetsAndTimeRange\x12$\n\x0b\x63hannel_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01R\nchannelIds\x12k\n\x1a\x63\x61lculated_channel_configs\x18\x05 \x03(\x0b\x32(.sift.exports.v1.CalculatedChannelConfigB\x03\xe0\x41\x01R\x18\x63\x61lculatedChannelConfigs\x12M\n\routput_format\x18\x06 \x01(\x0e\x32#.sift.exports.v1.ExportOutputFormatB\x03\xe0\x41\x02R\x0coutputFormat\x12J\n\x0e\x65xport_options\x18\x07 \x01(\x0b\x32\x1e.sift.exports.v1.ExportOptionsB\x03\xe0\x41\x02R\rexportOptionsB\x10\n\x0etime_selection\"\x89\x01\n\tTimeRange\x12>\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\"\xae\x01\n\x10RunsAndTimeRange\x12\x1c\n\x07run_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x06runIds\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\tstartTime\x12<\n\tstop_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x08stopTime\"\xb4\x01\n\x12\x41ssetsAndTimeRange\x12 \n\tasset_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x08\x61ssetIds\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\"\xfd\x01\n\x17\x43\x61lculatedChannelConfig\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12z\n\x12\x63hannel_references\x18\x03 \x03(\x0b\x32\x46.sift.calculated_channels.v2.CalculatedChannelAbstractChannelReferenceB\x03\xe0\x41\x02R\x11\x63hannelReferences\x12\x1e\n\x05units\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05units\x88\x01\x01\x42\x08\n\x06_units\"\xf6\x01\n\rExportOptions\x12*\n\x11use_legacy_format\x18\x01 \x01(\x08R\x0fuseLegacyFormat\x12\x34\n\x16simplify_channel_names\x18\x02 \x01(\x08R\x14simplifyChannelNames\x12!\n\x0c\x63ombine_runs\x18\x03 \x01(\x08R\x0b\x63ombineRuns\x12\x31\n\x15split_export_by_asset\x18\x04 \x01(\x08R\x12splitExportByAsset\x12-\n\x13split_export_by_run\x18\x05 \x01(\x08R\x10splitExportByRun\"Z\n\x12\x45xportDataResponse\x12(\n\rpresigned_url\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x0cpresignedUrl\x12\x1a\n\x06job_id\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x05jobId\"3\n\x15GetDownloadUrlRequest\x12\x1a\n\x06job_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05jobId\"B\n\x16GetDownloadUrlResponse\x12(\n\rpresigned_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cpresignedUrl*v\n\x12\x45xportOutputFormat\x12$\n EXPORT_OUTPUT_FORMAT_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x45XPORT_OUTPUT_FORMAT_CSV\x10\x01\x12\x1c\n\x18\x45XPORT_OUTPUT_FORMAT_SUN\x10\x02\x32\xf4\x02\n\rExportService\x12\x8d\x01\n\nExportData\x12\".sift.exports.v1.ExportDataRequest\x1a#.sift.exports.v1.ExportDataResponse\"6\x92\x41\x1a\x12\nExportData\x1a\x0c\x45xport data.\x82\xd3\xe4\x93\x02\x13\"\x0e/api/v1/export:\x01*\x12\xd2\x01\n\x0eGetDownloadUrl\x12&.sift.exports.v1.GetDownloadUrlRequest\x1a\'.sift.exports.v1.GetDownloadUrlResponse\"o\x92\x41@\x12\x0eGetDownloadUrl\x1a.Retrieve the download URL for a completed job.\x82\xd3\xe4\x93\x02&\x12$/api/v1/export/{job_id}/download-urlB\x97\x01\n\x13\x63om.sift.exports.v1B\x0c\x45xportsProtoP\x01\xa2\x02\x03SEX\xaa\x02\x0fSift.Exports.V1\xca\x02\x0fSift\\Exports\\V1\xe2\x02\x1bSift\\Exports\\V1\\GPBMetadata\xea\x02\x11Sift::Exports::V1\x92\x41\x13\x12\x11\n\x0f\x45xports serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1dsift/exports/v1/exports.proto\x12\x0fsift.exports.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x35sift/calculated_channels/v2/calculated_channels.proto\"\xbe\x04\n\x11\x45xportDataRequest\x12;\n\ntime_range\x18\x01 \x01(\x0b\x32\x1a.sift.exports.v1.TimeRangeH\x00R\ttimeRange\x12R\n\x13runs_and_time_range\x18\x02 \x01(\x0b\x32!.sift.exports.v1.RunsAndTimeRangeH\x00R\x10runsAndTimeRange\x12X\n\x15\x61ssets_and_time_range\x18\x03 \x01(\x0b\x32#.sift.exports.v1.AssetsAndTimeRangeH\x00R\x12\x61ssetsAndTimeRange\x12$\n\x0b\x63hannel_ids\x18\x04 \x03(\tB\x03\xe0\x41\x01R\nchannelIds\x12k\n\x1a\x63\x61lculated_channel_configs\x18\x05 \x03(\x0b\x32(.sift.exports.v1.CalculatedChannelConfigB\x03\xe0\x41\x01R\x18\x63\x61lculatedChannelConfigs\x12M\n\routput_format\x18\x06 \x01(\x0e\x32#.sift.exports.v1.ExportOutputFormatB\x03\xe0\x41\x02R\x0coutputFormat\x12J\n\x0e\x65xport_options\x18\x07 \x01(\x0b\x32\x1e.sift.exports.v1.ExportOptionsB\x03\xe0\x41\x02R\rexportOptionsB\x10\n\x0etime_selection\"\x89\x01\n\tTimeRange\x12>\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\"\xae\x01\n\x10RunsAndTimeRange\x12\x1c\n\x07run_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x06runIds\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\tstartTime\x12<\n\tstop_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x08stopTime\"\xb4\x01\n\x12\x41ssetsAndTimeRange\x12 \n\tasset_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x08\x61ssetIds\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\"\xfd\x01\n\x17\x43\x61lculatedChannelConfig\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12z\n\x12\x63hannel_references\x18\x03 \x03(\x0b\x32\x46.sift.calculated_channels.v2.CalculatedChannelAbstractChannelReferenceB\x03\xe0\x41\x02R\x11\x63hannelReferences\x12\x1e\n\x05units\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05units\x88\x01\x01\x42\x08\n\x06_units\"\xf6\x01\n\rExportOptions\x12*\n\x11use_legacy_format\x18\x01 \x01(\x08R\x0fuseLegacyFormat\x12\x34\n\x16simplify_channel_names\x18\x02 \x01(\x08R\x14simplifyChannelNames\x12!\n\x0c\x63ombine_runs\x18\x03 \x01(\x08R\x0b\x63ombineRuns\x12\x31\n\x15split_export_by_asset\x18\x04 \x01(\x08R\x12splitExportByAsset\x12-\n\x13split_export_by_run\x18\x05 \x01(\x08R\x10splitExportByRun\"\x88\x01\n\x12\x45xportDataResponse\x12(\n\rpresigned_url\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x0cpresignedUrl\x12\x1a\n\x06job_id\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x05jobId\x12,\n\x0fservice_message\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eserviceMessage\"3\n\x15GetDownloadUrlRequest\x12\x1a\n\x06job_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05jobId\"p\n\x16GetDownloadUrlResponse\x12(\n\rpresigned_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cpresignedUrl\x12,\n\x0fservice_message\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0eserviceMessage*\x98\x01\n\x12\x45xportOutputFormat\x12$\n EXPORT_OUTPUT_FORMAT_UNSPECIFIED\x10\x00\x12\x1c\n\x18\x45XPORT_OUTPUT_FORMAT_CSV\x10\x01\x12\x1c\n\x18\x45XPORT_OUTPUT_FORMAT_SUN\x10\x02\x12 \n\x1c\x45XPORT_OUTPUT_FORMAT_PARQUET\x10\x03\x32\xf4\x02\n\rExportService\x12\x8d\x01\n\nExportData\x12\".sift.exports.v1.ExportDataRequest\x1a#.sift.exports.v1.ExportDataResponse\"6\x92\x41\x1a\x12\nExportData\x1a\x0c\x45xport data.\x82\xd3\xe4\x93\x02\x13\"\x0e/api/v1/export:\x01*\x12\xd2\x01\n\x0eGetDownloadUrl\x12&.sift.exports.v1.GetDownloadUrlRequest\x1a\'.sift.exports.v1.GetDownloadUrlResponse\"o\x92\x41@\x12\x0eGetDownloadUrl\x1a.Retrieve the download URL for a completed job.\x82\xd3\xe4\x93\x02&\x12$/api/v1/export/{job_id}/download-urlB\x97\x01\n\x13\x63om.sift.exports.v1B\x0c\x45xportsProtoP\x01\xa2\x02\x03SEX\xaa\x02\x0fSift.Exports.V1\xca\x02\x0fSift\\Exports\\V1\xe2\x02\x1bSift\\Exports\\V1\\GPBMetadata\xea\x02\x11Sift::Exports::V1\x92\x41\x13\x12\x11\n\x0f\x45xports serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -63,16 +63,20 @@ _globals['_EXPORTDATARESPONSE'].fields_by_name['presigned_url']._serialized_options = b'\340A\001' _globals['_EXPORTDATARESPONSE'].fields_by_name['job_id']._loaded_options = None _globals['_EXPORTDATARESPONSE'].fields_by_name['job_id']._serialized_options = b'\340A\001' + _globals['_EXPORTDATARESPONSE'].fields_by_name['service_message']._loaded_options = None + _globals['_EXPORTDATARESPONSE'].fields_by_name['service_message']._serialized_options = b'\340A\001' _globals['_GETDOWNLOADURLREQUEST'].fields_by_name['job_id']._loaded_options = None _globals['_GETDOWNLOADURLREQUEST'].fields_by_name['job_id']._serialized_options = b'\340A\002' _globals['_GETDOWNLOADURLRESPONSE'].fields_by_name['presigned_url']._loaded_options = None _globals['_GETDOWNLOADURLRESPONSE'].fields_by_name['presigned_url']._serialized_options = b'\340A\002' + _globals['_GETDOWNLOADURLRESPONSE'].fields_by_name['service_message']._loaded_options = None + _globals['_GETDOWNLOADURLRESPONSE'].fields_by_name['service_message']._serialized_options = b'\340A\001' _globals['_EXPORTSERVICE'].methods_by_name['ExportData']._loaded_options = None _globals['_EXPORTSERVICE'].methods_by_name['ExportData']._serialized_options = b'\222A\032\022\nExportData\032\014Export data.\202\323\344\223\002\023\"\016/api/v1/export:\001*' _globals['_EXPORTSERVICE'].methods_by_name['GetDownloadUrl']._loaded_options = None _globals['_EXPORTSERVICE'].methods_by_name['GetDownloadUrl']._serialized_options = b'\222A@\022\016GetDownloadUrl\032.Retrieve the download URL for a completed job.\202\323\344\223\002&\022$/api/v1/export/{job_id}/download-url' - _globals['_EXPORTOUTPUTFORMAT']._serialized_start=2044 - _globals['_EXPORTOUTPUTFORMAT']._serialized_end=2162 + _globals['_EXPORTOUTPUTFORMAT']._serialized_start=2138 + _globals['_EXPORTOUTPUTFORMAT']._serialized_end=2290 _globals['_EXPORTDATAREQUEST']._serialized_start=250 _globals['_EXPORTDATAREQUEST']._serialized_end=824 _globals['_TIMERANGE']._serialized_start=827 @@ -85,12 +89,12 @@ _globals['_CALCULATEDCHANNELCONFIG']._serialized_end=1580 _globals['_EXPORTOPTIONS']._serialized_start=1583 _globals['_EXPORTOPTIONS']._serialized_end=1829 - _globals['_EXPORTDATARESPONSE']._serialized_start=1831 - _globals['_EXPORTDATARESPONSE']._serialized_end=1921 - _globals['_GETDOWNLOADURLREQUEST']._serialized_start=1923 - _globals['_GETDOWNLOADURLREQUEST']._serialized_end=1974 - _globals['_GETDOWNLOADURLRESPONSE']._serialized_start=1976 - _globals['_GETDOWNLOADURLRESPONSE']._serialized_end=2042 - _globals['_EXPORTSERVICE']._serialized_start=2165 - _globals['_EXPORTSERVICE']._serialized_end=2537 + _globals['_EXPORTDATARESPONSE']._serialized_start=1832 + _globals['_EXPORTDATARESPONSE']._serialized_end=1968 + _globals['_GETDOWNLOADURLREQUEST']._serialized_start=1970 + _globals['_GETDOWNLOADURLREQUEST']._serialized_end=2021 + _globals['_GETDOWNLOADURLRESPONSE']._serialized_start=2023 + _globals['_GETDOWNLOADURLRESPONSE']._serialized_end=2135 + _globals['_EXPORTSERVICE']._serialized_start=2293 + _globals['_EXPORTSERVICE']._serialized_end=2665 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/exports/v1/exports_pb2.pyi b/python/lib/sift/exports/v1/exports_pb2.pyi index d21e8039e..a91b2f426 100644 --- a/python/lib/sift/exports/v1/exports_pb2.pyi +++ b/python/lib/sift/exports/v1/exports_pb2.pyi @@ -30,12 +30,14 @@ class _ExportOutputFormatEnumTypeWrapper(google.protobuf.internal.enum_type_wrap EXPORT_OUTPUT_FORMAT_UNSPECIFIED: _ExportOutputFormat.ValueType # 0 EXPORT_OUTPUT_FORMAT_CSV: _ExportOutputFormat.ValueType # 1 EXPORT_OUTPUT_FORMAT_SUN: _ExportOutputFormat.ValueType # 2 + EXPORT_OUTPUT_FORMAT_PARQUET: _ExportOutputFormat.ValueType # 3 class ExportOutputFormat(_ExportOutputFormat, metaclass=_ExportOutputFormatEnumTypeWrapper): ... EXPORT_OUTPUT_FORMAT_UNSPECIFIED: ExportOutputFormat.ValueType # 0 EXPORT_OUTPUT_FORMAT_CSV: ExportOutputFormat.ValueType # 1 EXPORT_OUTPUT_FORMAT_SUN: ExportOutputFormat.ValueType # 2 +EXPORT_OUTPUT_FORMAT_PARQUET: ExportOutputFormat.ValueType # 3 global___ExportOutputFormat = ExportOutputFormat @typing.final @@ -225,19 +227,23 @@ class ExportDataResponse(google.protobuf.message.Message): PRESIGNED_URL_FIELD_NUMBER: builtins.int JOB_ID_FIELD_NUMBER: builtins.int + SERVICE_MESSAGE_FIELD_NUMBER: builtins.int presigned_url: builtins.str """Pre-signed URL of exported zip containing export files. This will be blank if the job is processed as a background job, in which case `job_id` will be non-empty. """ job_id: builtins.str """This will be non-empty if the export is being processed asynchronously in a background job.""" + service_message: builtins.str + """Optional message for the client to display in success or error notification (e.g. exclusions or 403 reason).""" def __init__( self, *, presigned_url: builtins.str = ..., job_id: builtins.str = ..., + service_message: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["job_id", b"job_id", "presigned_url", b"presigned_url"]) -> None: ... + def ClearField(self, field_name: typing.Literal["job_id", b"job_id", "presigned_url", b"presigned_url", "service_message", b"service_message"]) -> None: ... global___ExportDataResponse = ExportDataResponse @@ -261,12 +267,16 @@ class GetDownloadUrlResponse(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor PRESIGNED_URL_FIELD_NUMBER: builtins.int + SERVICE_MESSAGE_FIELD_NUMBER: builtins.int presigned_url: builtins.str + service_message: builtins.str + """Optional message for the client to display in success or error notification.""" def __init__( self, *, presigned_url: builtins.str = ..., + service_message: builtins.str = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["presigned_url", b"presigned_url"]) -> None: ... + def ClearField(self, field_name: typing.Literal["presigned_url", b"presigned_url", "service_message", b"service_message"]) -> None: ... global___GetDownloadUrlResponse = GetDownloadUrlResponse diff --git a/python/lib/sift/options/v1/__init__.py b/python/lib/sift/options/v1/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/options/v1/safe_to_log_pb2.py b/python/lib/sift/options/v1/safe_to_log_pb2.py deleted file mode 100644 index 3c569773c..000000000 --- a/python/lib/sift/options/v1/safe_to_log_pb2.py +++ /dev/null @@ -1,26 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: sift/options/v1/safe_to_log.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from google.protobuf import descriptor_pb2 as google_dot_protobuf_dot_descriptor__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n!sift/options/v1/safe_to_log.proto\x12\x0fsift.options.v1\x1a google/protobuf/descriptor.proto:A\n\x0bsafe_to_log\x12\x1f.google.protobuf.MessageOptions\x18\xf0\xa2\x04 \x01(\x08R\tsafeToLogB\x83\x01\n\x13\x63om.sift.options.v1B\x0eSafeToLogProtoP\x01\xa2\x02\x03SOX\xaa\x02\x0fSift.Options.V1\xca\x02\x0fSift\\Options\\V1\xe2\x02\x1bSift\\Options\\V1\\GPBMetadata\xea\x02\x11Sift::Options::V1b\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.options.v1.safe_to_log_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\023com.sift.options.v1B\016SafeToLogProtoP\001\242\002\003SOX\252\002\017Sift.Options.V1\312\002\017Sift\\Options\\V1\342\002\033Sift\\Options\\V1\\GPBMetadata\352\002\021Sift::Options::V1' -# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/options/v1/safe_to_log_pb2.pyi b/python/lib/sift/options/v1/safe_to_log_pb2.pyi deleted file mode 100644 index 8151c5c9d..000000000 --- a/python/lib/sift/options/v1/safe_to_log_pb2.pyi +++ /dev/null @@ -1,14 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import builtins -import google.protobuf.descriptor -import google.protobuf.descriptor_pb2 -import google.protobuf.internal.extension_dict - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -SAFE_TO_LOG_FIELD_NUMBER: builtins.int -safe_to_log: google.protobuf.internal.extension_dict._ExtensionFieldDescriptor[google.protobuf.descriptor_pb2.MessageOptions, builtins.bool] diff --git a/python/lib/sift/policies/__init__.py b/python/lib/sift/policies/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/policies/v1/__init__.py b/python/lib/sift/policies/v1/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/policies/v1/policies_pb2.py b/python/lib/sift/policies/v1/policies_pb2.py deleted file mode 100644 index 0e1e5a255..000000000 --- a/python/lib/sift/policies/v1/policies_pb2.py +++ /dev/null @@ -1,133 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: sift/policies/v1/policies.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 -from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x1fsift/policies/v1/policies.proto\x12\x10sift.policies.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\x86\x07\n\x06Policy\x12(\n\tpolicy_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x08policyId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12*\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12\x34\n\x0forganization_id\x18\x04 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0eorganizationId\x12\x38\n\x12\x63reated_by_user_id\x18\x05 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12:\n\x13modified_by_user_id\x18\x06 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12P\n\rconfiguration\x18\t \x01(\x0b\x32%.sift.policies.v1.PolicyConfigurationB\x03\xe0\x41\x02R\rconfiguration\x12\x37\n\x11policy_version_id\x18\n \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0fpolicyVersionId\x12\x44\n\rarchived_date\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x0c \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12\"\n\x07version\x18\r \x01(\x05\x42\x03\xe0\x41\x01H\x01R\x07version\x88\x01\x01\x12-\n\rversion_notes\x18\x0e \x01(\tB\x03\xe0\x41\x01H\x02R\x0cversionNotes\x88\x01\x01\x12\x42\n\x18generated_change_message\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x03R\x16generatedChangeMessage\x88\x01\x01\x42\x0e\n\x0c_descriptionB\n\n\x08_versionB\x10\n\x0e_version_notesB\x1b\n\x19_generated_change_message\"8\n\x13PolicyConfiguration\x12!\n\x0c\x63\x65\x64\x61r_policy\x18\x01 \x01(\tR\x0b\x63\x65\x64\x61rPolicy\"<\n\x10GetPolicyRequest\x12(\n\tpolicy_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x08policyId\"J\n\x11GetPolicyResponse\x12\x35\n\x06policy\x18\x01 \x01(\x0b\x32\x18.sift.policies.v1.PolicyB\x03\xe0\x41\x02R\x06policy\"\xc8\x01\n\x13ListPoliciesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12.\n\x10include_archived\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"t\n\x14ListPoliciesResponse\x12\x34\n\x08policies\x18\x01 \x03(\x0b\x32\x18.sift.policies.v1.PolicyR\x08policies\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xfd\x01\n\x13\x43reatePolicyRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12*\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\x0b\x64\x65scription\x88\x01\x01\x12P\n\rconfiguration\x18\x03 \x01(\x0b\x32%.sift.policies.v1.PolicyConfigurationB\x03\xe0\x41\x02R\rconfiguration\x12-\n\rversion_notes\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x01R\x0cversionNotes\x88\x01\x01\x42\x0e\n\x0c_descriptionB\x10\n\x0e_version_notes\"M\n\x14\x43reatePolicyResponse\x12\x35\n\x06policy\x18\x01 \x01(\x0b\x32\x18.sift.policies.v1.PolicyB\x03\xe0\x41\x02R\x06policy\"\xca\x01\n\x13UpdatePolicyRequest\x12\x35\n\x06policy\x18\x01 \x01(\x0b\x32\x18.sift.policies.v1.PolicyB\x03\xe0\x41\x02R\x06policy\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\x12(\n\rversion_notes\x18\x03 \x01(\tH\x00R\x0cversionNotes\x88\x01\x01\x42\x10\n\x0e_version_notes\"M\n\x14UpdatePolicyResponse\x12\x35\n\x06policy\x18\x01 \x01(\x0b\x32\x18.sift.policies.v1.PolicyB\x03\xe0\x41\x02R\x06policy\"@\n\x14\x41rchivePolicyRequest\x12(\n\tpolicy_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x08policyId\"N\n\x15\x41rchivePolicyResponse\x12\x35\n\x06policy\x18\x01 \x01(\x0b\x32\x18.sift.policies.v1.PolicyB\x03\xe0\x41\x02R\x06policy2\x91\x08\n\rPolicyService\x12\xb5\x01\n\tGetPolicy\x12\".sift.policies.v1.GetPolicyRequest\x1a#.sift.policies.v1.GetPolicyResponse\"_\x92\x41\x38\x12\tGetPolicy\x1a\x12Retrieve a policy.*\x17PolicyService_GetPolicy\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v1/policies/{policy_id}\x12\xd1\x01\n\x0cListPolicies\x12%.sift.policies.v1.ListPoliciesRequest\x1a&.sift.policies.v1.ListPoliciesResponse\"r\x92\x41W\x12\x0cListPolicies\x1a+Retrieve policies using an optional filter.*\x1aPolicyService_ListPolicies\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/policies\x12\xbd\x01\n\x0c\x43reatePolicy\x12%.sift.policies.v1.CreatePolicyRequest\x1a&.sift.policies.v1.CreatePolicyResponse\"^\x92\x41@\x12\x0c\x43reatePolicy\x1a\x14\x43reate a new policy.*\x1aPolicyService_CreatePolicy\x82\xd3\xe4\x93\x02\x15\"\x10/api/v1/policies:\x01*\x12\xb9\x01\n\x0cUpdatePolicy\x12%.sift.policies.v1.UpdatePolicyRequest\x1a&.sift.policies.v1.UpdatePolicyResponse\"Z\x92\x41<\x12\x0cUpdatePolicy\x1a\x10Update a policy.*\x1aPolicyService_UpdatePolicy\x82\xd3\xe4\x93\x02\x15\x32\x10/api/v1/policies:\x01*\x12\xd0\x01\n\rArchivePolicy\x12&.sift.policies.v1.ArchivePolicyRequest\x1a\'.sift.policies.v1.ArchivePolicyResponse\"n\x92\x41?\x12\rArchivePolicy\x1a\x11\x41rchive a policy.*\x1bPolicyService_ArchivePolicy\x82\xd3\xe4\x93\x02&\"$/api/v1/policies/{policy_id}/archive\x1a%\x92\x41\"\x12 Service to manage ABAC policies.B\x9c\x01\n\x14\x63om.sift.policies.v1B\rPoliciesProtoP\x01\xa2\x02\x03SPX\xaa\x02\x10Sift.Policies.V1\xca\x02\x10Sift\\Policies\\V1\xe2\x02\x1cSift\\Policies\\V1\\GPBMetadata\xea\x02\x12Sift::Policies::V1\x92\x41\x12\x12\x10\n\x0ePolicy serviceb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.policies.v1.policies_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\024com.sift.policies.v1B\rPoliciesProtoP\001\242\002\003SPX\252\002\020Sift.Policies.V1\312\002\020Sift\\Policies\\V1\342\002\034Sift\\Policies\\V1\\GPBMetadata\352\002\022Sift::Policies::V1\222A\022\022\020\n\016Policy service' - _globals['_POLICY'].fields_by_name['policy_id']._loaded_options = None - _globals['_POLICY'].fields_by_name['policy_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_POLICY'].fields_by_name['name']._loaded_options = None - _globals['_POLICY'].fields_by_name['name']._serialized_options = b'\340A\002' - _globals['_POLICY'].fields_by_name['description']._loaded_options = None - _globals['_POLICY'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_POLICY'].fields_by_name['organization_id']._loaded_options = None - _globals['_POLICY'].fields_by_name['organization_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_POLICY'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_POLICY'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_POLICY'].fields_by_name['modified_by_user_id']._loaded_options = None - _globals['_POLICY'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_POLICY'].fields_by_name['created_date']._loaded_options = None - _globals['_POLICY'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_POLICY'].fields_by_name['modified_date']._loaded_options = None - _globals['_POLICY'].fields_by_name['modified_date']._serialized_options = b'\340A\002' - _globals['_POLICY'].fields_by_name['configuration']._loaded_options = None - _globals['_POLICY'].fields_by_name['configuration']._serialized_options = b'\340A\002' - _globals['_POLICY'].fields_by_name['policy_version_id']._loaded_options = None - _globals['_POLICY'].fields_by_name['policy_version_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_POLICY'].fields_by_name['archived_date']._loaded_options = None - _globals['_POLICY'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_POLICY'].fields_by_name['is_archived']._loaded_options = None - _globals['_POLICY'].fields_by_name['is_archived']._serialized_options = b'\340A\002' - _globals['_POLICY'].fields_by_name['version']._loaded_options = None - _globals['_POLICY'].fields_by_name['version']._serialized_options = b'\340A\001' - _globals['_POLICY'].fields_by_name['version_notes']._loaded_options = None - _globals['_POLICY'].fields_by_name['version_notes']._serialized_options = b'\340A\001' - _globals['_POLICY'].fields_by_name['generated_change_message']._loaded_options = None - _globals['_POLICY'].fields_by_name['generated_change_message']._serialized_options = b'\340A\001' - _globals['_GETPOLICYREQUEST'].fields_by_name['policy_id']._loaded_options = None - _globals['_GETPOLICYREQUEST'].fields_by_name['policy_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETPOLICYRESPONSE'].fields_by_name['policy']._loaded_options = None - _globals['_GETPOLICYRESPONSE'].fields_by_name['policy']._serialized_options = b'\340A\002' - _globals['_LISTPOLICIESREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTPOLICIESREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTPOLICIESREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTPOLICIESREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTPOLICIESREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTPOLICIESREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTPOLICIESREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTPOLICIESREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTPOLICIESREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTPOLICIESREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_CREATEPOLICYREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_CREATEPOLICYREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002' - _globals['_CREATEPOLICYREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_CREATEPOLICYREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_CREATEPOLICYREQUEST'].fields_by_name['configuration']._loaded_options = None - _globals['_CREATEPOLICYREQUEST'].fields_by_name['configuration']._serialized_options = b'\340A\002' - _globals['_CREATEPOLICYREQUEST'].fields_by_name['version_notes']._loaded_options = None - _globals['_CREATEPOLICYREQUEST'].fields_by_name['version_notes']._serialized_options = b'\340A\001' - _globals['_CREATEPOLICYRESPONSE'].fields_by_name['policy']._loaded_options = None - _globals['_CREATEPOLICYRESPONSE'].fields_by_name['policy']._serialized_options = b'\340A\002' - _globals['_UPDATEPOLICYREQUEST'].fields_by_name['policy']._loaded_options = None - _globals['_UPDATEPOLICYREQUEST'].fields_by_name['policy']._serialized_options = b'\340A\002' - _globals['_UPDATEPOLICYREQUEST'].fields_by_name['update_mask']._loaded_options = None - _globals['_UPDATEPOLICYREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' - _globals['_UPDATEPOLICYRESPONSE'].fields_by_name['policy']._loaded_options = None - _globals['_UPDATEPOLICYRESPONSE'].fields_by_name['policy']._serialized_options = b'\340A\002' - _globals['_ARCHIVEPOLICYREQUEST'].fields_by_name['policy_id']._loaded_options = None - _globals['_ARCHIVEPOLICYREQUEST'].fields_by_name['policy_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_ARCHIVEPOLICYRESPONSE'].fields_by_name['policy']._loaded_options = None - _globals['_ARCHIVEPOLICYRESPONSE'].fields_by_name['policy']._serialized_options = b'\340A\002' - _globals['_POLICYSERVICE']._loaded_options = None - _globals['_POLICYSERVICE']._serialized_options = b'\222A\"\022 Service to manage ABAC policies.' - _globals['_POLICYSERVICE'].methods_by_name['GetPolicy']._loaded_options = None - _globals['_POLICYSERVICE'].methods_by_name['GetPolicy']._serialized_options = b'\222A8\022\tGetPolicy\032\022Retrieve a policy.*\027PolicyService_GetPolicy\202\323\344\223\002\036\022\034/api/v1/policies/{policy_id}' - _globals['_POLICYSERVICE'].methods_by_name['ListPolicies']._loaded_options = None - _globals['_POLICYSERVICE'].methods_by_name['ListPolicies']._serialized_options = b'\222AW\022\014ListPolicies\032+Retrieve policies using an optional filter.*\032PolicyService_ListPolicies\202\323\344\223\002\022\022\020/api/v1/policies' - _globals['_POLICYSERVICE'].methods_by_name['CreatePolicy']._loaded_options = None - _globals['_POLICYSERVICE'].methods_by_name['CreatePolicy']._serialized_options = b'\222A@\022\014CreatePolicy\032\024Create a new policy.*\032PolicyService_CreatePolicy\202\323\344\223\002\025\"\020/api/v1/policies:\001*' - _globals['_POLICYSERVICE'].methods_by_name['UpdatePolicy']._loaded_options = None - _globals['_POLICYSERVICE'].methods_by_name['UpdatePolicy']._serialized_options = b'\222A<\022\014UpdatePolicy\032\020Update a policy.*\032PolicyService_UpdatePolicy\202\323\344\223\002\0252\020/api/v1/policies:\001*' - _globals['_POLICYSERVICE'].methods_by_name['ArchivePolicy']._loaded_options = None - _globals['_POLICYSERVICE'].methods_by_name['ArchivePolicy']._serialized_options = b'\222A?\022\rArchivePolicy\032\021Archive a policy.*\033PolicyService_ArchivePolicy\202\323\344\223\002&\"$/api/v1/policies/{policy_id}/archive' - _globals['_POLICY']._serialized_start=261 - _globals['_POLICY']._serialized_end=1163 - _globals['_POLICYCONFIGURATION']._serialized_start=1165 - _globals['_POLICYCONFIGURATION']._serialized_end=1221 - _globals['_GETPOLICYREQUEST']._serialized_start=1223 - _globals['_GETPOLICYREQUEST']._serialized_end=1283 - _globals['_GETPOLICYRESPONSE']._serialized_start=1285 - _globals['_GETPOLICYRESPONSE']._serialized_end=1359 - _globals['_LISTPOLICIESREQUEST']._serialized_start=1362 - _globals['_LISTPOLICIESREQUEST']._serialized_end=1562 - _globals['_LISTPOLICIESRESPONSE']._serialized_start=1564 - _globals['_LISTPOLICIESRESPONSE']._serialized_end=1680 - _globals['_CREATEPOLICYREQUEST']._serialized_start=1683 - _globals['_CREATEPOLICYREQUEST']._serialized_end=1936 - _globals['_CREATEPOLICYRESPONSE']._serialized_start=1938 - _globals['_CREATEPOLICYRESPONSE']._serialized_end=2015 - _globals['_UPDATEPOLICYREQUEST']._serialized_start=2018 - _globals['_UPDATEPOLICYREQUEST']._serialized_end=2220 - _globals['_UPDATEPOLICYRESPONSE']._serialized_start=2222 - _globals['_UPDATEPOLICYRESPONSE']._serialized_end=2299 - _globals['_ARCHIVEPOLICYREQUEST']._serialized_start=2301 - _globals['_ARCHIVEPOLICYREQUEST']._serialized_end=2365 - _globals['_ARCHIVEPOLICYRESPONSE']._serialized_start=2367 - _globals['_ARCHIVEPOLICYRESPONSE']._serialized_end=2445 - _globals['_POLICYSERVICE']._serialized_start=2448 - _globals['_POLICYSERVICE']._serialized_end=3489 -# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/policies/v1/policies_pb2.pyi b/python/lib/sift/policies/v1/policies_pb2.pyi deleted file mode 100644 index 975c23c0d..000000000 --- a/python/lib/sift/policies/v1/policies_pb2.pyi +++ /dev/null @@ -1,360 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.field_mask_pb2 -import google.protobuf.internal.containers -import google.protobuf.message -import google.protobuf.timestamp_pb2 -import typing - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -@typing.final -class Policy(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_ID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - MODIFIED_DATE_FIELD_NUMBER: builtins.int - CONFIGURATION_FIELD_NUMBER: builtins.int - POLICY_VERSION_ID_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - IS_ARCHIVED_FIELD_NUMBER: builtins.int - VERSION_FIELD_NUMBER: builtins.int - VERSION_NOTES_FIELD_NUMBER: builtins.int - GENERATED_CHANGE_MESSAGE_FIELD_NUMBER: builtins.int - policy_id: builtins.str - name: builtins.str - description: builtins.str - organization_id: builtins.str - created_by_user_id: builtins.str - modified_by_user_id: builtins.str - policy_version_id: builtins.str - """Reference to the current policy version ID""" - is_archived: builtins.bool - version: builtins.int - """Optional version number for this policy""" - version_notes: builtins.str - """Optional notes for this version""" - generated_change_message: builtins.str - """Auto-generated change message for this version""" - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def configuration(self) -> global___PolicyConfiguration: - """Policy rules/configuration""" - - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - """The date the policy was archived.""" - - def __init__( - self, - *, - policy_id: builtins.str = ..., - name: builtins.str = ..., - description: builtins.str | None = ..., - organization_id: builtins.str = ..., - created_by_user_id: builtins.str = ..., - modified_by_user_id: builtins.str = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - configuration: global___PolicyConfiguration | None = ..., - policy_version_id: builtins.str = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - is_archived: builtins.bool = ..., - version: builtins.int | None = ..., - version_notes: builtins.str | None = ..., - generated_change_message: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_description", b"_description", "_generated_change_message", b"_generated_change_message", "_version", b"_version", "_version_notes", b"_version_notes", "archived_date", b"archived_date", "configuration", b"configuration", "created_date", b"created_date", "description", b"description", "generated_change_message", b"generated_change_message", "modified_date", b"modified_date", "version", b"version", "version_notes", b"version_notes"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_description", b"_description", "_generated_change_message", b"_generated_change_message", "_version", b"_version", "_version_notes", b"_version_notes", "archived_date", b"archived_date", "configuration", b"configuration", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "generated_change_message", b"generated_change_message", "is_archived", b"is_archived", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "policy_id", b"policy_id", "policy_version_id", b"policy_version_id", "version", b"version", "version_notes", b"version_notes"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_generated_change_message", b"_generated_change_message"]) -> typing.Literal["generated_change_message"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_version", b"_version"]) -> typing.Literal["version"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_version_notes", b"_version_notes"]) -> typing.Literal["version_notes"] | None: ... - -global___Policy = Policy - -@typing.final -class PolicyConfiguration(google.protobuf.message.Message): - """PolicyConfiguration represents the configuration and rules for a policy. - Expects a string containing a policy in the Cedar format - https://docs.cedarpolicy.com/policies/syntax-policy.html - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - CEDAR_POLICY_FIELD_NUMBER: builtins.int - cedar_policy: builtins.str - def __init__( - self, - *, - cedar_policy: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["cedar_policy", b"cedar_policy"]) -> None: ... - -global___PolicyConfiguration = PolicyConfiguration - -@typing.final -class GetPolicyRequest(google.protobuf.message.Message): - """The request for a call to `PolicyService_GetPolicy`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_ID_FIELD_NUMBER: builtins.int - policy_id: builtins.str - def __init__( - self, - *, - policy_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["policy_id", b"policy_id"]) -> None: ... - -global___GetPolicyRequest = GetPolicyRequest - -@typing.final -class GetPolicyResponse(google.protobuf.message.Message): - """The response of a call to `PolicyService_GetPolicy`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_FIELD_NUMBER: builtins.int - @property - def policy(self) -> global___Policy: ... - def __init__( - self, - *, - policy: global___Policy | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["policy", b"policy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["policy", b"policy"]) -> None: ... - -global___GetPolicyResponse = GetPolicyResponse - -@typing.final -class ListPoliciesRequest(google.protobuf.message.Message): - """The request for a call to `PolicyService_ListPolicies` to retrieve policies.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - page_size: builtins.int - """The maximum number of policies to return. The service may return fewer than this value. - If unspecified, at most 50 policies will be returned. The maximum value is 100; values above - 100 will be coerced to 100. Optional. - """ - page_token: builtins.str - """A page token, received from a previous `ListPolicies` call. - Provide this to retrieve the subsequent page. - When paginating, all other parameters provided to `ListPolicies` must match - the call that provided the page token. Optional. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `policy_id`, `organization_id`, `name`, `description`, - `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, `archived_date`, and `is_archived`. - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - For more information about the fields used for filtering, please refer to [this definition](/docs/api/grpc/protocol-buffers/policies#policy). Optional. - """ - order_by: builtins.str - """How to order the retrieved policies. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date`, `modified_date`, and `name`. - If left empty, items are ordered by `created_date` in descending order (newest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "created_date desc,modified_date" - """ - include_archived: builtins.bool - """Whether to include archived policies in the response. If false or unset, archived policies are excluded.""" - def __init__( - self, - *, - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListPoliciesRequest = ListPoliciesRequest - -@typing.final -class ListPoliciesResponse(google.protobuf.message.Message): - """The result of a call to `PolicyService_ListPolicies`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICIES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def policies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Policy]: ... - def __init__( - self, - *, - policies: collections.abc.Iterable[global___Policy] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "policies", b"policies"]) -> None: ... - -global___ListPoliciesResponse = ListPoliciesResponse - -@typing.final -class CreatePolicyRequest(google.protobuf.message.Message): - """The request for a call to `PolicyService_CreatePolicy` to create a new policy.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - CONFIGURATION_FIELD_NUMBER: builtins.int - VERSION_NOTES_FIELD_NUMBER: builtins.int - name: builtins.str - description: builtins.str - version_notes: builtins.str - """Optional notes for this version""" - @property - def configuration(self) -> global___PolicyConfiguration: - """Policy rules/configuration""" - - def __init__( - self, - *, - name: builtins.str = ..., - description: builtins.str | None = ..., - configuration: global___PolicyConfiguration | None = ..., - version_notes: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_description", b"_description", "_version_notes", b"_version_notes", "configuration", b"configuration", "description", b"description", "version_notes", b"version_notes"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_description", b"_description", "_version_notes", b"_version_notes", "configuration", b"configuration", "description", b"description", "name", b"name", "version_notes", b"version_notes"]) -> None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ... - @typing.overload - def WhichOneof(self, oneof_group: typing.Literal["_version_notes", b"_version_notes"]) -> typing.Literal["version_notes"] | None: ... - -global___CreatePolicyRequest = CreatePolicyRequest - -@typing.final -class CreatePolicyResponse(google.protobuf.message.Message): - """The response of a call to `PolicyService_CreatePolicy`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_FIELD_NUMBER: builtins.int - @property - def policy(self) -> global___Policy: ... - def __init__( - self, - *, - policy: global___Policy | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["policy", b"policy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["policy", b"policy"]) -> None: ... - -global___CreatePolicyResponse = CreatePolicyResponse - -@typing.final -class UpdatePolicyRequest(google.protobuf.message.Message): - """The request for a call to `PolicyService_UpdatePolicy` to update a policy.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_FIELD_NUMBER: builtins.int - UPDATE_MASK_FIELD_NUMBER: builtins.int - VERSION_NOTES_FIELD_NUMBER: builtins.int - version_notes: builtins.str - """Optional notes for the new policy version when configuration changes""" - @property - def policy(self) -> global___Policy: ... - @property - def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask: - """The list of fields to be updated. The fields available to be updated are `name`, `description`, `configuration`, and `is_archived`.""" - - def __init__( - self, - *, - policy: global___Policy | None = ..., - update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ..., - version_notes: builtins.str | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["_version_notes", b"_version_notes", "policy", b"policy", "update_mask", b"update_mask", "version_notes", b"version_notes"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_version_notes", b"_version_notes", "policy", b"policy", "update_mask", b"update_mask", "version_notes", b"version_notes"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["_version_notes", b"_version_notes"]) -> typing.Literal["version_notes"] | None: ... - -global___UpdatePolicyRequest = UpdatePolicyRequest - -@typing.final -class UpdatePolicyResponse(google.protobuf.message.Message): - """The response of a call to `PolicyService_UpdatePolicy`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_FIELD_NUMBER: builtins.int - @property - def policy(self) -> global___Policy: ... - def __init__( - self, - *, - policy: global___Policy | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["policy", b"policy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["policy", b"policy"]) -> None: ... - -global___UpdatePolicyResponse = UpdatePolicyResponse - -@typing.final -class ArchivePolicyRequest(google.protobuf.message.Message): - """The request for a call to `PolicyService_ArchivePolicy` to archive a policy.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_ID_FIELD_NUMBER: builtins.int - policy_id: builtins.str - def __init__( - self, - *, - policy_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["policy_id", b"policy_id"]) -> None: ... - -global___ArchivePolicyRequest = ArchivePolicyRequest - -@typing.final -class ArchivePolicyResponse(google.protobuf.message.Message): - """The response of a call to `PolicyService_ArchivePolicy`.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - POLICY_FIELD_NUMBER: builtins.int - @property - def policy(self) -> global___Policy: ... - def __init__( - self, - *, - policy: global___Policy | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["policy", b"policy"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["policy", b"policy"]) -> None: ... - -global___ArchivePolicyResponse = ArchivePolicyResponse diff --git a/python/lib/sift/policies/v1/policies_pb2_grpc.py b/python/lib/sift/policies/v1/policies_pb2_grpc.py deleted file mode 100644 index 2166aa316..000000000 --- a/python/lib/sift/policies/v1/policies_pb2_grpc.py +++ /dev/null @@ -1,203 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from sift.policies.v1 import policies_pb2 as sift_dot_policies_dot_v1_dot_policies__pb2 - - -class PolicyServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.GetPolicy = channel.unary_unary( - '/sift.policies.v1.PolicyService/GetPolicy', - request_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyRequest.SerializeToString, - response_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyResponse.FromString, - ) - self.ListPolicies = channel.unary_unary( - '/sift.policies.v1.PolicyService/ListPolicies', - request_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesRequest.SerializeToString, - response_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesResponse.FromString, - ) - self.CreatePolicy = channel.unary_unary( - '/sift.policies.v1.PolicyService/CreatePolicy', - request_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyRequest.SerializeToString, - response_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyResponse.FromString, - ) - self.UpdatePolicy = channel.unary_unary( - '/sift.policies.v1.PolicyService/UpdatePolicy', - request_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyRequest.SerializeToString, - response_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyResponse.FromString, - ) - self.ArchivePolicy = channel.unary_unary( - '/sift.policies.v1.PolicyService/ArchivePolicy', - request_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyRequest.SerializeToString, - response_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyResponse.FromString, - ) - - -class PolicyServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def GetPolicy(self, request, context): - """Retrieve a policy - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListPolicies(self, request, context): - """Retrieve policies using an optional filter. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreatePolicy(self, request, context): - """Create a policy - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdatePolicy(self, request, context): - """Update a policy - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchivePolicy(self, request, context): - """Archive a policy - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_PolicyServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'GetPolicy': grpc.unary_unary_rpc_method_handler( - servicer.GetPolicy, - request_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyRequest.FromString, - response_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyResponse.SerializeToString, - ), - 'ListPolicies': grpc.unary_unary_rpc_method_handler( - servicer.ListPolicies, - request_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesRequest.FromString, - response_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesResponse.SerializeToString, - ), - 'CreatePolicy': grpc.unary_unary_rpc_method_handler( - servicer.CreatePolicy, - request_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyRequest.FromString, - response_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyResponse.SerializeToString, - ), - 'UpdatePolicy': grpc.unary_unary_rpc_method_handler( - servicer.UpdatePolicy, - request_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyRequest.FromString, - response_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyResponse.SerializeToString, - ), - 'ArchivePolicy': grpc.unary_unary_rpc_method_handler( - servicer.ArchivePolicy, - request_deserializer=sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyRequest.FromString, - response_serializer=sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'sift.policies.v1.PolicyService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class PolicyService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def GetPolicy(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.policies.v1.PolicyService/GetPolicy', - sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyRequest.SerializeToString, - sift_dot_policies_dot_v1_dot_policies__pb2.GetPolicyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListPolicies(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.policies.v1.PolicyService/ListPolicies', - sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesRequest.SerializeToString, - sift_dot_policies_dot_v1_dot_policies__pb2.ListPoliciesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreatePolicy(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.policies.v1.PolicyService/CreatePolicy', - sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyRequest.SerializeToString, - sift_dot_policies_dot_v1_dot_policies__pb2.CreatePolicyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UpdatePolicy(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.policies.v1.PolicyService/UpdatePolicy', - sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyRequest.SerializeToString, - sift_dot_policies_dot_v1_dot_policies__pb2.UpdatePolicyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchivePolicy(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.policies.v1.PolicyService/ArchivePolicy', - sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyRequest.SerializeToString, - sift_dot_policies_dot_v1_dot_policies__pb2.ArchivePolicyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/python/lib/sift/policies/v1/policies_pb2_grpc.pyi b/python/lib/sift/policies/v1/policies_pb2_grpc.pyi deleted file mode 100644 index 3296d8b1a..000000000 --- a/python/lib/sift/policies/v1/policies_pb2_grpc.pyi +++ /dev/null @@ -1,124 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import abc -import collections.abc -import grpc -import grpc.aio -import sift.policies.v1.policies_pb2 -import typing - -_T = typing.TypeVar("_T") - -class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ... - -class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg] - ... - -class PolicyServiceStub: - def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ... - GetPolicy: grpc.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.GetPolicyRequest, - sift.policies.v1.policies_pb2.GetPolicyResponse, - ] - """Retrieve a policy""" - - ListPolicies: grpc.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.ListPoliciesRequest, - sift.policies.v1.policies_pb2.ListPoliciesResponse, - ] - """Retrieve policies using an optional filter.""" - - CreatePolicy: grpc.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.CreatePolicyRequest, - sift.policies.v1.policies_pb2.CreatePolicyResponse, - ] - """Create a policy""" - - UpdatePolicy: grpc.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.UpdatePolicyRequest, - sift.policies.v1.policies_pb2.UpdatePolicyResponse, - ] - """Update a policy""" - - ArchivePolicy: grpc.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.ArchivePolicyRequest, - sift.policies.v1.policies_pb2.ArchivePolicyResponse, - ] - """Archive a policy""" - -class PolicyServiceAsyncStub: - GetPolicy: grpc.aio.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.GetPolicyRequest, - sift.policies.v1.policies_pb2.GetPolicyResponse, - ] - """Retrieve a policy""" - - ListPolicies: grpc.aio.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.ListPoliciesRequest, - sift.policies.v1.policies_pb2.ListPoliciesResponse, - ] - """Retrieve policies using an optional filter.""" - - CreatePolicy: grpc.aio.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.CreatePolicyRequest, - sift.policies.v1.policies_pb2.CreatePolicyResponse, - ] - """Create a policy""" - - UpdatePolicy: grpc.aio.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.UpdatePolicyRequest, - sift.policies.v1.policies_pb2.UpdatePolicyResponse, - ] - """Update a policy""" - - ArchivePolicy: grpc.aio.UnaryUnaryMultiCallable[ - sift.policies.v1.policies_pb2.ArchivePolicyRequest, - sift.policies.v1.policies_pb2.ArchivePolicyResponse, - ] - """Archive a policy""" - -class PolicyServiceServicer(metaclass=abc.ABCMeta): - @abc.abstractmethod - def GetPolicy( - self, - request: sift.policies.v1.policies_pb2.GetPolicyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.policies.v1.policies_pb2.GetPolicyResponse, collections.abc.Awaitable[sift.policies.v1.policies_pb2.GetPolicyResponse]]: - """Retrieve a policy""" - - @abc.abstractmethod - def ListPolicies( - self, - request: sift.policies.v1.policies_pb2.ListPoliciesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.policies.v1.policies_pb2.ListPoliciesResponse, collections.abc.Awaitable[sift.policies.v1.policies_pb2.ListPoliciesResponse]]: - """Retrieve policies using an optional filter.""" - - @abc.abstractmethod - def CreatePolicy( - self, - request: sift.policies.v1.policies_pb2.CreatePolicyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.policies.v1.policies_pb2.CreatePolicyResponse, collections.abc.Awaitable[sift.policies.v1.policies_pb2.CreatePolicyResponse]]: - """Create a policy""" - - @abc.abstractmethod - def UpdatePolicy( - self, - request: sift.policies.v1.policies_pb2.UpdatePolicyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.policies.v1.policies_pb2.UpdatePolicyResponse, collections.abc.Awaitable[sift.policies.v1.policies_pb2.UpdatePolicyResponse]]: - """Update a policy""" - - @abc.abstractmethod - def ArchivePolicy( - self, - request: sift.policies.v1.policies_pb2.ArchivePolicyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.policies.v1.policies_pb2.ArchivePolicyResponse, collections.abc.Awaitable[sift.policies.v1.policies_pb2.ArchivePolicyResponse]]: - """Archive a policy""" - -def add_PolicyServiceServicer_to_server(servicer: PolicyServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ... diff --git a/python/lib/sift/remote_files/v1/remote_files_pb2.py b/python/lib/sift/remote_files/v1/remote_files_pb2.py index 9942582c2..fd925e686 100644 --- a/python/lib/sift/remote_files/v1/remote_files_pb2.py +++ b/python/lib/sift/remote_files/v1/remote_files_pb2.py @@ -20,7 +20,7 @@ from sift.metadata.v1 import metadata_pb2 as sift_dot_metadata_dot_v1_dot_metadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'sift/remote_files/v1/remote_files.proto\x12\x14sift.remote_files.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\x9d\x08\n\nRemoteFile\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12 \n\tentity_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x08\x65ntityId\x12\x46\n\x0b\x65ntity_type\x18\x04 \x01(\x0e\x32 .sift.remote_files.v1.EntityTypeB\x03\xe0\x41\x02R\nentityType\x12 \n\tfile_name\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x08\x66ileName\x12)\n\x0e\x66ile_mime_type\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0c\x66ileMimeType\x12\x37\n\x15\x66ile_content_encoding\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x13\x66ileContentEncoding\x12$\n\x0bstorage_key\x18\x08 \x01(\tB\x03\xe0\x41\x02R\nstorageKey\x12 \n\tfile_size\x18\t \x01(\x04\x42\x03\xe0\x41\x02R\x08\x66ileSize\x12*\n\x0b\x64\x65scription\x18\n \x01(\tB\x03\xe0\x41\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12Q\n\x0evideo_metadata\x18\x0b \x01(\x0b\x32#.sift.remote_files.v1.VideoMetadataB\x03\xe0\x41\x01H\x00R\rvideoMetadata\x12Q\n\x0eimage_metadata\x18\x0c \x01(\x0b\x32#.sift.remote_files.v1.ImageMetadataB\x03\xe0\x41\x01H\x00R\rimageMetadata\x12Q\n\x0e\x61udio_metadata\x18\x11 \x01(\x0b\x32#.sift.remote_files.v1.AudioMetadataB\x03\xe0\x41\x01H\x00R\raudioMetadata\x12\x30\n\x12\x63reated_by_user_id\x18\r \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x0e \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12M\n\x0fmetadata_values\x18\x12 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x0emetadataValuesB\n\n\x08metadataB\x0e\n\x0c_description\"\xb6\x01\n\rVideoMetadata\x12\x1b\n\x06height\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x06height\x12\x19\n\x05width\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x05width\x12.\n\x10\x64uration_seconds\x18\x03 \x01(\x02\x42\x03\xe0\x41\x01R\x0f\x64urationSeconds\x12=\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\ttimestamp\"G\n\rImageMetadata\x12\x1b\n\x06height\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x06height\x12\x19\n\x05width\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x05width\"~\n\rAudioMetadata\x12.\n\x10\x64uration_seconds\x18\x01 \x01(\x02\x42\x03\xe0\x41\x01R\x0f\x64urationSeconds\x12=\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\ttimestamp\"A\n\x14GetRemoteFileRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"_\n\x15GetRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"\xc9\x01\n\x16ListRemoteFilesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x86\x01\n\x17ListRemoteFilesResponse\x12\x43\n\x0cremote_files\x18\x01 \x03(\x0b\x32 .sift.remote_files.v1.RemoteFileR\x0bremoteFiles\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xa4\x06\n\x17\x43reateRemoteFileRequest\x12 \n\tfile_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08\x66ileName\x12 \n\tentity_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x08\x65ntityId\x12\x46\n\x0b\x65ntity_type\x18\x03 \x01(\x0e\x32 .sift.remote_files.v1.EntityTypeB\x03\xe0\x41\x02R\nentityType\x12)\n\x0e\x66ile_mime_type\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0c\x66ileMimeType\x12\x37\n\x15\x66ile_content_encoding\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x13\x66ileContentEncoding\x12 \n\tfile_size\x18\x06 \x01(\x04\x42\x03\xe0\x41\x02R\x08\x66ileSize\x12*\n\x0b\x64\x65scription\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12,\n\x0forganization_id\x18\x08 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12Q\n\x0evideo_metadata\x18\t \x01(\x0b\x32#.sift.remote_files.v1.VideoMetadataB\x03\xe0\x41\x01H\x00R\rvideoMetadata\x12Q\n\x0eimage_metadata\x18\n \x01(\x0b\x32#.sift.remote_files.v1.ImageMetadataB\x03\xe0\x41\x01H\x00R\rimageMetadata\x12Q\n\x0e\x61udio_metadata\x18\x0c \x01(\x0b\x32#.sift.remote_files.v1.AudioMetadataB\x03\xe0\x41\x01H\x00R\raudioMetadata\x12)\n\x0b\x63ustom_uuid\x18\x0b \x01(\tB\x03\xe0\x41\x01H\x02R\ncustomUuid\x88\x01\x01\x12M\n\x0fmetadata_values\x18\r \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x0emetadataValuesB\n\n\x08metadataB\x0e\n\x0c_descriptionB\x0e\n\x0c_custom_uuid\"b\n\x18\x43reateRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"D\n\x17\x44\x65leteRemoteFileRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"\x1a\n\x18\x44\x65leteRemoteFileResponse\"G\n\x1d\x42\x61tchDeleteRemoteFilesRequest\x12&\n\x0fremote_file_ids\x18\x01 \x03(\tR\rremoteFileIds\" \n\x1e\x42\x61tchDeleteRemoteFilesResponse\"\xa3\x01\n\x17UpdateRemoteFileRequest\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"b\n\x18UpdateRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"L\n\x1fGetRemoteFileDownloadUrlRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"J\n GetRemoteFileDownloadUrlResponse\x12&\n\x0c\x64ownload_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0b\x64ownloadUrl*\xc9\x01\n\nEntityType\x12\x1b\n\x17\x45NTITY_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NTITY_TYPE_RUN\x10\x01\x12\x1a\n\x16\x45NTITY_TYPE_ANNOTATION\x10\x02\x12\x15\n\x11\x45NTITY_TYPE_ASSET\x10\x03\x12\x1e\n\x1a\x45NTITY_TYPE_ANNOTATION_LOG\x10\x04\x12\x1b\n\x17\x45NTITY_TYPE_TEST_REPORT\x10\x05\x12\x19\n\x15\x45NTITY_TYPE_TEST_STEP\x10\x06\x32\xbf\x0c\n\x11RemoteFileService\x12\xc2\x01\n\rGetRemoteFile\x12*.sift.remote_files.v1.GetRemoteFileRequest\x1a+.sift.remote_files.v1.GetRemoteFileResponse\"X\x92\x41(\x12\rGetRemoteFile\x1a\x17Retrieve a remote file.\x82\xd3\xe4\x93\x02\'\x12%/api/v1/remote-files/{remote_file_id}\x12\xbe\x01\n\x10\x43reateRemoteFile\x12-.sift.remote_files.v1.CreateRemoteFileRequest\x1a..sift.remote_files.v1.CreateRemoteFileResponse\"K\x92\x41)\x12\x10\x43reateRemoteFile\x1a\x15\x43reate a remote file.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/remote-files:\x01*\x12\xb4\x01\n\x0fListRemoteFiles\x12,.sift.remote_files.v1.ListRemoteFilesRequest\x1a-.sift.remote_files.v1.ListRemoteFilesResponse\"D\x92\x41%\x12\x0fListRemoteFiles\x1a\x12List remote files.\x82\xd3\xe4\x93\x02\x16\x12\x14/api/v1/remote-files\x12\x84\x02\n\x10UpdateRemoteFile\x12-.sift.remote_files.v1.UpdateRemoteFileRequest\x1a..sift.remote_files.v1.UpdateRemoteFileResponse\"\x90\x01\x92\x41n\x12\x10UpdateRemoteFile\x1aZUpdates an existing remote file using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x19\x32\x14/api/v1/remote-files:\x01*\x12\xcc\x01\n\x10\x44\x65leteRemoteFile\x12-.sift.remote_files.v1.DeleteRemoteFileRequest\x1a..sift.remote_files.v1.DeleteRemoteFileResponse\"Y\x92\x41)\x12\x10\x44\x65leteRemoteFile\x1a\x15\x44\x65lete a remote file.\x82\xd3\xe4\x93\x02\'*%/api/v1/remote-files/{remote_file_id}\x12\x8f\x02\n\x16\x42\x61tchDeleteRemoteFiles\x12\x33.sift.remote_files.v1.BatchDeleteRemoteFilesRequest\x1a\x34.sift.remote_files.v1.BatchDeleteRemoteFilesResponse\"\x89\x01\x92\x41[\x12\x16\x42\x61tchDeleteRemoteFiles\x1a\x41\x42\x61tch delete remote files. Each batch is limited to 1000 records.\x82\xd3\xe4\x93\x02%\" /api/v1/remote-files:batchDelete:\x01*\x12\x84\x02\n\x18GetRemoteFileDownloadUrl\x12\x35.sift.remote_files.v1.GetRemoteFileDownloadUrlRequest\x1a\x36.sift.remote_files.v1.GetRemoteFileDownloadUrlResponse\"y\x92\x41<\x12\x10GetRemoteFileUrl\x1a(Gets a download URL for the remote file.\x82\xd3\xe4\x93\x02\x34\x12\x32/api/v1/remote-files/{remote_file_id}/download-urlB\xb3\x01\n\x18\x63om.sift.remote_files.v1B\x10RemoteFilesProtoP\x01\xa2\x02\x03SRX\xaa\x02\x13Sift.RemoteFiles.V1\xca\x02\x13Sift\\RemoteFiles\\V1\xe2\x02\x1fSift\\RemoteFiles\\V1\\GPBMetadata\xea\x02\x15Sift::RemoteFiles::V1\x92\x41\x16\x12\x14\n\x12RemoteFile serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\'sift/remote_files/v1/remote_files.proto\x12\x14sift.remote_files.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\xf2\x08\n\nRemoteFile\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12 \n\tentity_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x08\x65ntityId\x12\x46\n\x0b\x65ntity_type\x18\x04 \x01(\x0e\x32 .sift.remote_files.v1.EntityTypeB\x03\xe0\x41\x02R\nentityType\x12 \n\tfile_name\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x08\x66ileName\x12)\n\x0e\x66ile_mime_type\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0c\x66ileMimeType\x12\x37\n\x15\x66ile_content_encoding\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x13\x66ileContentEncoding\x12$\n\x0bstorage_key\x18\x08 \x01(\tB\x03\xe0\x41\x02R\nstorageKey\x12 \n\tfile_size\x18\t \x01(\x04\x42\x03\xe0\x41\x02R\x08\x66ileSize\x12*\n\x0b\x64\x65scription\x18\n \x01(\tB\x03\xe0\x41\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12Q\n\x0evideo_metadata\x18\x0b \x01(\x0b\x32#.sift.remote_files.v1.VideoMetadataB\x03\xe0\x41\x01H\x00R\rvideoMetadata\x12Q\n\x0eimage_metadata\x18\x0c \x01(\x0b\x32#.sift.remote_files.v1.ImageMetadataB\x03\xe0\x41\x01H\x00R\rimageMetadata\x12Q\n\x0e\x61udio_metadata\x18\x11 \x01(\x0b\x32#.sift.remote_files.v1.AudioMetadataB\x03\xe0\x41\x01H\x00R\raudioMetadata\x12\x30\n\x12\x63reated_by_user_id\x18\r \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x0e \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12M\n\x0fmetadata_values\x18\x12 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x0emetadataValues\x12S\n\x10remote_file_type\x18\x14 \x01(\x0e\x32$.sift.remote_files.v1.RemoteFileTypeB\x03\xe0\x41\x02R\x0eremoteFileTypeB\n\n\x08metadataB\x0e\n\x0c_description\"\xb6\x01\n\rVideoMetadata\x12\x1b\n\x06height\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x06height\x12\x19\n\x05width\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x05width\x12.\n\x10\x64uration_seconds\x18\x03 \x01(\x02\x42\x03\xe0\x41\x01R\x0f\x64urationSeconds\x12=\n\ttimestamp\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\ttimestamp\"G\n\rImageMetadata\x12\x1b\n\x06height\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x06height\x12\x19\n\x05width\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x05width\"~\n\rAudioMetadata\x12.\n\x10\x64uration_seconds\x18\x01 \x01(\x02\x42\x03\xe0\x41\x01R\x0f\x64urationSeconds\x12=\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\ttimestamp\"A\n\x14GetRemoteFileRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"_\n\x15GetRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"\xc9\x01\n\x16ListRemoteFilesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\x86\x01\n\x17ListRemoteFilesResponse\x12\x43\n\x0cremote_files\x18\x01 \x03(\x0b\x32 .sift.remote_files.v1.RemoteFileR\x0bremoteFiles\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xa4\x06\n\x17\x43reateRemoteFileRequest\x12 \n\tfile_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x08\x66ileName\x12 \n\tentity_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x08\x65ntityId\x12\x46\n\x0b\x65ntity_type\x18\x03 \x01(\x0e\x32 .sift.remote_files.v1.EntityTypeB\x03\xe0\x41\x02R\nentityType\x12)\n\x0e\x66ile_mime_type\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0c\x66ileMimeType\x12\x37\n\x15\x66ile_content_encoding\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x13\x66ileContentEncoding\x12 \n\tfile_size\x18\x06 \x01(\x04\x42\x03\xe0\x41\x02R\x08\x66ileSize\x12*\n\x0b\x64\x65scription\x18\x07 \x01(\tB\x03\xe0\x41\x01H\x01R\x0b\x64\x65scription\x88\x01\x01\x12,\n\x0forganization_id\x18\x08 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12Q\n\x0evideo_metadata\x18\t \x01(\x0b\x32#.sift.remote_files.v1.VideoMetadataB\x03\xe0\x41\x01H\x00R\rvideoMetadata\x12Q\n\x0eimage_metadata\x18\n \x01(\x0b\x32#.sift.remote_files.v1.ImageMetadataB\x03\xe0\x41\x01H\x00R\rimageMetadata\x12Q\n\x0e\x61udio_metadata\x18\x0c \x01(\x0b\x32#.sift.remote_files.v1.AudioMetadataB\x03\xe0\x41\x01H\x00R\raudioMetadata\x12)\n\x0b\x63ustom_uuid\x18\x0b \x01(\tB\x03\xe0\x41\x01H\x02R\ncustomUuid\x88\x01\x01\x12M\n\x0fmetadata_values\x18\r \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x0emetadataValuesB\n\n\x08metadataB\x0e\n\x0c_descriptionB\x0e\n\x0c_custom_uuid\"b\n\x18\x43reateRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"D\n\x17\x44\x65leteRemoteFileRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"\x1a\n\x18\x44\x65leteRemoteFileResponse\"G\n\x1d\x42\x61tchDeleteRemoteFilesRequest\x12&\n\x0fremote_file_ids\x18\x01 \x03(\tR\rremoteFileIds\" \n\x1e\x42\x61tchDeleteRemoteFilesResponse\"\xa3\x01\n\x17UpdateRemoteFileRequest\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"b\n\x18UpdateRemoteFileResponse\x12\x46\n\x0bremote_file\x18\x01 \x01(\x0b\x32 .sift.remote_files.v1.RemoteFileB\x03\xe0\x41\x02R\nremoteFile\"L\n\x1fGetRemoteFileDownloadUrlRequest\x12)\n\x0eremote_file_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cremoteFileId\"J\n GetRemoteFileDownloadUrlResponse\x12&\n\x0c\x64ownload_url\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0b\x64ownloadUrl*\xc8\x01\n\x0eRemoteFileType\x12 \n\x1cREMOTE_FILE_TYPE_UNSPECIFIED\x10\x00\x12\x1e\n\x1aREMOTE_FILE_TYPE_TELEMETRY\x10\x01\x12\x1a\n\x16REMOTE_FILE_TYPE_IMAGE\x10\x02\x12\x1a\n\x16REMOTE_FILE_TYPE_VIDEO\x10\x03\x12\x1a\n\x16REMOTE_FILE_TYPE_AUDIO\x10\x04\x12 \n\x1cREMOTE_FILE_TYPE_TEST_REPORT\x10\x05*\xc9\x01\n\nEntityType\x12\x1b\n\x17\x45NTITY_TYPE_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x45NTITY_TYPE_RUN\x10\x01\x12\x1a\n\x16\x45NTITY_TYPE_ANNOTATION\x10\x02\x12\x15\n\x11\x45NTITY_TYPE_ASSET\x10\x03\x12\x1e\n\x1a\x45NTITY_TYPE_ANNOTATION_LOG\x10\x04\x12\x1b\n\x17\x45NTITY_TYPE_TEST_REPORT\x10\x05\x12\x19\n\x15\x45NTITY_TYPE_TEST_STEP\x10\x06\x32\xbf\x0c\n\x11RemoteFileService\x12\xc2\x01\n\rGetRemoteFile\x12*.sift.remote_files.v1.GetRemoteFileRequest\x1a+.sift.remote_files.v1.GetRemoteFileResponse\"X\x92\x41(\x12\rGetRemoteFile\x1a\x17Retrieve a remote file.\x82\xd3\xe4\x93\x02\'\x12%/api/v1/remote-files/{remote_file_id}\x12\xbe\x01\n\x10\x43reateRemoteFile\x12-.sift.remote_files.v1.CreateRemoteFileRequest\x1a..sift.remote_files.v1.CreateRemoteFileResponse\"K\x92\x41)\x12\x10\x43reateRemoteFile\x1a\x15\x43reate a remote file.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/remote-files:\x01*\x12\xb4\x01\n\x0fListRemoteFiles\x12,.sift.remote_files.v1.ListRemoteFilesRequest\x1a-.sift.remote_files.v1.ListRemoteFilesResponse\"D\x92\x41%\x12\x0fListRemoteFiles\x1a\x12List remote files.\x82\xd3\xe4\x93\x02\x16\x12\x14/api/v1/remote-files\x12\x84\x02\n\x10UpdateRemoteFile\x12-.sift.remote_files.v1.UpdateRemoteFileRequest\x1a..sift.remote_files.v1.UpdateRemoteFileResponse\"\x90\x01\x92\x41n\x12\x10UpdateRemoteFile\x1aZUpdates an existing remote file using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x19\x32\x14/api/v1/remote-files:\x01*\x12\xcc\x01\n\x10\x44\x65leteRemoteFile\x12-.sift.remote_files.v1.DeleteRemoteFileRequest\x1a..sift.remote_files.v1.DeleteRemoteFileResponse\"Y\x92\x41)\x12\x10\x44\x65leteRemoteFile\x1a\x15\x44\x65lete a remote file.\x82\xd3\xe4\x93\x02\'*%/api/v1/remote-files/{remote_file_id}\x12\x8f\x02\n\x16\x42\x61tchDeleteRemoteFiles\x12\x33.sift.remote_files.v1.BatchDeleteRemoteFilesRequest\x1a\x34.sift.remote_files.v1.BatchDeleteRemoteFilesResponse\"\x89\x01\x92\x41[\x12\x16\x42\x61tchDeleteRemoteFiles\x1a\x41\x42\x61tch delete remote files. Each batch is limited to 1000 records.\x82\xd3\xe4\x93\x02%\" /api/v1/remote-files:batchDelete:\x01*\x12\x84\x02\n\x18GetRemoteFileDownloadUrl\x12\x35.sift.remote_files.v1.GetRemoteFileDownloadUrlRequest\x1a\x36.sift.remote_files.v1.GetRemoteFileDownloadUrlResponse\"y\x92\x41<\x12\x10GetRemoteFileUrl\x1a(Gets a download URL for the remote file.\x82\xd3\xe4\x93\x02\x34\x12\x32/api/v1/remote-files/{remote_file_id}/download-urlB\xb3\x01\n\x18\x63om.sift.remote_files.v1B\x10RemoteFilesProtoP\x01\xa2\x02\x03SRX\xaa\x02\x13Sift.RemoteFiles.V1\xca\x02\x13Sift\\RemoteFiles\\V1\xe2\x02\x1fSift\\RemoteFiles\\V1\\GPBMetadata\xea\x02\x15Sift::RemoteFiles::V1\x92\x41\x16\x12\x14\n\x12RemoteFile serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -64,6 +64,8 @@ _globals['_REMOTEFILE'].fields_by_name['modified_date']._serialized_options = b'\340A\002' _globals['_REMOTEFILE'].fields_by_name['metadata_values']._loaded_options = None _globals['_REMOTEFILE'].fields_by_name['metadata_values']._serialized_options = b'\340A\001' + _globals['_REMOTEFILE'].fields_by_name['remote_file_type']._loaded_options = None + _globals['_REMOTEFILE'].fields_by_name['remote_file_type']._serialized_options = b'\340A\002' _globals['_VIDEOMETADATA'].fields_by_name['height']._loaded_options = None _globals['_VIDEOMETADATA'].fields_by_name['height']._serialized_options = b'\340A\001' _globals['_VIDEOMETADATA'].fields_by_name['width']._loaded_options = None @@ -148,44 +150,46 @@ _globals['_REMOTEFILESERVICE'].methods_by_name['BatchDeleteRemoteFiles']._serialized_options = b'\222A[\022\026BatchDeleteRemoteFiles\032ABatch delete remote files. Each batch is limited to 1000 records.\202\323\344\223\002%\" /api/v1/remote-files:batchDelete:\001*' _globals['_REMOTEFILESERVICE'].methods_by_name['GetRemoteFileDownloadUrl']._loaded_options = None _globals['_REMOTEFILESERVICE'].methods_by_name['GetRemoteFileDownloadUrl']._serialized_options = b'\222A<\022\020GetRemoteFileUrl\032(Gets a download URL for the remote file.\202\323\344\223\0024\0222/api/v1/remote-files/{remote_file_id}/download-url' - _globals['_ENTITYTYPE']._serialized_start=3756 - _globals['_ENTITYTYPE']._serialized_end=3957 + _globals['_REMOTEFILETYPE']._serialized_start=3841 + _globals['_REMOTEFILETYPE']._serialized_end=4041 + _globals['_ENTITYTYPE']._serialized_start=4044 + _globals['_ENTITYTYPE']._serialized_end=4245 _globals['_REMOTEFILE']._serialized_start=277 - _globals['_REMOTEFILE']._serialized_end=1330 - _globals['_VIDEOMETADATA']._serialized_start=1333 - _globals['_VIDEOMETADATA']._serialized_end=1515 - _globals['_IMAGEMETADATA']._serialized_start=1517 - _globals['_IMAGEMETADATA']._serialized_end=1588 - _globals['_AUDIOMETADATA']._serialized_start=1590 - _globals['_AUDIOMETADATA']._serialized_end=1716 - _globals['_GETREMOTEFILEREQUEST']._serialized_start=1718 - _globals['_GETREMOTEFILEREQUEST']._serialized_end=1783 - _globals['_GETREMOTEFILERESPONSE']._serialized_start=1785 - _globals['_GETREMOTEFILERESPONSE']._serialized_end=1880 - _globals['_LISTREMOTEFILESREQUEST']._serialized_start=1883 - _globals['_LISTREMOTEFILESREQUEST']._serialized_end=2084 - _globals['_LISTREMOTEFILESRESPONSE']._serialized_start=2087 - _globals['_LISTREMOTEFILESRESPONSE']._serialized_end=2221 - _globals['_CREATEREMOTEFILEREQUEST']._serialized_start=2224 - _globals['_CREATEREMOTEFILEREQUEST']._serialized_end=3028 - _globals['_CREATEREMOTEFILERESPONSE']._serialized_start=3030 - _globals['_CREATEREMOTEFILERESPONSE']._serialized_end=3128 - _globals['_DELETEREMOTEFILEREQUEST']._serialized_start=3130 - _globals['_DELETEREMOTEFILEREQUEST']._serialized_end=3198 - _globals['_DELETEREMOTEFILERESPONSE']._serialized_start=3200 - _globals['_DELETEREMOTEFILERESPONSE']._serialized_end=3226 - _globals['_BATCHDELETEREMOTEFILESREQUEST']._serialized_start=3228 - _globals['_BATCHDELETEREMOTEFILESREQUEST']._serialized_end=3299 - _globals['_BATCHDELETEREMOTEFILESRESPONSE']._serialized_start=3301 - _globals['_BATCHDELETEREMOTEFILESRESPONSE']._serialized_end=3333 - _globals['_UPDATEREMOTEFILEREQUEST']._serialized_start=3336 - _globals['_UPDATEREMOTEFILEREQUEST']._serialized_end=3499 - _globals['_UPDATEREMOTEFILERESPONSE']._serialized_start=3501 - _globals['_UPDATEREMOTEFILERESPONSE']._serialized_end=3599 - _globals['_GETREMOTEFILEDOWNLOADURLREQUEST']._serialized_start=3601 - _globals['_GETREMOTEFILEDOWNLOADURLREQUEST']._serialized_end=3677 - _globals['_GETREMOTEFILEDOWNLOADURLRESPONSE']._serialized_start=3679 - _globals['_GETREMOTEFILEDOWNLOADURLRESPONSE']._serialized_end=3753 - _globals['_REMOTEFILESERVICE']._serialized_start=3960 - _globals['_REMOTEFILESERVICE']._serialized_end=5559 + _globals['_REMOTEFILE']._serialized_end=1415 + _globals['_VIDEOMETADATA']._serialized_start=1418 + _globals['_VIDEOMETADATA']._serialized_end=1600 + _globals['_IMAGEMETADATA']._serialized_start=1602 + _globals['_IMAGEMETADATA']._serialized_end=1673 + _globals['_AUDIOMETADATA']._serialized_start=1675 + _globals['_AUDIOMETADATA']._serialized_end=1801 + _globals['_GETREMOTEFILEREQUEST']._serialized_start=1803 + _globals['_GETREMOTEFILEREQUEST']._serialized_end=1868 + _globals['_GETREMOTEFILERESPONSE']._serialized_start=1870 + _globals['_GETREMOTEFILERESPONSE']._serialized_end=1965 + _globals['_LISTREMOTEFILESREQUEST']._serialized_start=1968 + _globals['_LISTREMOTEFILESREQUEST']._serialized_end=2169 + _globals['_LISTREMOTEFILESRESPONSE']._serialized_start=2172 + _globals['_LISTREMOTEFILESRESPONSE']._serialized_end=2306 + _globals['_CREATEREMOTEFILEREQUEST']._serialized_start=2309 + _globals['_CREATEREMOTEFILEREQUEST']._serialized_end=3113 + _globals['_CREATEREMOTEFILERESPONSE']._serialized_start=3115 + _globals['_CREATEREMOTEFILERESPONSE']._serialized_end=3213 + _globals['_DELETEREMOTEFILEREQUEST']._serialized_start=3215 + _globals['_DELETEREMOTEFILEREQUEST']._serialized_end=3283 + _globals['_DELETEREMOTEFILERESPONSE']._serialized_start=3285 + _globals['_DELETEREMOTEFILERESPONSE']._serialized_end=3311 + _globals['_BATCHDELETEREMOTEFILESREQUEST']._serialized_start=3313 + _globals['_BATCHDELETEREMOTEFILESREQUEST']._serialized_end=3384 + _globals['_BATCHDELETEREMOTEFILESRESPONSE']._serialized_start=3386 + _globals['_BATCHDELETEREMOTEFILESRESPONSE']._serialized_end=3418 + _globals['_UPDATEREMOTEFILEREQUEST']._serialized_start=3421 + _globals['_UPDATEREMOTEFILEREQUEST']._serialized_end=3584 + _globals['_UPDATEREMOTEFILERESPONSE']._serialized_start=3586 + _globals['_UPDATEREMOTEFILERESPONSE']._serialized_end=3684 + _globals['_GETREMOTEFILEDOWNLOADURLREQUEST']._serialized_start=3686 + _globals['_GETREMOTEFILEDOWNLOADURLREQUEST']._serialized_end=3762 + _globals['_GETREMOTEFILEDOWNLOADURLRESPONSE']._serialized_start=3764 + _globals['_GETREMOTEFILEDOWNLOADURLRESPONSE']._serialized_end=3838 + _globals['_REMOTEFILESERVICE']._serialized_start=4248 + _globals['_REMOTEFILESERVICE']._serialized_end=5847 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/remote_files/v1/remote_files_pb2.pyi b/python/lib/sift/remote_files/v1/remote_files_pb2.pyi index 808536070..dd7dda716 100644 --- a/python/lib/sift/remote_files/v1/remote_files_pb2.pyi +++ b/python/lib/sift/remote_files/v1/remote_files_pb2.pyi @@ -22,6 +22,31 @@ else: DESCRIPTOR: google.protobuf.descriptor.FileDescriptor +class _RemoteFileType: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _RemoteFileTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_RemoteFileType.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + REMOTE_FILE_TYPE_UNSPECIFIED: _RemoteFileType.ValueType # 0 + REMOTE_FILE_TYPE_TELEMETRY: _RemoteFileType.ValueType # 1 + """Data import / telemetry (internal: created by import job).""" + REMOTE_FILE_TYPE_IMAGE: _RemoteFileType.ValueType # 2 + REMOTE_FILE_TYPE_VIDEO: _RemoteFileType.ValueType # 3 + REMOTE_FILE_TYPE_AUDIO: _RemoteFileType.ValueType # 4 + REMOTE_FILE_TYPE_TEST_REPORT: _RemoteFileType.ValueType # 5 + +class RemoteFileType(_RemoteFileType, metaclass=_RemoteFileTypeEnumTypeWrapper): ... + +REMOTE_FILE_TYPE_UNSPECIFIED: RemoteFileType.ValueType # 0 +REMOTE_FILE_TYPE_TELEMETRY: RemoteFileType.ValueType # 1 +"""Data import / telemetry (internal: created by import job).""" +REMOTE_FILE_TYPE_IMAGE: RemoteFileType.ValueType # 2 +REMOTE_FILE_TYPE_VIDEO: RemoteFileType.ValueType # 3 +REMOTE_FILE_TYPE_AUDIO: RemoteFileType.ValueType # 4 +REMOTE_FILE_TYPE_TEST_REPORT: RemoteFileType.ValueType # 5 +global___RemoteFileType = RemoteFileType + class _EntityType: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType @@ -69,6 +94,7 @@ class RemoteFile(google.protobuf.message.Message): CREATED_DATE_FIELD_NUMBER: builtins.int MODIFIED_DATE_FIELD_NUMBER: builtins.int METADATA_VALUES_FIELD_NUMBER: builtins.int + REMOTE_FILE_TYPE_FIELD_NUMBER: builtins.int remote_file_id: builtins.str organization_id: builtins.str entity_id: builtins.str @@ -81,6 +107,7 @@ class RemoteFile(google.protobuf.message.Message): description: builtins.str created_by_user_id: builtins.str modified_by_user_id: builtins.str + remote_file_type: global___RemoteFileType.ValueType @property def video_metadata(self) -> global___VideoMetadata: ... @property @@ -114,9 +141,10 @@ class RemoteFile(google.protobuf.message.Message): created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., metadata_values: collections.abc.Iterable[sift.metadata.v1.metadata_pb2.MetadataValue] | None = ..., + remote_file_type: global___RemoteFileType.ValueType = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["_description", b"_description", "audio_metadata", b"audio_metadata", "created_date", b"created_date", "description", b"description", "image_metadata", b"image_metadata", "metadata", b"metadata", "modified_date", b"modified_date", "video_metadata", b"video_metadata"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_description", b"_description", "audio_metadata", b"audio_metadata", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "entity_id", b"entity_id", "entity_type", b"entity_type", "file_content_encoding", b"file_content_encoding", "file_mime_type", b"file_mime_type", "file_name", b"file_name", "file_size", b"file_size", "image_metadata", b"image_metadata", "metadata", b"metadata", "metadata_values", b"metadata_values", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "organization_id", b"organization_id", "remote_file_id", b"remote_file_id", "storage_key", b"storage_key", "video_metadata", b"video_metadata"]) -> None: ... + def ClearField(self, field_name: typing.Literal["_description", b"_description", "audio_metadata", b"audio_metadata", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "entity_id", b"entity_id", "entity_type", b"entity_type", "file_content_encoding", b"file_content_encoding", "file_mime_type", b"file_mime_type", "file_name", b"file_name", "file_size", b"file_size", "image_metadata", b"image_metadata", "metadata", b"metadata", "metadata_values", b"metadata_values", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "organization_id", b"organization_id", "remote_file_id", b"remote_file_id", "remote_file_type", b"remote_file_type", "storage_key", b"storage_key", "video_metadata", b"video_metadata"]) -> None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_description", b"_description"]) -> typing.Literal["description"] | None: ... @typing.overload @@ -365,7 +393,10 @@ global___CreateRemoteFileRequest = CreateRemoteFileRequest @typing.final class CreateRemoteFileResponse(google.protobuf.message.Message): - """The response for a call to `RemoteFileService_CreateRemoteFile`.""" + """Internal only: source of the remote file (attachment vs import). Not exposed in responses; use RemoteFile.remote_file_type instead. + + The response for a call to `RemoteFileService_CreateRemoteFile`. + """ DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python/lib/sift/resource_attribute/__init__.py b/python/lib/sift/resource_attribute/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/resource_attribute/v1/__init__.py b/python/lib/sift/resource_attribute/v1/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.py b/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.py deleted file mode 100644 index 2eedef1e1..000000000 --- a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.py +++ /dev/null @@ -1,401 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: sift/resource_attribute/v1/resource_attribute.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 -from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3sift/resource_attribute/v1/resource_attribute.proto\x12\x1asift.resource_attribute.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xf8\x04\n\x14ResourceAttributeKey\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12\x34\n\x0forganization_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0eorganizationId\x12&\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12M\n\x04type\x18\x05 \x01(\x0e\x32\x34.sift.resource_attribute.v1.ResourceAttributeKeyTypeB\x03\xe0\x41\x02R\x04type\x12\x42\n\x0c\x63reated_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x38\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12:\n\x13modified_by_user_id\x18\t \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x10modifiedByUserId\x12\x44\n\rarchived_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\"\xce\x04\n\x1aResourceAttributeEnumValue\x12S\n resource_attribute_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x1cresourceAttributeEnumValueId\x12\x46\n\x19resource_attribute_key_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12&\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12\x42\n\x0c\x63reated_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x38\n\x12\x63reated_by_user_id\x18\x06 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12\x44\n\rmodified_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12:\n\x13modified_by_user_id\x18\x08 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x10modifiedByUserId\x12\x44\n\rarchived_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\"\xcf\x06\n\x11ResourceAttribute\x12?\n\x15resource_attribute_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13resourceAttributeId\x12\x34\n\x0forganization_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0eorganizationId\x12Z\n\x06\x65ntity\x18\x03 \x01(\x0b\x32=.sift.resource_attribute.v1.ResourceAttributeEntityIdentifierB\x03\xe0\x41\x02R\x06\x65ntity\x12\x46\n\x19resource_attribute_key_id\x18\x04 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12G\n\x03key\x18\x05 \x01(\x0b\x32\x30.sift.resource_attribute.v1.ResourceAttributeKeyB\x03\xe0\x41\x01R\x03key\x12R\n resource_attribute_enum_value_id\x18\x06 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x1cresourceAttributeEnumValueId\x12%\n\rboolean_value\x18\x07 \x01(\x08H\x00R\x0c\x62ooleanValue\x12#\n\x0cnumber_value\x18\x08 \x01(\x01H\x00R\x0bnumberValue\x12i\n\x12\x65num_value_details\x18\t \x01(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueB\x03\xe0\x41\x01R\x10\x65numValueDetails\x12\x42\n\x0c\x63reated_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x38\n\x12\x63reated_by_user_id\x18\x0b \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12\x44\n\rarchived_date\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDateB\x07\n\x05value\"\xac\x01\n!ResourceAttributeEntityIdentifier\x12(\n\tentity_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x08\x65ntityId\x12]\n\x0b\x65ntity_type\x18\x02 \x01(\x0e\x32\x37.sift.resource_attribute.v1.ResourceAttributeEntityTypeB\x03\xe0\x41\x02R\nentityType\"\xb2\x03\n!CreateResourceAttributeKeyRequest\x12&\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12M\n\x04type\x18\x03 \x01(\x0e\x32\x34.sift.resource_attribute.v1.ResourceAttributeKeyTypeB\x03\xe0\x41\x02R\x04type\x12\x8b\x01\n\x13initial_enum_values\x18\x04 \x03(\x0b\x32N.sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValueB\x0b\xe0\x41\x01\xbaH\x05\x92\x01\x02\x10\x64R\x11initialEnumValues\x1a\x61\n\x10InitialEnumValue\x12&\n\x0c\x64isplay_name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\"\xea\x01\n\"CreateResourceAttributeKeyResponse\x12k\n\x16resource_attribute_key\x18\x01 \x01(\x0b\x32\x30.sift.resource_attribute.v1.ResourceAttributeKeyB\x03\xe0\x41\x02R\x14resourceAttributeKey\x12W\n\x0b\x65num_values\x18\x02 \x03(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueR\nenumValues\"h\n\x1eGetResourceAttributeKeyRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\"\x8e\x01\n\x1fGetResourceAttributeKeyResponse\x12k\n\x16resource_attribute_key\x18\x01 \x01(\x0b\x32\x30.sift.resource_attribute.v1.ResourceAttributeKeyB\x03\xe0\x41\x02R\x14resourceAttributeKey\"\xd5\x01\n ListResourceAttributeKeysRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12.\n\x10include_archived\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"\xb5\x01\n!ListResourceAttributeKeysResponse\x12h\n\x17resource_attribute_keys\x18\x01 \x03(\x0b\x32\x30.sift.resource_attribute.v1.ResourceAttributeKeyR\x15resourceAttributeKeys\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xfc\x01\n!UpdateResourceAttributeKeyRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12&\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12@\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"\x91\x01\n\"UpdateResourceAttributeKeyResponse\x12k\n\x16resource_attribute_key\x18\x01 \x01(\x0b\x32\x30.sift.resource_attribute.v1.ResourceAttributeKeyB\x03\xe0\x41\x02R\x14resourceAttributeKey\"l\n\"ArchiveResourceAttributeKeyRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\"%\n#ArchiveResourceAttributeKeyResponse\"n\n$UnarchiveResourceAttributeKeyRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\"\'\n%UnarchiveResourceAttributeKeyResponse\"~\n(BatchArchiveResourceAttributeKeysRequest\x12R\n\x1aresource_attribute_key_ids\x18\x01 \x03(\tB\x15\xe0\x41\x02\xbaH\x0f\x92\x01\x0c\x08\x01\x10\x88\'\"\x05r\x03\xb0\x01\x01R\x17resourceAttributeKeyIds\"+\n)BatchArchiveResourceAttributeKeysResponse\"\x80\x01\n*BatchUnarchiveResourceAttributeKeysRequest\x12R\n\x1aresource_attribute_key_ids\x18\x01 \x03(\tB\x15\xe0\x41\x02\xbaH\x0f\x92\x01\x0c\x08\x01\x10\x88\'\"\x05r\x03\xb0\x01\x01R\x17resourceAttributeKeyIds\"-\n+BatchUnarchiveResourceAttributeKeysResponse\"\xc0\x01\n\'CreateResourceAttributeEnumValueRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12&\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\"\xaa\x01\n(CreateResourceAttributeEnumValueResponse\x12~\n\x1dresource_attribute_enum_value\x18\x01 \x01(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueB\x03\xe0\x41\x02R\x1aresourceAttributeEnumValue\"{\n$GetResourceAttributeEnumValueRequest\x12S\n resource_attribute_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x1cresourceAttributeEnumValueId\"\xa7\x01\n%GetResourceAttributeEnumValueResponse\x12~\n\x1dresource_attribute_enum_value\x18\x01 \x01(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueB\x03\xe0\x41\x02R\x1aresourceAttributeEnumValue\"\xa3\x02\n&ListResourceAttributeEnumValuesRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12 \n\tpage_size\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12.\n\x10include_archived\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"\xce\x01\n\'ListResourceAttributeEnumValuesResponse\x12{\n\x1eresource_attribute_enum_values\x18\x01 \x03(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueR\x1bresourceAttributeEnumValues\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\x8f\x02\n\'UpdateResourceAttributeEnumValueRequest\x12S\n resource_attribute_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x1cresourceAttributeEnumValueId\x12&\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64isplayName\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12@\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"\xaa\x01\n(UpdateResourceAttributeEnumValueResponse\x12~\n\x1dresource_attribute_enum_value\x18\x01 \x01(\x0b\x32\x36.sift.resource_attribute.v1.ResourceAttributeEnumValueB\x03\xe0\x41\x02R\x1aresourceAttributeEnumValue\"\xb4\x01\n(ArchiveResourceAttributeEnumValueRequest\x12@\n\x16\x61rchived_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13\x61rchivedEnumValueId\x12\x46\n\x19replacement_enum_value_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16replacementEnumValueId\"m\n)ArchiveResourceAttributeEnumValueResponse\x12@\n\x1cresource_attributes_migrated\x18\x01 \x01(\x05R\x1aresourceAttributesMigrated\"\x81\x01\n*UnarchiveResourceAttributeEnumValueRequest\x12S\n resource_attribute_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x1cresourceAttributeEnumValueId\"-\n+UnarchiveResourceAttributeEnumValueResponse\"\xec\x02\n.BatchArchiveResourceAttributeEnumValuesRequest\x12\x99\x01\n\x11\x61rchival_requests\x18\x01 \x03(\x0b\x32\\.sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchivalB\x0e\xe0\x41\x02\xbaH\x08\x92\x01\x05\x08\x01\x10\x88\'R\x10\x61rchivalRequests\x1a\x9d\x01\n\x11\x45numValueArchival\x12@\n\x16\x61rchived_enum_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13\x61rchivedEnumValueId\x12\x46\n\x19replacement_enum_value_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16replacementEnumValueId\"~\n/BatchArchiveResourceAttributeEnumValuesResponse\x12K\n\"total_resource_attributes_migrated\x18\x01 \x01(\x05R\x1ftotalResourceAttributesMigrated\"\x93\x01\n0BatchUnarchiveResourceAttributeEnumValuesRequest\x12_\n!resource_attribute_enum_value_ids\x18\x01 \x03(\tB\x15\xe0\x41\x02\xbaH\x0f\x92\x01\x0c\x08\x01\x10\x88\'\"\x05r\x03\xb0\x01\x01R\x1dresourceAttributeEnumValueIds\"3\n1BatchUnarchiveResourceAttributeEnumValuesResponse\"\xed\x02\n\x1e\x43reateResourceAttributeRequest\x12Z\n\x06\x65ntity\x18\x01 \x01(\x0b\x32=.sift.resource_attribute.v1.ResourceAttributeEntityIdentifierB\x03\xe0\x41\x02R\x06\x65ntity\x12\x46\n\x19resource_attribute_key_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12R\n resource_attribute_enum_value_id\x18\x03 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x1cresourceAttributeEnumValueId\x12%\n\rboolean_value\x18\x04 \x01(\x08H\x00R\x0c\x62ooleanValue\x12#\n\x0cnumber_value\x18\x05 \x01(\x01H\x00R\x0bnumberValueB\x07\n\x05value\"\x84\x01\n\x1f\x43reateResourceAttributeResponse\x12\x61\n\x12resource_attribute\x18\x01 \x01(\x0b\x32-.sift.resource_attribute.v1.ResourceAttributeB\x03\xe0\x41\x02R\x11resourceAttribute\"\x82\x03\n$BatchCreateResourceAttributesRequest\x12\x46\n\x19resource_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x16resourceAttributeKeyId\x12R\n resource_attribute_enum_value_id\x18\x02 \x01(\tB\x08\xbaH\x05r\x03\xb0\x01\x01H\x00R\x1cresourceAttributeEnumValueId\x12%\n\rboolean_value\x18\x03 \x01(\x08H\x00R\x0c\x62ooleanValue\x12#\n\x0cnumber_value\x18\x04 \x01(\x01H\x00R\x0bnumberValue\x12i\n\x08\x65ntities\x18\x05 \x03(\x0b\x32=.sift.resource_attribute.v1.ResourceAttributeEntityIdentifierB\x0e\xe0\x41\x02\xbaH\x08\x92\x01\x05\x08\x01\x10\x88\'R\x08\x65ntitiesB\x07\n\x05value\"\x87\x01\n%BatchCreateResourceAttributesResponse\x12^\n\x13resource_attributes\x18\x01 \x03(\x0b\x32-.sift.resource_attribute.v1.ResourceAttributeR\x12resourceAttributes\"^\n\x1bGetResourceAttributeRequest\x12?\n\x15resource_attribute_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13resourceAttributeId\"\x81\x01\n\x1cGetResourceAttributeResponse\x12\x61\n\x12resource_attribute\x18\x01 \x01(\x0b\x32-.sift.resource_attribute.v1.ResourceAttributeB\x03\xe0\x41\x02R\x11resourceAttribute\"\xd2\x01\n\x1dListResourceAttributesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12.\n\x10include_archived\x18\x05 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"\xa8\x01\n\x1eListResourceAttributesResponse\x12^\n\x13resource_attributes\x18\x01 \x03(\x0b\x32-.sift.resource_attribute.v1.ResourceAttributeR\x12resourceAttributes\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xf9\x01\n%ListResourceAttributesByEntityRequest\x12Z\n\x06\x65ntity\x18\x01 \x01(\x0b\x32=.sift.resource_attribute.v1.ResourceAttributeEntityIdentifierB\x03\xe0\x41\x02R\x06\x65ntity\x12.\n\x10include_archived\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\x12 \n\tpage_size\x18\x03 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x04 \x01(\tB\x03\xe0\x41\x01R\tpageToken\"\xb0\x01\n&ListResourceAttributesByEntityResponse\x12^\n\x13resource_attributes\x18\x01 \x03(\x0b\x32-.sift.resource_attribute.v1.ResourceAttributeR\x12resourceAttributes\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"b\n\x1f\x41rchiveResourceAttributeRequest\x12?\n\x15resource_attribute_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13resourceAttributeId\"\"\n ArchiveResourceAttributeResponse\"d\n!UnarchiveResourceAttributeRequest\x12?\n\x15resource_attribute_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x13resourceAttributeId\"$\n\"UnarchiveResourceAttributeResponse\"t\n%BatchArchiveResourceAttributesRequest\x12K\n\x16resource_attribute_ids\x18\x01 \x03(\tB\x15\xe0\x41\x02\xbaH\x0f\x92\x01\x0c\x08\x01\x10\x88\'\"\x05r\x03\xb0\x01\x01R\x14resourceAttributeIds\"(\n&BatchArchiveResourceAttributesResponse\"v\n\'BatchUnarchiveResourceAttributesRequest\x12K\n\x16resource_attribute_ids\x18\x01 \x03(\tB\x15\xe0\x41\x02\xbaH\x0f\x92\x01\x0c\x08\x01\x10\x88\'\"\x05r\x03\xb0\x01\x01R\x14resourceAttributeIds\"*\n(BatchUnarchiveResourceAttributesResponse*\xeb\x01\n\x18ResourceAttributeKeyType\x12+\n\'RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED\x10\x00\x12$\n RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM\x10\x01\x12\'\n#RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN\x10\x02\x12&\n\"RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER\x10\x03\x12+\n\'RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM\x10\x04*\xa3\x01\n\x1bResourceAttributeEntityType\x12.\n*RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED\x10\x00\x12(\n$RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET\x10\x01\x12*\n&RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL\x10\x02\x32\x8d.\n\x18ResourceAttributeService\x12\xc7\x01\n\x1a\x43reateResourceAttributeKey\x12=.sift.resource_attribute.v1.CreateResourceAttributeKeyRequest\x1a>.sift.resource_attribute.v1.CreateResourceAttributeKeyResponse\"*\x82\xd3\xe4\x93\x02$\"\x1f/api/v1/resource-attribute-keys:\x01*\x12\xd7\x01\n\x17GetResourceAttributeKey\x12:.sift.resource_attribute.v1.GetResourceAttributeKeyRequest\x1a;.sift.resource_attribute.v1.GetResourceAttributeKeyResponse\"C\x82\xd3\xe4\x93\x02=\x12;/api/v1/resource-attribute-keys/{resource_attribute_key_id}\x12\xc1\x01\n\x19ListResourceAttributeKeys\x12<.sift.resource_attribute.v1.ListResourceAttributeKeysRequest\x1a=.sift.resource_attribute.v1.ListResourceAttributeKeysResponse\"\'\x82\xd3\xe4\x93\x02!\x12\x1f/api/v1/resource-attribute-keys\x12\xe3\x01\n\x1aUpdateResourceAttributeKey\x12=.sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest\x1a>.sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse\"F\x82\xd3\xe4\x93\x02@2;/api/v1/resource-attribute-keys/{resource_attribute_key_id}:\x01*\x12\xeb\x01\n\x1b\x41rchiveResourceAttributeKey\x12>.sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest\x1a?.sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse\"K\x82\xd3\xe4\x93\x02\x45\"C/api/v1/resource-attribute-keys/{resource_attribute_key_id}/archive\x12\xf3\x01\n\x1dUnarchiveResourceAttributeKey\x12@.sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest\x1a\x41.sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse\"M\x82\xd3\xe4\x93\x02G\"E/api/v1/resource-attribute-keys/{resource_attribute_key_id}/unarchive\x12\xea\x01\n!BatchArchiveResourceAttributeKeys\x12\x44.sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest\x1a\x45.sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse\"8\x82\xd3\xe4\x93\x02\x32\"-/api/v1/resource-attribute-keys/batch-archive:\x01*\x12\xf2\x01\n#BatchUnarchiveResourceAttributeKeys\x12\x46.sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest\x1aG.sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse\":\x82\xd3\xe4\x93\x02\x34\"//api/v1/resource-attribute-keys/batch-unarchive:\x01*\x12\xe0\x01\n CreateResourceAttributeEnumValue\x12\x43.sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest\x1a\x44.sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse\"1\x82\xd3\xe4\x93\x02+\"&/api/v1/resource-attribute-enum-values:\x01*\x12\xf7\x01\n\x1dGetResourceAttributeEnumValue\x12@.sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest\x1a\x41.sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse\"Q\x82\xd3\xe4\x93\x02K\x12I/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}\x12\xfb\x01\n\x1fListResourceAttributeEnumValues\x12\x42.sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest\x1a\x43.sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse\"O\x82\xd3\xe4\x93\x02I\x12G/api/v1/resource-attribute-keys/{resource_attribute_key_id}/enum-values\x12\x83\x02\n UpdateResourceAttributeEnumValue\x12\x43.sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest\x1a\x44.sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse\"T\x82\xd3\xe4\x93\x02N2I/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}:\x01*\x12\x84\x02\n!ArchiveResourceAttributeEnumValue\x12\x44.sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest\x1a\x45.sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse\"R\x82\xd3\xe4\x93\x02L\"G/api/v1/resource-attribute-enum-values/{archived_enum_value_id}/archive:\x01*\x12\x93\x02\n#UnarchiveResourceAttributeEnumValue\x12\x46.sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest\x1aG.sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse\"[\x82\xd3\xe4\x93\x02U\"S/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}/unarchive\x12\x83\x02\n\'BatchArchiveResourceAttributeEnumValues\x12J.sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest\x1aK.sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse\"?\x82\xd3\xe4\x93\x02\x39\"4/api/v1/resource-attribute-enum-values/batch-archive:\x01*\x12\x8b\x02\n)BatchUnarchiveResourceAttributeEnumValues\x12L.sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest\x1aM.sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse\"A\x82\xd3\xe4\x93\x02;\"6/api/v1/resource-attribute-enum-values/batch-unarchive:\x01*\x12\xba\x01\n\x17\x43reateResourceAttribute\x12:.sift.resource_attribute.v1.CreateResourceAttributeRequest\x1a;.sift.resource_attribute.v1.CreateResourceAttributeResponse\"&\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/resource-attributes:\x01*\x12\xd2\x01\n\x1d\x42\x61tchCreateResourceAttributes\x12@.sift.resource_attribute.v1.BatchCreateResourceAttributesRequest\x1a\x41.sift.resource_attribute.v1.BatchCreateResourceAttributesResponse\",\x82\xd3\xe4\x93\x02&\"!/api/v1/resource-attributes/batch:\x01*\x12\xc6\x01\n\x14GetResourceAttribute\x12\x37.sift.resource_attribute.v1.GetResourceAttributeRequest\x1a\x38.sift.resource_attribute.v1.GetResourceAttributeResponse\";\x82\xd3\xe4\x93\x02\x35\x12\x33/api/v1/resource-attributes/{resource_attribute_id}\x12\xb4\x01\n\x16ListResourceAttributes\x12\x39.sift.resource_attribute.v1.ListResourceAttributesRequest\x1a:.sift.resource_attribute.v1.ListResourceAttributesResponse\"#\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/resource-attributes\x12\xe8\x01\n\x1eListResourceAttributesByEntity\x12\x41.sift.resource_attribute.v1.ListResourceAttributesByEntityRequest\x1a\x42.sift.resource_attribute.v1.ListResourceAttributesByEntityResponse\"?\x82\xd3\xe4\x93\x02\x39\x12\x37/api/v1/entities/{entity.entity_id}/resource-attributes\x12\xda\x01\n\x18\x41rchiveResourceAttribute\x12;.sift.resource_attribute.v1.ArchiveResourceAttributeRequest\x1a<.sift.resource_attribute.v1.ArchiveResourceAttributeResponse\"C\x82\xd3\xe4\x93\x02=\";/api/v1/resource-attributes/{resource_attribute_id}/archive\x12\xe2\x01\n\x1aUnarchiveResourceAttribute\x12=.sift.resource_attribute.v1.UnarchiveResourceAttributeRequest\x1a>.sift.resource_attribute.v1.UnarchiveResourceAttributeResponse\"E\x82\xd3\xe4\x93\x02?\"=/api/v1/resource-attributes/{resource_attribute_id}/unarchive\x12\xdd\x01\n\x1e\x42\x61tchArchiveResourceAttributes\x12\x41.sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest\x1a\x42.sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse\"4\x82\xd3\xe4\x93\x02.\")/api/v1/resource-attributes/batch-archive:\x01*\x12\xe5\x01\n BatchUnarchiveResourceAttributes\x12\x43.sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest\x1a\x44.sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse\"6\x82\xd3\xe4\x93\x02\x30\"+/api/v1/resource-attributes/batch-unarchive:\x01*\x1a\x44\x92\x41\x41\x12?Service to manage ABAC resource attributes (entity attributes).B\xdf\x01\n\x1e\x63om.sift.resource_attribute.v1B\x16ResourceAttributeProtoP\x01\xa2\x02\x03SRX\xaa\x02\x19Sift.ResourceAttribute.V1\xca\x02\x19Sift\\ResourceAttribute\\V1\xe2\x02%Sift\\ResourceAttribute\\V1\\GPBMetadata\xea\x02\x1bSift::ResourceAttribute::V1\x92\x41\x1e\x12\x1c\n\x1aResource Attribute serviceb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.resource_attribute.v1.resource_attribute_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\036com.sift.resource_attribute.v1B\026ResourceAttributeProtoP\001\242\002\003SRX\252\002\031Sift.ResourceAttribute.V1\312\002\031Sift\\ResourceAttribute\\V1\342\002%Sift\\ResourceAttribute\\V1\\GPBMetadata\352\002\033Sift::ResourceAttribute::V1\222A\036\022\034\n\032Resource Attribute service' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['organization_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['organization_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['display_name']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['display_name']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['description']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['type']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['type']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['created_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['modified_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['modified_date']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['modified_by_user_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['archived_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEKEY'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['display_name']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['display_name']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['description']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['created_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['modified_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['modified_date']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['modified_by_user_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['archived_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENUMVALUE'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['organization_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['organization_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['entity']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['entity']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['key']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['key']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['enum_value_details']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['enum_value_details']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['created_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTE'].fields_by_name['archived_date']._loaded_options = None - _globals['_RESOURCEATTRIBUTE'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER'].fields_by_name['entity_id']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER'].fields_by_name['entity_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER'].fields_by_name['entity_type']._loaded_options = None - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER'].fields_by_name['entity_type']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE'].fields_by_name['display_name']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE'].fields_by_name['display_name']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE'].fields_by_name['description']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['display_name']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['display_name']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['type']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['type']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['initial_enum_values']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['initial_enum_values']._serialized_options = b'\340A\001\272H\005\222\001\002\020d' - _globals['_CREATERESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._serialized_options = b'\340A\002' - _globals['_GETRESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETRESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._serialized_options = b'\340A\002' - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['display_name']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['display_name']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['update_mask']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' - _globals['_UPDATERESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEKEYRESPONSE'].fields_by_name['resource_attribute_key']._serialized_options = b'\340A\002' - _globals['_ARCHIVERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_ARCHIVERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['resource_attribute_key_ids']._loaded_options = None - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['resource_attribute_key_ids']._serialized_options = b'\340A\002\272H\017\222\001\014\010\001\020\210\'\"\005r\003\260\001\001' - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['resource_attribute_key_ids']._loaded_options = None - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSREQUEST'].fields_by_name['resource_attribute_key_ids']._serialized_options = b'\340A\002\272H\017\222\001\014\010\001\020\210\'\"\005r\003\260\001\001' - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['display_name']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['display_name']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_CREATERESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._serialized_options = b'\340A\002' - _globals['_GETRESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETRESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._serialized_options = b'\340A\002' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['display_name']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['display_name']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['update_mask']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._loaded_options = None - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUERESPONSE'].fields_by_name['resource_attribute_enum_value']._serialized_options = b'\340A\002' - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['archived_enum_value_id']._loaded_options = None - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['archived_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['replacement_enum_value_id']._loaded_options = None - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['replacement_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL'].fields_by_name['archived_enum_value_id']._loaded_options = None - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL'].fields_by_name['archived_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL'].fields_by_name['replacement_enum_value_id']._loaded_options = None - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL'].fields_by_name['replacement_enum_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['archival_requests']._loaded_options = None - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['archival_requests']._serialized_options = b'\340A\002\272H\010\222\001\005\010\001\020\210\'' - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['resource_attribute_enum_value_ids']._loaded_options = None - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST'].fields_by_name['resource_attribute_enum_value_ids']._serialized_options = b'\340A\002\272H\017\222\001\014\010\001\020\210\'\"\005r\003\260\001\001' - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['entity']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['entity']._serialized_options = b'\340A\002' - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_CREATERESOURCEATTRIBUTERESPONSE'].fields_by_name['resource_attribute']._loaded_options = None - _globals['_CREATERESOURCEATTRIBUTERESPONSE'].fields_by_name['resource_attribute']._serialized_options = b'\340A\002' - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_key_id']._loaded_options = None - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_enum_value_id']._loaded_options = None - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_enum_value_id']._serialized_options = b'\272H\005r\003\260\001\001' - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['entities']._loaded_options = None - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST'].fields_by_name['entities']._serialized_options = b'\340A\002\272H\010\222\001\005\010\001\020\210\'' - _globals['_GETRESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETRESOURCEATTRIBUTERESPONSE'].fields_by_name['resource_attribute']._loaded_options = None - _globals['_GETRESOURCEATTRIBUTERESPONSE'].fields_by_name['resource_attribute']._serialized_options = b'\340A\002' - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['entity']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['entity']._serialized_options = b'\340A\002' - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_ARCHIVERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._loaded_options = None - _globals['_ARCHIVERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UNARCHIVERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._loaded_options = None - _globals['_UNARCHIVERESOURCEATTRIBUTEREQUEST'].fields_by_name['resource_attribute_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHARCHIVERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_ids']._loaded_options = None - _globals['_BATCHARCHIVERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_ids']._serialized_options = b'\340A\002\272H\017\222\001\014\010\001\020\210\'\"\005r\003\260\001\001' - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_ids']._loaded_options = None - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESREQUEST'].fields_by_name['resource_attribute_ids']._serialized_options = b'\340A\002\272H\017\222\001\014\010\001\020\210\'\"\005r\003\260\001\001' - _globals['_RESOURCEATTRIBUTESERVICE']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE']._serialized_options = b'\222AA\022?Service to manage ABAC resource attributes (entity attributes).' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttributeKey']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttributeKey']._serialized_options = b'\202\323\344\223\002$\"\037/api/v1/resource-attribute-keys:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttributeKey']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttributeKey']._serialized_options = b'\202\323\344\223\002=\022;/api/v1/resource-attribute-keys/{resource_attribute_key_id}' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributeKeys']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributeKeys']._serialized_options = b'\202\323\344\223\002!\022\037/api/v1/resource-attribute-keys' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UpdateResourceAttributeKey']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UpdateResourceAttributeKey']._serialized_options = b'\202\323\344\223\002@2;/api/v1/resource-attribute-keys/{resource_attribute_key_id}:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttributeKey']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttributeKey']._serialized_options = b'\202\323\344\223\002E\"C/api/v1/resource-attribute-keys/{resource_attribute_key_id}/archive' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttributeKey']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttributeKey']._serialized_options = b'\202\323\344\223\002G\"E/api/v1/resource-attribute-keys/{resource_attribute_key_id}/unarchive' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributeKeys']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributeKeys']._serialized_options = b'\202\323\344\223\0022\"-/api/v1/resource-attribute-keys/batch-archive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributeKeys']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributeKeys']._serialized_options = b'\202\323\344\223\0024\"//api/v1/resource-attribute-keys/batch-unarchive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttributeEnumValue']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttributeEnumValue']._serialized_options = b'\202\323\344\223\002+\"&/api/v1/resource-attribute-enum-values:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttributeEnumValue']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttributeEnumValue']._serialized_options = b'\202\323\344\223\002K\022I/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributeEnumValues']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributeEnumValues']._serialized_options = b'\202\323\344\223\002I\022G/api/v1/resource-attribute-keys/{resource_attribute_key_id}/enum-values' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UpdateResourceAttributeEnumValue']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UpdateResourceAttributeEnumValue']._serialized_options = b'\202\323\344\223\002N2I/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttributeEnumValue']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttributeEnumValue']._serialized_options = b'\202\323\344\223\002L\"G/api/v1/resource-attribute-enum-values/{archived_enum_value_id}/archive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttributeEnumValue']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttributeEnumValue']._serialized_options = b'\202\323\344\223\002U\"S/api/v1/resource-attribute-enum-values/{resource_attribute_enum_value_id}/unarchive' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributeEnumValues']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributeEnumValues']._serialized_options = b'\202\323\344\223\0029\"4/api/v1/resource-attribute-enum-values/batch-archive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributeEnumValues']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributeEnumValues']._serialized_options = b'\202\323\344\223\002;\"6/api/v1/resource-attribute-enum-values/batch-unarchive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttribute']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['CreateResourceAttribute']._serialized_options = b'\202\323\344\223\002 \"\033/api/v1/resource-attributes:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchCreateResourceAttributes']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchCreateResourceAttributes']._serialized_options = b'\202\323\344\223\002&\"!/api/v1/resource-attributes/batch:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttribute']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['GetResourceAttribute']._serialized_options = b'\202\323\344\223\0025\0223/api/v1/resource-attributes/{resource_attribute_id}' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributes']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributes']._serialized_options = b'\202\323\344\223\002\035\022\033/api/v1/resource-attributes' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributesByEntity']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ListResourceAttributesByEntity']._serialized_options = b'\202\323\344\223\0029\0227/api/v1/entities/{entity.entity_id}/resource-attributes' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttribute']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['ArchiveResourceAttribute']._serialized_options = b'\202\323\344\223\002=\";/api/v1/resource-attributes/{resource_attribute_id}/archive' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttribute']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['UnarchiveResourceAttribute']._serialized_options = b'\202\323\344\223\002?\"=/api/v1/resource-attributes/{resource_attribute_id}/unarchive' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributes']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchArchiveResourceAttributes']._serialized_options = b'\202\323\344\223\002.\")/api/v1/resource-attributes/batch-archive:\001*' - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributes']._loaded_options = None - _globals['_RESOURCEATTRIBUTESERVICE'].methods_by_name['BatchUnarchiveResourceAttributes']._serialized_options = b'\202\323\344\223\0020\"+/api/v1/resource-attributes/batch-unarchive:\001*' - _globals['_RESOURCEATTRIBUTEKEYTYPE']._serialized_start=10382 - _globals['_RESOURCEATTRIBUTEKEYTYPE']._serialized_end=10617 - _globals['_RESOURCEATTRIBUTEENTITYTYPE']._serialized_start=10620 - _globals['_RESOURCEATTRIBUTEENTITYTYPE']._serialized_end=10783 - _globals['_RESOURCEATTRIBUTEKEY']._serialized_start=291 - _globals['_RESOURCEATTRIBUTEKEY']._serialized_end=923 - _globals['_RESOURCEATTRIBUTEENUMVALUE']._serialized_start=926 - _globals['_RESOURCEATTRIBUTEENUMVALUE']._serialized_end=1516 - _globals['_RESOURCEATTRIBUTE']._serialized_start=1519 - _globals['_RESOURCEATTRIBUTE']._serialized_end=2366 - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER']._serialized_start=2369 - _globals['_RESOURCEATTRIBUTEENTITYIDENTIFIER']._serialized_end=2541 - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST']._serialized_start=2544 - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST']._serialized_end=2978 - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE']._serialized_start=2881 - _globals['_CREATERESOURCEATTRIBUTEKEYREQUEST_INITIALENUMVALUE']._serialized_end=2978 - _globals['_CREATERESOURCEATTRIBUTEKEYRESPONSE']._serialized_start=2981 - _globals['_CREATERESOURCEATTRIBUTEKEYRESPONSE']._serialized_end=3215 - _globals['_GETRESOURCEATTRIBUTEKEYREQUEST']._serialized_start=3217 - _globals['_GETRESOURCEATTRIBUTEKEYREQUEST']._serialized_end=3321 - _globals['_GETRESOURCEATTRIBUTEKEYRESPONSE']._serialized_start=3324 - _globals['_GETRESOURCEATTRIBUTEKEYRESPONSE']._serialized_end=3466 - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST']._serialized_start=3469 - _globals['_LISTRESOURCEATTRIBUTEKEYSREQUEST']._serialized_end=3682 - _globals['_LISTRESOURCEATTRIBUTEKEYSRESPONSE']._serialized_start=3685 - _globals['_LISTRESOURCEATTRIBUTEKEYSRESPONSE']._serialized_end=3866 - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST']._serialized_start=3869 - _globals['_UPDATERESOURCEATTRIBUTEKEYREQUEST']._serialized_end=4121 - _globals['_UPDATERESOURCEATTRIBUTEKEYRESPONSE']._serialized_start=4124 - _globals['_UPDATERESOURCEATTRIBUTEKEYRESPONSE']._serialized_end=4269 - _globals['_ARCHIVERESOURCEATTRIBUTEKEYREQUEST']._serialized_start=4271 - _globals['_ARCHIVERESOURCEATTRIBUTEKEYREQUEST']._serialized_end=4379 - _globals['_ARCHIVERESOURCEATTRIBUTEKEYRESPONSE']._serialized_start=4381 - _globals['_ARCHIVERESOURCEATTRIBUTEKEYRESPONSE']._serialized_end=4418 - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYREQUEST']._serialized_start=4420 - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYREQUEST']._serialized_end=4530 - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYRESPONSE']._serialized_start=4532 - _globals['_UNARCHIVERESOURCEATTRIBUTEKEYRESPONSE']._serialized_end=4571 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSREQUEST']._serialized_start=4573 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSREQUEST']._serialized_end=4699 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSRESPONSE']._serialized_start=4701 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEKEYSRESPONSE']._serialized_end=4744 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSREQUEST']._serialized_start=4747 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSREQUEST']._serialized_end=4875 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSRESPONSE']._serialized_start=4877 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEKEYSRESPONSE']._serialized_end=4922 - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_start=4925 - _globals['_CREATERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_end=5117 - _globals['_CREATERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_start=5120 - _globals['_CREATERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_end=5290 - _globals['_GETRESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_start=5292 - _globals['_GETRESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_end=5415 - _globals['_GETRESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_start=5418 - _globals['_GETRESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_end=5585 - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_start=5588 - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_end=5879 - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_start=5882 - _globals['_LISTRESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_end=6088 - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_start=6091 - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_end=6362 - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_start=6365 - _globals['_UPDATERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_end=6535 - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_start=6538 - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_end=6718 - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_start=6720 - _globals['_ARCHIVERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_end=6829 - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_start=6832 - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUEREQUEST']._serialized_end=6961 - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_start=6963 - _globals['_UNARCHIVERESOURCEATTRIBUTEENUMVALUERESPONSE']._serialized_end=7008 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_start=7011 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_end=7375 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL']._serialized_start=7218 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST_ENUMVALUEARCHIVAL']._serialized_end=7375 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_start=7377 - _globals['_BATCHARCHIVERESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_end=7503 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_start=7506 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESREQUEST']._serialized_end=7653 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_start=7655 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTEENUMVALUESRESPONSE']._serialized_end=7706 - _globals['_CREATERESOURCEATTRIBUTEREQUEST']._serialized_start=7709 - _globals['_CREATERESOURCEATTRIBUTEREQUEST']._serialized_end=8074 - _globals['_CREATERESOURCEATTRIBUTERESPONSE']._serialized_start=8077 - _globals['_CREATERESOURCEATTRIBUTERESPONSE']._serialized_end=8209 - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST']._serialized_start=8212 - _globals['_BATCHCREATERESOURCEATTRIBUTESREQUEST']._serialized_end=8598 - _globals['_BATCHCREATERESOURCEATTRIBUTESRESPONSE']._serialized_start=8601 - _globals['_BATCHCREATERESOURCEATTRIBUTESRESPONSE']._serialized_end=8736 - _globals['_GETRESOURCEATTRIBUTEREQUEST']._serialized_start=8738 - _globals['_GETRESOURCEATTRIBUTEREQUEST']._serialized_end=8832 - _globals['_GETRESOURCEATTRIBUTERESPONSE']._serialized_start=8835 - _globals['_GETRESOURCEATTRIBUTERESPONSE']._serialized_end=8964 - _globals['_LISTRESOURCEATTRIBUTESREQUEST']._serialized_start=8967 - _globals['_LISTRESOURCEATTRIBUTESREQUEST']._serialized_end=9177 - _globals['_LISTRESOURCEATTRIBUTESRESPONSE']._serialized_start=9180 - _globals['_LISTRESOURCEATTRIBUTESRESPONSE']._serialized_end=9348 - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST']._serialized_start=9351 - _globals['_LISTRESOURCEATTRIBUTESBYENTITYREQUEST']._serialized_end=9600 - _globals['_LISTRESOURCEATTRIBUTESBYENTITYRESPONSE']._serialized_start=9603 - _globals['_LISTRESOURCEATTRIBUTESBYENTITYRESPONSE']._serialized_end=9779 - _globals['_ARCHIVERESOURCEATTRIBUTEREQUEST']._serialized_start=9781 - _globals['_ARCHIVERESOURCEATTRIBUTEREQUEST']._serialized_end=9879 - _globals['_ARCHIVERESOURCEATTRIBUTERESPONSE']._serialized_start=9881 - _globals['_ARCHIVERESOURCEATTRIBUTERESPONSE']._serialized_end=9915 - _globals['_UNARCHIVERESOURCEATTRIBUTEREQUEST']._serialized_start=9917 - _globals['_UNARCHIVERESOURCEATTRIBUTEREQUEST']._serialized_end=10017 - _globals['_UNARCHIVERESOURCEATTRIBUTERESPONSE']._serialized_start=10019 - _globals['_UNARCHIVERESOURCEATTRIBUTERESPONSE']._serialized_end=10055 - _globals['_BATCHARCHIVERESOURCEATTRIBUTESREQUEST']._serialized_start=10057 - _globals['_BATCHARCHIVERESOURCEATTRIBUTESREQUEST']._serialized_end=10173 - _globals['_BATCHARCHIVERESOURCEATTRIBUTESRESPONSE']._serialized_start=10175 - _globals['_BATCHARCHIVERESOURCEATTRIBUTESRESPONSE']._serialized_end=10215 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESREQUEST']._serialized_start=10217 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESREQUEST']._serialized_end=10335 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESRESPONSE']._serialized_start=10337 - _globals['_BATCHUNARCHIVERESOURCEATTRIBUTESRESPONSE']._serialized_end=10379 - _globals['_RESOURCEATTRIBUTESERVICE']._serialized_start=10786 - _globals['_RESOURCEATTRIBUTESERVICE']._serialized_end=16687 -# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.pyi b/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.pyi deleted file mode 100644 index 7ce204bc2..000000000 --- a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2.pyi +++ /dev/null @@ -1,1229 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.field_mask_pb2 -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import google.protobuf.timestamp_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -class _ResourceAttributeKeyType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _ResourceAttributeKeyTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceAttributeKeyType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED: _ResourceAttributeKeyType.ValueType # 0 - RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM: _ResourceAttributeKeyType.ValueType # 1 - RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN: _ResourceAttributeKeyType.ValueType # 2 - RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER: _ResourceAttributeKeyType.ValueType # 3 - RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM: _ResourceAttributeKeyType.ValueType # 4 - -class ResourceAttributeKeyType(_ResourceAttributeKeyType, metaclass=_ResourceAttributeKeyTypeEnumTypeWrapper): - """Values become selectable enumerable options.""" - -RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED: ResourceAttributeKeyType.ValueType # 0 -RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM: ResourceAttributeKeyType.ValueType # 1 -RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN: ResourceAttributeKeyType.ValueType # 2 -RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER: ResourceAttributeKeyType.ValueType # 3 -RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM: ResourceAttributeKeyType.ValueType # 4 -global___ResourceAttributeKeyType = ResourceAttributeKeyType - -class _ResourceAttributeEntityType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _ResourceAttributeEntityTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ResourceAttributeEntityType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED: _ResourceAttributeEntityType.ValueType # 0 - RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET: _ResourceAttributeEntityType.ValueType # 1 - RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL: _ResourceAttributeEntityType.ValueType # 2 - -class ResourceAttributeEntityType(_ResourceAttributeEntityType, metaclass=_ResourceAttributeEntityTypeEnumTypeWrapper): ... - -RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED: ResourceAttributeEntityType.ValueType # 0 -RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET: ResourceAttributeEntityType.ValueType # 1 -RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL: ResourceAttributeEntityType.ValueType # 2 -global___ResourceAttributeEntityType = ResourceAttributeEntityType - -@typing.final -class ResourceAttributeKey(google.protobuf.message.Message): - """A ResourceAttribute Key defines an attribute that can be assigned to Entities for the purpose of attribute based access control (ABAC).""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - MODIFIED_DATE_FIELD_NUMBER: builtins.int - MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - organization_id: builtins.str - display_name: builtins.str - description: builtins.str - type: global___ResourceAttributeKeyType.ValueType - created_by_user_id: builtins.str - modified_by_user_id: builtins.str - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - organization_id: builtins.str = ..., - display_name: builtins.str = ..., - description: builtins.str = ..., - type: global___ResourceAttributeKeyType.ValueType = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - created_by_user_id: builtins.str = ..., - modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - modified_by_user_id: builtins.str = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "display_name", b"display_name", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "organization_id", b"organization_id", "resource_attribute_key_id", b"resource_attribute_key_id", "type", b"type"]) -> None: ... - -global___ResourceAttributeKey = ResourceAttributeKey - -@typing.final -class ResourceAttributeEnumValue(google.protobuf.message.Message): - """Represents a possible enumerable value for ENUM type resource_attribute keys. - Users can add new enum values as needed. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - MODIFIED_DATE_FIELD_NUMBER: builtins.int - MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - resource_attribute_enum_value_id: builtins.str - resource_attribute_key_id: builtins.str - display_name: builtins.str - description: builtins.str - created_by_user_id: builtins.str - modified_by_user_id: builtins.str - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - def __init__( - self, - *, - resource_attribute_enum_value_id: builtins.str = ..., - resource_attribute_key_id: builtins.str = ..., - display_name: builtins.str = ..., - description: builtins.str = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - created_by_user_id: builtins.str = ..., - modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - modified_by_user_id: builtins.str = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "display_name", b"display_name", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___ResourceAttributeEnumValue = ResourceAttributeEnumValue - -@typing.final -class ResourceAttribute(google.protobuf.message.Message): - """Represents the assignment of a resource_attribute key-value pair to an entity (asset or channel).""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ID_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - ENTITY_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - ENUM_VALUE_DETAILS_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - resource_attribute_id: builtins.str - organization_id: builtins.str - resource_attribute_key_id: builtins.str - resource_attribute_enum_value_id: builtins.str - boolean_value: builtins.bool - number_value: builtins.float - created_by_user_id: builtins.str - @property - def entity(self) -> global___ResourceAttributeEntityIdentifier: ... - @property - def key(self) -> global___ResourceAttributeKey: - """Populated in responses with full key details.""" - - @property - def enum_value_details(self) -> global___ResourceAttributeEnumValue: - """Populated in responses with full enum value details.""" - - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: - """The timestamp when the relation between the Entity and ResourceAttribute Key and Value was created.""" - - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - def __init__( - self, - *, - resource_attribute_id: builtins.str = ..., - organization_id: builtins.str = ..., - entity: global___ResourceAttributeEntityIdentifier | None = ..., - resource_attribute_key_id: builtins.str = ..., - key: global___ResourceAttributeKey | None = ..., - resource_attribute_enum_value_id: builtins.str = ..., - boolean_value: builtins.bool = ..., - number_value: builtins.float = ..., - enum_value_details: global___ResourceAttributeEnumValue | None = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - created_by_user_id: builtins.str = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "boolean_value", b"boolean_value", "created_date", b"created_date", "entity", b"entity", "enum_value_details", b"enum_value_details", "key", b"key", "number_value", b"number_value", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "boolean_value", b"boolean_value", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "entity", b"entity", "enum_value_details", b"enum_value_details", "key", b"key", "number_value", b"number_value", "organization_id", b"organization_id", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "resource_attribute_id", b"resource_attribute_id", "resource_attribute_key_id", b"resource_attribute_key_id", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["resource_attribute_enum_value_id", "boolean_value", "number_value"] | None: ... - -global___ResourceAttribute = ResourceAttribute - -@typing.final -class ResourceAttributeEntityIdentifier(google.protobuf.message.Message): - """Represents an entity to which a resource_attribute will be assigned.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENTITY_ID_FIELD_NUMBER: builtins.int - ENTITY_TYPE_FIELD_NUMBER: builtins.int - entity_id: builtins.str - entity_type: global___ResourceAttributeEntityType.ValueType - def __init__( - self, - *, - entity_id: builtins.str = ..., - entity_type: global___ResourceAttributeEntityType.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["entity_id", b"entity_id", "entity_type", b"entity_type"]) -> None: ... - -global___ResourceAttributeEntityIdentifier = ResourceAttributeEntityIdentifier - -@typing.final -class CreateResourceAttributeKeyRequest(google.protobuf.message.Message): - """ResourceAttribute Key RPC messages""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class InitialEnumValue(google.protobuf.message.Message): - """Nested message for initial enum values in create requests.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - display_name: builtins.str - description: builtins.str - def __init__( - self, - *, - display_name: builtins.str = ..., - description: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name"]) -> None: ... - - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - INITIAL_ENUM_VALUES_FIELD_NUMBER: builtins.int - display_name: builtins.str - description: builtins.str - type: global___ResourceAttributeKeyType.ValueType - @property - def initial_enum_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___CreateResourceAttributeKeyRequest.InitialEnumValue]: - """Optional initial enum values to create alongside the key. Only applicable for ENUM type keys.""" - - def __init__( - self, - *, - display_name: builtins.str = ..., - description: builtins.str = ..., - type: global___ResourceAttributeKeyType.ValueType = ..., - initial_enum_values: collections.abc.Iterable[global___CreateResourceAttributeKeyRequest.InitialEnumValue] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name", "initial_enum_values", b"initial_enum_values", "type", b"type"]) -> None: ... - -global___CreateResourceAttributeKeyRequest = CreateResourceAttributeKeyRequest - -@typing.final -class CreateResourceAttributeKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - ENUM_VALUES_FIELD_NUMBER: builtins.int - @property - def resource_attribute_key(self) -> global___ResourceAttributeKey: ... - @property - def enum_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttributeEnumValue]: - """The enum values created alongside the key, if any were provided in the request.""" - - def __init__( - self, - *, - resource_attribute_key: global___ResourceAttributeKey | None = ..., - enum_values: collections.abc.Iterable[global___ResourceAttributeEnumValue] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_key", b"resource_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["enum_values", b"enum_values", "resource_attribute_key", b"resource_attribute_key"]) -> None: ... - -global___CreateResourceAttributeKeyResponse = CreateResourceAttributeKeyResponse - -@typing.final -class GetResourceAttributeKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___GetResourceAttributeKeyRequest = GetResourceAttributeKeyRequest - -@typing.final -class GetResourceAttributeKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - @property - def resource_attribute_key(self) -> global___ResourceAttributeKey: ... - def __init__( - self, - *, - resource_attribute_key: global___ResourceAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_key", b"resource_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key", b"resource_attribute_key"]) -> None: ... - -global___GetResourceAttributeKeyResponse = GetResourceAttributeKeyResponse - -@typing.final -class ListResourceAttributeKeysRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - page_size: builtins.int - """The maximum number of resource_attribute keys to return. The service may return fewer than this value. - If unspecified, at most 50 resource_attribute keys will be returned. The maximum value is 100; values above - 100 will be coerced to 100. - """ - page_token: builtins.str - """A page token, received from a previous `ListResourceAttributeKeys` call. - Provide this to retrieve the subsequent page. - When paginating, all other parameters provided to `ListResourceAttributeKeys` must match - the call that provided the page token. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `resource_attribute_key_id`, `name`, `description`, `type`, - `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - """ - order_by: builtins.str - """How to order the retrieved resource_attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date`, `modified_date`, and `name`. - If left empty, items are ordered by `created_date` in descending order (newest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "created_date desc,name" - """ - include_archived: builtins.bool - """Whether to include archived resource_attribute keys. Defaults to false.""" - def __init__( - self, - *, - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListResourceAttributeKeysRequest = ListResourceAttributeKeysRequest - -@typing.final -class ListResourceAttributeKeysResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEYS_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def resource_attribute_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttributeKey]: ... - def __init__( - self, - *, - resource_attribute_keys: collections.abc.Iterable[global___ResourceAttributeKey] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "resource_attribute_keys", b"resource_attribute_keys"]) -> None: ... - -global___ListResourceAttributeKeysResponse = ListResourceAttributeKeysResponse - -@typing.final -class UpdateResourceAttributeKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - UPDATE_MASK_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - display_name: builtins.str - description: builtins.str - @property - def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask: - """The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`.""" - - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - display_name: builtins.str = ..., - description: builtins.str = ..., - update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["update_mask", b"update_mask"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name", "resource_attribute_key_id", b"resource_attribute_key_id", "update_mask", b"update_mask"]) -> None: ... - -global___UpdateResourceAttributeKeyRequest = UpdateResourceAttributeKeyRequest - -@typing.final -class UpdateResourceAttributeKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - @property - def resource_attribute_key(self) -> global___ResourceAttributeKey: ... - def __init__( - self, - *, - resource_attribute_key: global___ResourceAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_key", b"resource_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key", b"resource_attribute_key"]) -> None: ... - -global___UpdateResourceAttributeKeyResponse = UpdateResourceAttributeKeyResponse - -@typing.final -class ArchiveResourceAttributeKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___ArchiveResourceAttributeKeyRequest = ArchiveResourceAttributeKeyRequest - -@typing.final -class ArchiveResourceAttributeKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___ArchiveResourceAttributeKeyResponse = ArchiveResourceAttributeKeyResponse - -@typing.final -class UnarchiveResourceAttributeKeyRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___UnarchiveResourceAttributeKeyRequest = UnarchiveResourceAttributeKeyRequest - -@typing.final -class UnarchiveResourceAttributeKeyResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___UnarchiveResourceAttributeKeyResponse = UnarchiveResourceAttributeKeyResponse - -@typing.final -class BatchArchiveResourceAttributeKeysRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_IDS_FIELD_NUMBER: builtins.int - @property - def resource_attribute_key_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - resource_attribute_key_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key_ids", b"resource_attribute_key_ids"]) -> None: ... - -global___BatchArchiveResourceAttributeKeysRequest = BatchArchiveResourceAttributeKeysRequest - -@typing.final -class BatchArchiveResourceAttributeKeysResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___BatchArchiveResourceAttributeKeysResponse = BatchArchiveResourceAttributeKeysResponse - -@typing.final -class BatchUnarchiveResourceAttributeKeysRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_IDS_FIELD_NUMBER: builtins.int - @property - def resource_attribute_key_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - resource_attribute_key_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_key_ids", b"resource_attribute_key_ids"]) -> None: ... - -global___BatchUnarchiveResourceAttributeKeysRequest = BatchUnarchiveResourceAttributeKeysRequest - -@typing.final -class BatchUnarchiveResourceAttributeKeysResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___BatchUnarchiveResourceAttributeKeysResponse = BatchUnarchiveResourceAttributeKeysResponse - -@typing.final -class CreateResourceAttributeEnumValueRequest(google.protobuf.message.Message): - """ResourceAttribute Enum Value RPC messages""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - display_name: builtins.str - description: builtins.str - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - display_name: builtins.str = ..., - description: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name", "resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___CreateResourceAttributeEnumValueRequest = CreateResourceAttributeEnumValueRequest - -@typing.final -class CreateResourceAttributeEnumValueResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_FIELD_NUMBER: builtins.int - @property - def resource_attribute_enum_value(self) -> global___ResourceAttributeEnumValue: ... - def __init__( - self, - *, - resource_attribute_enum_value: global___ResourceAttributeEnumValue | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> None: ... - -global___CreateResourceAttributeEnumValueResponse = CreateResourceAttributeEnumValueResponse - -@typing.final -class GetResourceAttributeEnumValueRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - resource_attribute_enum_value_id: builtins.str - def __init__( - self, - *, - resource_attribute_enum_value_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value_id", b"resource_attribute_enum_value_id"]) -> None: ... - -global___GetResourceAttributeEnumValueRequest = GetResourceAttributeEnumValueRequest - -@typing.final -class GetResourceAttributeEnumValueResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_FIELD_NUMBER: builtins.int - @property - def resource_attribute_enum_value(self) -> global___ResourceAttributeEnumValue: ... - def __init__( - self, - *, - resource_attribute_enum_value: global___ResourceAttributeEnumValue | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> None: ... - -global___GetResourceAttributeEnumValueResponse = GetResourceAttributeEnumValueResponse - -@typing.final -class ListResourceAttributeEnumValuesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - page_size: builtins.int - """The maximum number of enum values to return. The service may return fewer than this value. - If unspecified, at most 50 enum values will be returned. The maximum value is 100; values above - 100 will be coerced to 100. - """ - page_token: builtins.str - """A page token, received from a previous `ListResourceAttributeEnumValues` call. - Provide this to retrieve the subsequent page. - When paginating, all other parameters provided to `ListResourceAttributeEnumValues` must match - the call that provided the page token. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `resource_attribute_enum_value_id`, `name`, `description`, - `created_by_user_id`, `modified_by_user_id`, `created_date`, `modified_date`, and `archived_date`. - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - """ - order_by: builtins.str - """How to order the retrieved enum values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date`, `modified_date`, and `name`. - If left empty, items are ordered by `created_date` in descending order (newest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "name,created_date desc" - """ - include_archived: builtins.bool - """Whether to include archived enum values. Defaults to false.""" - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token", "resource_attribute_key_id", b"resource_attribute_key_id"]) -> None: ... - -global___ListResourceAttributeEnumValuesRequest = ListResourceAttributeEnumValuesRequest - -@typing.final -class ListResourceAttributeEnumValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def resource_attribute_enum_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttributeEnumValue]: ... - def __init__( - self, - *, - resource_attribute_enum_values: collections.abc.Iterable[global___ResourceAttributeEnumValue] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "resource_attribute_enum_values", b"resource_attribute_enum_values"]) -> None: ... - -global___ListResourceAttributeEnumValuesResponse = ListResourceAttributeEnumValuesResponse - -@typing.final -class UpdateResourceAttributeEnumValueRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - DISPLAY_NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - UPDATE_MASK_FIELD_NUMBER: builtins.int - resource_attribute_enum_value_id: builtins.str - display_name: builtins.str - description: builtins.str - @property - def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask: - """The list of fields to be updated. The fields available to be updated are `display_name`, `description`, and `archived_date`.""" - - def __init__( - self, - *, - resource_attribute_enum_value_id: builtins.str = ..., - display_name: builtins.str = ..., - description: builtins.str = ..., - update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["update_mask", b"update_mask"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "display_name", b"display_name", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "update_mask", b"update_mask"]) -> None: ... - -global___UpdateResourceAttributeEnumValueRequest = UpdateResourceAttributeEnumValueRequest - -@typing.final -class UpdateResourceAttributeEnumValueResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_FIELD_NUMBER: builtins.int - @property - def resource_attribute_enum_value(self) -> global___ResourceAttributeEnumValue: ... - def __init__( - self, - *, - resource_attribute_enum_value: global___ResourceAttributeEnumValue | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value", b"resource_attribute_enum_value"]) -> None: ... - -global___UpdateResourceAttributeEnumValueResponse = UpdateResourceAttributeEnumValueResponse - -@typing.final -class ArchiveResourceAttributeEnumValueRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ARCHIVED_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - REPLACEMENT_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - archived_enum_value_id: builtins.str - replacement_enum_value_id: builtins.str - """When the archived_enum_value_id is archived all resource-attributes that reference it will be migrated to the replacement_enum_value_id.""" - def __init__( - self, - *, - archived_enum_value_id: builtins.str = ..., - replacement_enum_value_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["archived_enum_value_id", b"archived_enum_value_id", "replacement_enum_value_id", b"replacement_enum_value_id"]) -> None: ... - -global___ArchiveResourceAttributeEnumValueRequest = ArchiveResourceAttributeEnumValueRequest - -@typing.final -class ArchiveResourceAttributeEnumValueResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTES_MIGRATED_FIELD_NUMBER: builtins.int - resource_attributes_migrated: builtins.int - """Total number of resource-attributes migrated to the replacement enum value.""" - def __init__( - self, - *, - resource_attributes_migrated: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attributes_migrated", b"resource_attributes_migrated"]) -> None: ... - -global___ArchiveResourceAttributeEnumValueResponse = ArchiveResourceAttributeEnumValueResponse - -@typing.final -class UnarchiveResourceAttributeEnumValueRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - resource_attribute_enum_value_id: builtins.str - def __init__( - self, - *, - resource_attribute_enum_value_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value_id", b"resource_attribute_enum_value_id"]) -> None: ... - -global___UnarchiveResourceAttributeEnumValueRequest = UnarchiveResourceAttributeEnumValueRequest - -@typing.final -class UnarchiveResourceAttributeEnumValueResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___UnarchiveResourceAttributeEnumValueResponse = UnarchiveResourceAttributeEnumValueResponse - -@typing.final -class BatchArchiveResourceAttributeEnumValuesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - @typing.final - class EnumValueArchival(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ARCHIVED_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - REPLACEMENT_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - archived_enum_value_id: builtins.str - """The enum value ID to archive.""" - replacement_enum_value_id: builtins.str - """The enum value ID to migrate resource-attributes to.""" - def __init__( - self, - *, - archived_enum_value_id: builtins.str = ..., - replacement_enum_value_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["archived_enum_value_id", b"archived_enum_value_id", "replacement_enum_value_id", b"replacement_enum_value_id"]) -> None: ... - - ARCHIVAL_REQUESTS_FIELD_NUMBER: builtins.int - @property - def archival_requests(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival]: ... - def __init__( - self, - *, - archival_requests: collections.abc.Iterable[global___BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["archival_requests", b"archival_requests"]) -> None: ... - -global___BatchArchiveResourceAttributeEnumValuesRequest = BatchArchiveResourceAttributeEnumValuesRequest - -@typing.final -class BatchArchiveResourceAttributeEnumValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - TOTAL_RESOURCE_ATTRIBUTES_MIGRATED_FIELD_NUMBER: builtins.int - total_resource_attributes_migrated: builtins.int - """Total number of resource-attributes migrated across all archived enum values.""" - def __init__( - self, - *, - total_resource_attributes_migrated: builtins.int = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["total_resource_attributes_migrated", b"total_resource_attributes_migrated"]) -> None: ... - -global___BatchArchiveResourceAttributeEnumValuesResponse = BatchArchiveResourceAttributeEnumValuesResponse - -@typing.final -class BatchUnarchiveResourceAttributeEnumValuesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ENUM_VALUE_IDS_FIELD_NUMBER: builtins.int - @property - def resource_attribute_enum_value_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - resource_attribute_enum_value_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_enum_value_ids", b"resource_attribute_enum_value_ids"]) -> None: ... - -global___BatchUnarchiveResourceAttributeEnumValuesRequest = BatchUnarchiveResourceAttributeEnumValuesRequest - -@typing.final -class BatchUnarchiveResourceAttributeEnumValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___BatchUnarchiveResourceAttributeEnumValuesResponse = BatchUnarchiveResourceAttributeEnumValuesResponse - -@typing.final -class CreateResourceAttributeRequest(google.protobuf.message.Message): - """ResourceAttribute RPC messages""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENTITY_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - resource_attribute_enum_value_id: builtins.str - boolean_value: builtins.bool - number_value: builtins.float - @property - def entity(self) -> global___ResourceAttributeEntityIdentifier: ... - def __init__( - self, - *, - entity: global___ResourceAttributeEntityIdentifier | None = ..., - resource_attribute_key_id: builtins.str = ..., - resource_attribute_enum_value_id: builtins.str = ..., - boolean_value: builtins.bool = ..., - number_value: builtins.float = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "entity", b"entity", "number_value", b"number_value", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "entity", b"entity", "number_value", b"number_value", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "resource_attribute_key_id", b"resource_attribute_key_id", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["resource_attribute_enum_value_id", "boolean_value", "number_value"] | None: ... - -global___CreateResourceAttributeRequest = CreateResourceAttributeRequest - -@typing.final -class CreateResourceAttributeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_FIELD_NUMBER: builtins.int - @property - def resource_attribute(self) -> global___ResourceAttribute: ... - def __init__( - self, - *, - resource_attribute: global___ResourceAttribute | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute", b"resource_attribute"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute", b"resource_attribute"]) -> None: ... - -global___CreateResourceAttributeResponse = CreateResourceAttributeResponse - -@typing.final -class BatchCreateResourceAttributesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - RESOURCE_ATTRIBUTE_ENUM_VALUE_ID_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - ENTITIES_FIELD_NUMBER: builtins.int - resource_attribute_key_id: builtins.str - resource_attribute_enum_value_id: builtins.str - boolean_value: builtins.bool - number_value: builtins.float - @property - def entities(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttributeEntityIdentifier]: ... - def __init__( - self, - *, - resource_attribute_key_id: builtins.str = ..., - resource_attribute_enum_value_id: builtins.str = ..., - boolean_value: builtins.bool = ..., - number_value: builtins.float = ..., - entities: collections.abc.Iterable[global___ResourceAttributeEntityIdentifier] | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "number_value", b"number_value", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "entities", b"entities", "number_value", b"number_value", "resource_attribute_enum_value_id", b"resource_attribute_enum_value_id", "resource_attribute_key_id", b"resource_attribute_key_id", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["resource_attribute_enum_value_id", "boolean_value", "number_value"] | None: ... - -global___BatchCreateResourceAttributesRequest = BatchCreateResourceAttributesRequest - -@typing.final -class BatchCreateResourceAttributesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTES_FIELD_NUMBER: builtins.int - @property - def resource_attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttribute]: ... - def __init__( - self, - *, - resource_attributes: collections.abc.Iterable[global___ResourceAttribute] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attributes", b"resource_attributes"]) -> None: ... - -global___BatchCreateResourceAttributesResponse = BatchCreateResourceAttributesResponse - -@typing.final -class GetResourceAttributeRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ID_FIELD_NUMBER: builtins.int - resource_attribute_id: builtins.str - def __init__( - self, - *, - resource_attribute_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_id", b"resource_attribute_id"]) -> None: ... - -global___GetResourceAttributeRequest = GetResourceAttributeRequest - -@typing.final -class GetResourceAttributeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_FIELD_NUMBER: builtins.int - @property - def resource_attribute(self) -> global___ResourceAttribute: ... - def __init__( - self, - *, - resource_attribute: global___ResourceAttribute | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["resource_attribute", b"resource_attribute"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["resource_attribute", b"resource_attribute"]) -> None: ... - -global___GetResourceAttributeResponse = GetResourceAttributeResponse - -@typing.final -class ListResourceAttributesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - page_size: builtins.int - """The maximum number of resource-attributes to return. The service may return fewer than this value. - If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - 100 will be coerced to 100. - """ - page_token: builtins.str - """A page token, received from a previous `ListResourceAttributes` call. - Provide this to retrieve the subsequent page. - When paginating, all other parameters provided to `ListResourceAttributes` must match - the call that provided the page token. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are `resource_attribute_id`, `entity_id`, `entity_type`, `resource_attribute_key_id`, `created_by_user_id`, - `resource_attribute_enum_value_id`, `boolean_value`, `number_value`, `created_by_user_id`, `created_date`, and `archived_date`. - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - """ - order_by: builtins.str - """How to order the retrieved resource-attributes. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date` and `entity.entity_id`. - If left empty, items are ordered by `created_date` in descending order (newest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "entity.entity_id,created_date desc" - """ - include_archived: builtins.bool - """Whether to include archived resource-attributes. Defaults to false.""" - def __init__( - self, - *, - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListResourceAttributesRequest = ListResourceAttributesRequest - -@typing.final -class ListResourceAttributesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def resource_attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttribute]: ... - def __init__( - self, - *, - resource_attributes: collections.abc.Iterable[global___ResourceAttribute] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "resource_attributes", b"resource_attributes"]) -> None: ... - -global___ListResourceAttributesResponse = ListResourceAttributesResponse - -@typing.final -class ListResourceAttributesByEntityRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - ENTITY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - include_archived: builtins.bool - """Whether to include archived resource-attributes. Defaults to false.""" - page_size: builtins.int - """The maximum number of resource-attributes to return. The service may return fewer than this value. - If unspecified, at most 50 resource-attributes will be returned. The maximum value is 100; values above - 100 will be coerced to 100. - """ - page_token: builtins.str - """A page token, received from a previous `ListResourceAttributesByEntity` call. - Provide this to retrieve the subsequent page. - When paginating, all other parameters provided to `ListResourceAttributesByEntity` must match - the call that provided the page token. - """ - @property - def entity(self) -> global___ResourceAttributeEntityIdentifier: ... - def __init__( - self, - *, - entity: global___ResourceAttributeEntityIdentifier | None = ..., - include_archived: builtins.bool = ..., - page_size: builtins.int = ..., - page_token: builtins.str = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["entity", b"entity"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["entity", b"entity", "include_archived", b"include_archived", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListResourceAttributesByEntityRequest = ListResourceAttributesByEntityRequest - -@typing.final -class ListResourceAttributesByEntityResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def resource_attributes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___ResourceAttribute]: ... - def __init__( - self, - *, - resource_attributes: collections.abc.Iterable[global___ResourceAttribute] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "resource_attributes", b"resource_attributes"]) -> None: ... - -global___ListResourceAttributesByEntityResponse = ListResourceAttributesByEntityResponse - -@typing.final -class ArchiveResourceAttributeRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ID_FIELD_NUMBER: builtins.int - resource_attribute_id: builtins.str - def __init__( - self, - *, - resource_attribute_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_id", b"resource_attribute_id"]) -> None: ... - -global___ArchiveResourceAttributeRequest = ArchiveResourceAttributeRequest - -@typing.final -class ArchiveResourceAttributeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___ArchiveResourceAttributeResponse = ArchiveResourceAttributeResponse - -@typing.final -class UnarchiveResourceAttributeRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_ID_FIELD_NUMBER: builtins.int - resource_attribute_id: builtins.str - def __init__( - self, - *, - resource_attribute_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_id", b"resource_attribute_id"]) -> None: ... - -global___UnarchiveResourceAttributeRequest = UnarchiveResourceAttributeRequest - -@typing.final -class UnarchiveResourceAttributeResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___UnarchiveResourceAttributeResponse = UnarchiveResourceAttributeResponse - -@typing.final -class BatchArchiveResourceAttributesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_IDS_FIELD_NUMBER: builtins.int - @property - def resource_attribute_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - resource_attribute_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_ids", b"resource_attribute_ids"]) -> None: ... - -global___BatchArchiveResourceAttributesRequest = BatchArchiveResourceAttributesRequest - -@typing.final -class BatchArchiveResourceAttributesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___BatchArchiveResourceAttributesResponse = BatchArchiveResourceAttributesResponse - -@typing.final -class BatchUnarchiveResourceAttributesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - RESOURCE_ATTRIBUTE_IDS_FIELD_NUMBER: builtins.int - @property - def resource_attribute_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - resource_attribute_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["resource_attribute_ids", b"resource_attribute_ids"]) -> None: ... - -global___BatchUnarchiveResourceAttributesRequest = BatchUnarchiveResourceAttributesRequest - -@typing.final -class BatchUnarchiveResourceAttributesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___BatchUnarchiveResourceAttributesResponse = BatchUnarchiveResourceAttributesResponse diff --git a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.py b/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.py deleted file mode 100644 index f80dd65ba..000000000 --- a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.py +++ /dev/null @@ -1,871 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from sift.resource_attribute.v1 import resource_attribute_pb2 as sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2 - - -class ResourceAttributeServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.CreateResourceAttributeKey = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyResponse.FromString, - ) - self.GetResourceAttributeKey = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyResponse.FromString, - ) - self.ListResourceAttributeKeys = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysResponse.FromString, - ) - self.UpdateResourceAttributeKey = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyResponse.FromString, - ) - self.ArchiveResourceAttributeKey = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyResponse.FromString, - ) - self.UnarchiveResourceAttributeKey = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyResponse.FromString, - ) - self.BatchArchiveResourceAttributeKeys = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysResponse.FromString, - ) - self.BatchUnarchiveResourceAttributeKeys = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysResponse.FromString, - ) - self.CreateResourceAttributeEnumValue = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueResponse.FromString, - ) - self.GetResourceAttributeEnumValue = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueResponse.FromString, - ) - self.ListResourceAttributeEnumValues = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesResponse.FromString, - ) - self.UpdateResourceAttributeEnumValue = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueResponse.FromString, - ) - self.ArchiveResourceAttributeEnumValue = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueResponse.FromString, - ) - self.UnarchiveResourceAttributeEnumValue = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueResponse.FromString, - ) - self.BatchArchiveResourceAttributeEnumValues = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesResponse.FromString, - ) - self.BatchUnarchiveResourceAttributeEnumValues = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesResponse.FromString, - ) - self.CreateResourceAttribute = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeResponse.FromString, - ) - self.BatchCreateResourceAttributes = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesResponse.FromString, - ) - self.GetResourceAttribute = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeResponse.FromString, - ) - self.ListResourceAttributes = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesResponse.FromString, - ) - self.ListResourceAttributesByEntity = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityResponse.FromString, - ) - self.ArchiveResourceAttribute = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeResponse.FromString, - ) - self.UnarchiveResourceAttribute = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeResponse.FromString, - ) - self.BatchArchiveResourceAttributes = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesResponse.FromString, - ) - self.BatchUnarchiveResourceAttributes = channel.unary_unary( - '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes', - request_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesRequest.SerializeToString, - response_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesResponse.FromString, - ) - - -class ResourceAttributeServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def CreateResourceAttributeKey(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetResourceAttributeKey(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListResourceAttributeKeys(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateResourceAttributeKey(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchiveResourceAttributeKey(self, request, context): - """Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnarchiveResourceAttributeKey(self, request, context): - """Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchArchiveResourceAttributeKeys(self, request, context): - """Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchUnarchiveResourceAttributeKeys(self, request, context): - """Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateResourceAttributeEnumValue(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetResourceAttributeEnumValue(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListResourceAttributeEnumValues(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateResourceAttributeEnumValue(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchiveResourceAttributeEnumValue(self, request, context): - """Archives an enum value and migrates all resource-attributes with that value to a replacement value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnarchiveResourceAttributeEnumValue(self, request, context): - """Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchArchiveResourceAttributeEnumValues(self, request, context): - """Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchUnarchiveResourceAttributeEnumValues(self, request, context): - """Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateResourceAttribute(self, request, context): - """Creates relation between an Entity and a ResourceAttribute Key and Value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchCreateResourceAttributes(self, request, context): - """Creates resource-attributes for multiple entities with the same key-value pair. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetResourceAttribute(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListResourceAttributes(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListResourceAttributesByEntity(self, request, context): - """Lists all resource-attributes for a specific entity. Excludes archived by default. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchiveResourceAttribute(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnarchiveResourceAttribute(self, request, context): - """Missing associated documentation comment in .proto file.""" - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchArchiveResourceAttributes(self, request, context): - """Archives multiple resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchUnarchiveResourceAttributes(self, request, context): - """Unarchives multiple resource-attributes. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_ResourceAttributeServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'CreateResourceAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.CreateResourceAttributeKey, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyResponse.SerializeToString, - ), - 'GetResourceAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.GetResourceAttributeKey, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyResponse.SerializeToString, - ), - 'ListResourceAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.ListResourceAttributeKeys, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysResponse.SerializeToString, - ), - 'UpdateResourceAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.UpdateResourceAttributeKey, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyResponse.SerializeToString, - ), - 'ArchiveResourceAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.ArchiveResourceAttributeKey, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyResponse.SerializeToString, - ), - 'UnarchiveResourceAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.UnarchiveResourceAttributeKey, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyResponse.SerializeToString, - ), - 'BatchArchiveResourceAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.BatchArchiveResourceAttributeKeys, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysResponse.SerializeToString, - ), - 'BatchUnarchiveResourceAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.BatchUnarchiveResourceAttributeKeys, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysResponse.SerializeToString, - ), - 'CreateResourceAttributeEnumValue': grpc.unary_unary_rpc_method_handler( - servicer.CreateResourceAttributeEnumValue, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueResponse.SerializeToString, - ), - 'GetResourceAttributeEnumValue': grpc.unary_unary_rpc_method_handler( - servicer.GetResourceAttributeEnumValue, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueResponse.SerializeToString, - ), - 'ListResourceAttributeEnumValues': grpc.unary_unary_rpc_method_handler( - servicer.ListResourceAttributeEnumValues, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesResponse.SerializeToString, - ), - 'UpdateResourceAttributeEnumValue': grpc.unary_unary_rpc_method_handler( - servicer.UpdateResourceAttributeEnumValue, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueResponse.SerializeToString, - ), - 'ArchiveResourceAttributeEnumValue': grpc.unary_unary_rpc_method_handler( - servicer.ArchiveResourceAttributeEnumValue, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueResponse.SerializeToString, - ), - 'UnarchiveResourceAttributeEnumValue': grpc.unary_unary_rpc_method_handler( - servicer.UnarchiveResourceAttributeEnumValue, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueResponse.SerializeToString, - ), - 'BatchArchiveResourceAttributeEnumValues': grpc.unary_unary_rpc_method_handler( - servicer.BatchArchiveResourceAttributeEnumValues, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesResponse.SerializeToString, - ), - 'BatchUnarchiveResourceAttributeEnumValues': grpc.unary_unary_rpc_method_handler( - servicer.BatchUnarchiveResourceAttributeEnumValues, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesResponse.SerializeToString, - ), - 'CreateResourceAttribute': grpc.unary_unary_rpc_method_handler( - servicer.CreateResourceAttribute, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeResponse.SerializeToString, - ), - 'BatchCreateResourceAttributes': grpc.unary_unary_rpc_method_handler( - servicer.BatchCreateResourceAttributes, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesResponse.SerializeToString, - ), - 'GetResourceAttribute': grpc.unary_unary_rpc_method_handler( - servicer.GetResourceAttribute, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeResponse.SerializeToString, - ), - 'ListResourceAttributes': grpc.unary_unary_rpc_method_handler( - servicer.ListResourceAttributes, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesResponse.SerializeToString, - ), - 'ListResourceAttributesByEntity': grpc.unary_unary_rpc_method_handler( - servicer.ListResourceAttributesByEntity, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityResponse.SerializeToString, - ), - 'ArchiveResourceAttribute': grpc.unary_unary_rpc_method_handler( - servicer.ArchiveResourceAttribute, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeResponse.SerializeToString, - ), - 'UnarchiveResourceAttribute': grpc.unary_unary_rpc_method_handler( - servicer.UnarchiveResourceAttribute, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeResponse.SerializeToString, - ), - 'BatchArchiveResourceAttributes': grpc.unary_unary_rpc_method_handler( - servicer.BatchArchiveResourceAttributes, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesResponse.SerializeToString, - ), - 'BatchUnarchiveResourceAttributes': grpc.unary_unary_rpc_method_handler( - servicer.BatchUnarchiveResourceAttributes, - request_deserializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesRequest.FromString, - response_serializer=sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'sift.resource_attribute.v1.ResourceAttributeService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class ResourceAttributeService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def CreateResourceAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetResourceAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListResourceAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UpdateResourceAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchiveResourceAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UnarchiveResourceAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchArchiveResourceAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchUnarchiveResourceAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreateResourceAttributeEnumValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeEnumValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetResourceAttributeEnumValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeEnumValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListResourceAttributeEnumValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributeEnumValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UpdateResourceAttributeEnumValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UpdateResourceAttributeEnumValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchiveResourceAttributeEnumValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeEnumValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UnarchiveResourceAttributeEnumValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeEnumValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchArchiveResourceAttributeEnumValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributeEnumValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchUnarchiveResourceAttributeEnumValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributeEnumValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreateResourceAttribute(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.CreateResourceAttributeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchCreateResourceAttributes(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchCreateResourceAttributesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetResourceAttribute(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.GetResourceAttributeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListResourceAttributes(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListResourceAttributesByEntity(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ListResourceAttributesByEntityResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchiveResourceAttribute(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.ArchiveResourceAttributeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UnarchiveResourceAttribute(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.UnarchiveResourceAttributeResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchArchiveResourceAttributes(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchArchiveResourceAttributesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchUnarchiveResourceAttributes(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes', - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesRequest.SerializeToString, - sift_dot_resource__attribute_dot_v1_dot_resource__attribute__pb2.BatchUnarchiveResourceAttributesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.pyi b/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.pyi deleted file mode 100644 index 7ba176d3a..000000000 --- a/python/lib/sift/resource_attribute/v1/resource_attribute_pb2_grpc.pyi +++ /dev/null @@ -1,488 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import abc -import collections.abc -import grpc -import grpc.aio -import sift.resource_attribute.v1.resource_attribute_pb2 -import typing - -_T = typing.TypeVar("_T") - -class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ... - -class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg] - ... - -class ResourceAttributeServiceStub: - def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ... - CreateResourceAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyResponse, - ] - - GetResourceAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyResponse, - ] - - ListResourceAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysResponse, - ] - - UpdateResourceAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyResponse, - ] - - ArchiveResourceAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyResponse, - ] - """Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes.""" - - UnarchiveResourceAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyResponse, - ] - """Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes.""" - - BatchArchiveResourceAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysResponse, - ] - """Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes.""" - - BatchUnarchiveResourceAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysResponse, - ] - """Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes.""" - - CreateResourceAttributeEnumValue: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueResponse, - ] - - GetResourceAttributeEnumValue: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueResponse, - ] - - ListResourceAttributeEnumValues: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesResponse, - ] - - UpdateResourceAttributeEnumValue: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueResponse, - ] - - ArchiveResourceAttributeEnumValue: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueResponse, - ] - """Archives an enum value and migrates all resource-attributes with that value to a replacement value.""" - - UnarchiveResourceAttributeEnumValue: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueResponse, - ] - """Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - BatchArchiveResourceAttributeEnumValues: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesResponse, - ] - """Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values.""" - - BatchUnarchiveResourceAttributeEnumValues: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesResponse, - ] - """Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - CreateResourceAttribute: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeResponse, - ] - """Creates relation between an Entity and a ResourceAttribute Key and Value.""" - - BatchCreateResourceAttributes: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesResponse, - ] - """Creates resource-attributes for multiple entities with the same key-value pair.""" - - GetResourceAttribute: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeResponse, - ] - - ListResourceAttributes: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesResponse, - ] - - ListResourceAttributesByEntity: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityResponse, - ] - """Lists all resource-attributes for a specific entity. Excludes archived by default.""" - - ArchiveResourceAttribute: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeResponse, - ] - - UnarchiveResourceAttribute: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeResponse, - ] - - BatchArchiveResourceAttributes: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesResponse, - ] - """Archives multiple resource-attributes.""" - - BatchUnarchiveResourceAttributes: grpc.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesResponse, - ] - """Unarchives multiple resource-attributes.""" - -class ResourceAttributeServiceAsyncStub: - CreateResourceAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyResponse, - ] - - GetResourceAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyResponse, - ] - - ListResourceAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysResponse, - ] - - UpdateResourceAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyResponse, - ] - - ArchiveResourceAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyResponse, - ] - """Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes.""" - - UnarchiveResourceAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyResponse, - ] - """Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes.""" - - BatchArchiveResourceAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysResponse, - ] - """Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes.""" - - BatchUnarchiveResourceAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysResponse, - ] - """Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes.""" - - CreateResourceAttributeEnumValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueResponse, - ] - - GetResourceAttributeEnumValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueResponse, - ] - - ListResourceAttributeEnumValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesResponse, - ] - - UpdateResourceAttributeEnumValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueResponse, - ] - - ArchiveResourceAttributeEnumValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueResponse, - ] - """Archives an enum value and migrates all resource-attributes with that value to a replacement value.""" - - UnarchiveResourceAttributeEnumValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueResponse, - ] - """Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - BatchArchiveResourceAttributeEnumValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesResponse, - ] - """Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values.""" - - BatchUnarchiveResourceAttributeEnumValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesResponse, - ] - """Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - CreateResourceAttribute: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeResponse, - ] - """Creates relation between an Entity and a ResourceAttribute Key and Value.""" - - BatchCreateResourceAttributes: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesResponse, - ] - """Creates resource-attributes for multiple entities with the same key-value pair.""" - - GetResourceAttribute: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeResponse, - ] - - ListResourceAttributes: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesResponse, - ] - - ListResourceAttributesByEntity: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityResponse, - ] - """Lists all resource-attributes for a specific entity. Excludes archived by default.""" - - ArchiveResourceAttribute: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeResponse, - ] - - UnarchiveResourceAttribute: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeRequest, - sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeResponse, - ] - - BatchArchiveResourceAttributes: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesResponse, - ] - """Archives multiple resource-attributes.""" - - BatchUnarchiveResourceAttributes: grpc.aio.UnaryUnaryMultiCallable[ - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesRequest, - sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesResponse, - ] - """Unarchives multiple resource-attributes.""" - -class ResourceAttributeServiceServicer(metaclass=abc.ABCMeta): - @abc.abstractmethod - def CreateResourceAttributeKey( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeKeyResponse]]: ... - - @abc.abstractmethod - def GetResourceAttributeKey( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeKeyResponse]]: ... - - @abc.abstractmethod - def ListResourceAttributeKeys( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeKeysResponse]]: ... - - @abc.abstractmethod - def UpdateResourceAttributeKey( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeKeyResponse]]: ... - - @abc.abstractmethod - def ArchiveResourceAttributeKey( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeKeyResponse]]: - """Archives a resource_attribute key AND all its associated enum values AND all its associated resource-attributes.""" - - @abc.abstractmethod - def UnarchiveResourceAttributeKey( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeKeyResponse]]: - """Unarchives a resource_attribute key BUT NOT its associated enum values OR resource-attributes.""" - - @abc.abstractmethod - def BatchArchiveResourceAttributeKeys( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeKeysResponse]]: - """Archives multiple resource_attribute keys AND all their associated enum values AND all their associated resource-attributes.""" - - @abc.abstractmethod - def BatchUnarchiveResourceAttributeKeys( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeKeysResponse]]: - """Unarchives multiple resource_attribute keys BUT NOT their associated enum values OR resource-attributes.""" - - @abc.abstractmethod - def CreateResourceAttributeEnumValue( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeEnumValueResponse]]: ... - - @abc.abstractmethod - def GetResourceAttributeEnumValue( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeEnumValueResponse]]: ... - - @abc.abstractmethod - def ListResourceAttributeEnumValues( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributeEnumValuesResponse]]: ... - - @abc.abstractmethod - def UpdateResourceAttributeEnumValue( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.UpdateResourceAttributeEnumValueResponse]]: ... - - @abc.abstractmethod - def ArchiveResourceAttributeEnumValue( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeEnumValueResponse]]: - """Archives an enum value and migrates all resource-attributes with that value to a replacement value.""" - - @abc.abstractmethod - def UnarchiveResourceAttributeEnumValue( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeEnumValueResponse]]: - """Unarchives an enum value BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - @abc.abstractmethod - def BatchArchiveResourceAttributeEnumValues( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributeEnumValuesResponse]]: - """Archives multiple enum values and migrates all resource-attributes with those values to their respective replacement values.""" - - @abc.abstractmethod - def BatchUnarchiveResourceAttributeEnumValues( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributeEnumValuesResponse]]: - """Unarchives multiple enum values BUT DOES NOT migrate resource-attributes with a replacement value back to the original value.""" - - @abc.abstractmethod - def CreateResourceAttribute( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.CreateResourceAttributeResponse]]: - """Creates relation between an Entity and a ResourceAttribute Key and Value.""" - - @abc.abstractmethod - def BatchCreateResourceAttributes( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchCreateResourceAttributesResponse]]: - """Creates resource-attributes for multiple entities with the same key-value pair.""" - - @abc.abstractmethod - def GetResourceAttribute( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.GetResourceAttributeResponse]]: ... - - @abc.abstractmethod - def ListResourceAttributes( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesResponse]]: ... - - @abc.abstractmethod - def ListResourceAttributesByEntity( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ListResourceAttributesByEntityResponse]]: - """Lists all resource-attributes for a specific entity. Excludes archived by default.""" - - @abc.abstractmethod - def ArchiveResourceAttribute( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.ArchiveResourceAttributeResponse]]: ... - - @abc.abstractmethod - def UnarchiveResourceAttribute( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.UnarchiveResourceAttributeResponse]]: ... - - @abc.abstractmethod - def BatchArchiveResourceAttributes( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchArchiveResourceAttributesResponse]]: - """Archives multiple resource-attributes.""" - - @abc.abstractmethod - def BatchUnarchiveResourceAttributes( - self, - request: sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesResponse, collections.abc.Awaitable[sift.resource_attribute.v1.resource_attribute_pb2.BatchUnarchiveResourceAttributesResponse]]: - """Unarchives multiple resource-attributes.""" - -def add_ResourceAttributeServiceServicer_to_server(servicer: ResourceAttributeServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ... diff --git a/python/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py b/python/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py index 13694f06d..f747813f2 100644 --- a/python/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py +++ b/python/lib/sift/rule_evaluation/v1/rule_evaluation_pb2.py @@ -17,10 +17,11 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 from sift.common.type.v1 import resource_identifier_pb2 as sift_dot_common_dot_type_dot_v1_dot_resource__identifier__pb2 +from sift.reports.v1 import reports_pb2 as sift_dot_reports_dot_v1_dot_reports__pb2 from sift.rules.v1 import rules_pb2 as sift_dot_rules_dot_v1_dot_rules__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sift/rule_evaluation/v1/rule_evaluation.proto\x12\x17sift.rule_evaluation.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x19sift/rules/v1/rules.proto\"\x96\x06\n\x14\x45valuateRulesRequest\x12;\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierH\x00R\x03run\x12\x42\n\x06\x61ssets\x18\x02 \x01(\x0b\x32(.sift.rule_evaluation.v1.AssetsTimeRangeH\x00R\x06\x61ssets\x12M\n\x0erun_time_range\x18\t \x01(\x0b\x32%.sift.rule_evaluation.v1.RunTimeRangeH\x00R\x0crunTimeRange\x12U\n\x05rules\x18\x03 \x01(\x0b\x32=.sift.rule_evaluation.v1.EvaluateRulesFromCurrentRuleVersionsH\x01R\x05rules\x12]\n\rrule_versions\x18\x04 \x01(\x0b\x32\x36.sift.rule_evaluation.v1.EvaluateRulesFromRuleVersionsH\x01R\x0cruleVersions\x12\x63\n\x0freport_template\x18\x05 \x01(\x0b\x32\x38.sift.rule_evaluation.v1.EvaluateRulesFromReportTemplateH\x01R\x0ereportTemplate\x12\x32\n\x14\x61ll_applicable_rules\x18\n \x01(\x08H\x01R\x12\x61llApplicableRules\x12\x66\n\x12\x61nnotation_options\x18\x06 \x01(\x0b\x32\x37.sift.rule_evaluation.v1.EvaluateRulesAnnotationOptionsR\x11\x61nnotationOptions\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12)\n\x0breport_name\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x02R\nreportName\x88\x01\x01\x42\x06\n\x04timeB\x06\n\x04modeB\x0e\n\x0c_report_name\"\xeb\x01\n\x0cRunTimeRange\x12\x39\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierR\x03run\x12\x43\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00R\tstartTime\x88\x01\x01\x12?\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x07\x65ndTime\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xcf\x01\n\x0f\x41ssetsTimeRange\x12@\n\x06\x61ssets\x18\x01 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x02R\x06\x61ssets\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\"k\n$EvaluateRulesFromCurrentRuleVersions\x12\x43\n\x05rules\x18\x01 \x01(\x0b\x32(.sift.common.type.v1.ResourceIdentifiersB\x03\xe0\x41\x02R\x05rules\"x\n\x1f\x45valuateRulesFromReportTemplate\x12U\n\x0freport_template\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x02R\x0ereportTemplate\"N\n\x1d\x45valuateRulesFromRuleVersions\x12-\n\x10rule_version_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x0eruleVersionIds\"^\n\x1e\x45valuateRulesAnnotationOptions\x12<\n\x04tags\x18\x01 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x02R\x04tags\"\xb7\x01\n\x15\x45valuateRulesResponse\x12=\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02R\x16\x63reatedAnnotationCount\x12%\n\treport_id\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\x08reportId\x88\x01\x01\x12\x1f\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x01R\x05jobId\x88\x01\x01\x42\x0c\n\n_report_idB\t\n\x07_job_id\"\xde\x04\n\x1b\x45valuateRulesPreviewRequest\x12;\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierH\x00R\x03run\x12M\n\x0erun_time_range\x18\x08 \x01(\x0b\x32%.sift.rule_evaluation.v1.RunTimeRangeH\x00R\x0crunTimeRange\x12U\n\x05rules\x18\x03 \x01(\x0b\x32=.sift.rule_evaluation.v1.EvaluateRulesFromCurrentRuleVersionsH\x01R\x05rules\x12]\n\rrule_versions\x18\x04 \x01(\x0b\x32\x36.sift.rule_evaluation.v1.EvaluateRulesFromRuleVersionsH\x01R\x0cruleVersions\x12\x63\n\x0freport_template\x18\x05 \x01(\x0b\x32\x38.sift.rule_evaluation.v1.EvaluateRulesFromReportTemplateH\x01R\x0ereportTemplate\x12Z\n\x0crule_configs\x18\x06 \x01(\x0b\x32\x35.sift.rule_evaluation.v1.EvaluateRulesFromRuleConfigsH\x01R\x0bruleConfigs\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationIdB\x06\n\x04timeB\x06\n\x04mode\"_\n\x1c\x45valuateRulesFromRuleConfigs\x12?\n\x07\x63onfigs\x18\x01 \x03(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x07\x63onfigs\"\xae\x01\n\x1c\x45valuateRulesPreviewResponse\x12=\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02R\x16\x63reatedAnnotationCount\x12O\n\x13\x64ry_run_annotations\x18\x02 \x03(\x0b\x32\x1f.sift.rules.v1.DryRunAnnotationR\x11\x64ryRunAnnotations2\xd8\x06\n\x15RuleEvaluationService\x12\xc3\x02\n\rEvaluateRules\x12-.sift.rule_evaluation.v1.EvaluateRulesRequest\x1a..sift.rule_evaluation.v1.EvaluateRulesResponse\"\xd2\x01\x92\x41\xa7\x01\x12\rEvaluateRules\x1a\x95\x01\x45valuate rules from a designated source against a run or asset and return the total amount of annotations created and the ID of the generated report.\x82\xd3\xe4\x93\x02!\"\x1c/api/v1/rules/evaluate-rules:\x01*\x12\xda\x02\n\x14\x45valuateRulesPreview\x12\x34.sift.rule_evaluation.v1.EvaluateRulesPreviewRequest\x1a\x35.sift.rule_evaluation.v1.EvaluateRulesPreviewResponse\"\xd4\x01\x92\x41\xa1\x01\x12\x14\x45valuateRulesPreview\x1a\x88\x01Perform a dry run evaluation for existing rules or rule configurations against a run and return the annotations that would be generated.\x82\xd3\xe4\x93\x02)\"$/api/v1/rules/evaluate-rules:preview:\x01*\x1a\x9b\x01\x92\x41\x97\x01\x12\x1aService to evaluate rules.\x1ay\n\x1fRead more about what rules are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102B\xca\x01\n\x1b\x63om.sift.rule_evaluation.v1B\x13RuleEvaluationProtoP\x01\xa2\x02\x03SRX\xaa\x02\x16Sift.RuleEvaluation.V1\xca\x02\x16Sift\\RuleEvaluation\\V1\xe2\x02\"Sift\\RuleEvaluation\\V1\\GPBMetadata\xea\x02\x18Sift::RuleEvaluation::V1\x92\x41\x1b\x12\x19\n\x17Rule Evaluation Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sift/rule_evaluation/v1/rule_evaluation.proto\x12\x17sift.rule_evaluation.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x1dsift/reports/v1/reports.proto\x1a\x19sift/rules/v1/rules.proto\"\x96\x06\n\x14\x45valuateRulesRequest\x12;\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierH\x00R\x03run\x12\x42\n\x06\x61ssets\x18\x02 \x01(\x0b\x32(.sift.rule_evaluation.v1.AssetsTimeRangeH\x00R\x06\x61ssets\x12M\n\x0erun_time_range\x18\t \x01(\x0b\x32%.sift.rule_evaluation.v1.RunTimeRangeH\x00R\x0crunTimeRange\x12U\n\x05rules\x18\x03 \x01(\x0b\x32=.sift.rule_evaluation.v1.EvaluateRulesFromCurrentRuleVersionsH\x01R\x05rules\x12]\n\rrule_versions\x18\x04 \x01(\x0b\x32\x36.sift.rule_evaluation.v1.EvaluateRulesFromRuleVersionsH\x01R\x0cruleVersions\x12\x63\n\x0freport_template\x18\x05 \x01(\x0b\x32\x38.sift.rule_evaluation.v1.EvaluateRulesFromReportTemplateH\x01R\x0ereportTemplate\x12\x32\n\x14\x61ll_applicable_rules\x18\n \x01(\x08H\x01R\x12\x61llApplicableRules\x12\x66\n\x12\x61nnotation_options\x18\x06 \x01(\x0b\x32\x37.sift.rule_evaluation.v1.EvaluateRulesAnnotationOptionsR\x11\x61nnotationOptions\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12)\n\x0breport_name\x18\x08 \x01(\tB\x03\xe0\x41\x01H\x02R\nreportName\x88\x01\x01\x42\x06\n\x04timeB\x06\n\x04modeB\x0e\n\x0c_report_name\"\xeb\x01\n\x0cRunTimeRange\x12\x39\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierR\x03run\x12\x43\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00R\tstartTime\x88\x01\x01\x12?\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x07\x65ndTime\x88\x01\x01\x42\r\n\x0b_start_timeB\x0b\n\t_end_time\"\xcf\x01\n\x0f\x41ssetsTimeRange\x12@\n\x06\x61ssets\x18\x01 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x02R\x06\x61ssets\x12>\n\nstart_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\"k\n$EvaluateRulesFromCurrentRuleVersions\x12\x43\n\x05rules\x18\x01 \x01(\x0b\x32(.sift.common.type.v1.ResourceIdentifiersB\x03\xe0\x41\x02R\x05rules\"x\n\x1f\x45valuateRulesFromReportTemplate\x12U\n\x0freport_template\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierB\x03\xe0\x41\x02R\x0ereportTemplate\"N\n\x1d\x45valuateRulesFromRuleVersions\x12-\n\x10rule_version_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x0eruleVersionIds\"^\n\x1e\x45valuateRulesAnnotationOptions\x12<\n\x04tags\x18\x01 \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesB\x03\xe0\x41\x02R\x04tags\"\xb7\x01\n\x15\x45valuateRulesResponse\x12=\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02R\x16\x63reatedAnnotationCount\x12%\n\treport_id\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\x08reportId\x88\x01\x01\x12\x1f\n\x06job_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x01R\x05jobId\x88\x01\x01\x42\x0c\n\n_report_idB\t\n\x07_job_id\"\xde\x04\n\x1b\x45valuateRulesPreviewRequest\x12;\n\x03run\x18\x01 \x01(\x0b\x32\'.sift.common.type.v1.ResourceIdentifierH\x00R\x03run\x12M\n\x0erun_time_range\x18\x08 \x01(\x0b\x32%.sift.rule_evaluation.v1.RunTimeRangeH\x00R\x0crunTimeRange\x12U\n\x05rules\x18\x03 \x01(\x0b\x32=.sift.rule_evaluation.v1.EvaluateRulesFromCurrentRuleVersionsH\x01R\x05rules\x12]\n\rrule_versions\x18\x04 \x01(\x0b\x32\x36.sift.rule_evaluation.v1.EvaluateRulesFromRuleVersionsH\x01R\x0cruleVersions\x12\x63\n\x0freport_template\x18\x05 \x01(\x0b\x32\x38.sift.rule_evaluation.v1.EvaluateRulesFromReportTemplateH\x01R\x0ereportTemplate\x12Z\n\x0crule_configs\x18\x06 \x01(\x0b\x32\x35.sift.rule_evaluation.v1.EvaluateRulesFromRuleConfigsH\x01R\x0bruleConfigs\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationIdB\x06\n\x04timeB\x06\n\x04mode\"_\n\x1c\x45valuateRulesFromRuleConfigs\x12?\n\x07\x63onfigs\x18\x01 \x03(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x07\x63onfigs\"\xae\x01\n\x1c\x45valuateRulesPreviewResponse\x12=\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05\x42\x03\xe0\x41\x02R\x16\x63reatedAnnotationCount\x12O\n\x13\x64ry_run_annotations\x18\x02 \x03(\x0b\x32\x1f.sift.rules.v1.DryRunAnnotationR\x11\x64ryRunAnnotations2\xd8\x06\n\x15RuleEvaluationService\x12\xc3\x02\n\rEvaluateRules\x12-.sift.rule_evaluation.v1.EvaluateRulesRequest\x1a..sift.rule_evaluation.v1.EvaluateRulesResponse\"\xd2\x01\x92\x41\xa7\x01\x12\rEvaluateRules\x1a\x95\x01\x45valuate rules from a designated source against a run or asset and return the total amount of annotations created and the ID of the generated report.\x82\xd3\xe4\x93\x02!\"\x1c/api/v1/rules/evaluate-rules:\x01*\x12\xda\x02\n\x14\x45valuateRulesPreview\x12\x34.sift.rule_evaluation.v1.EvaluateRulesPreviewRequest\x1a\x35.sift.rule_evaluation.v1.EvaluateRulesPreviewResponse\"\xd4\x01\x92\x41\xa1\x01\x12\x14\x45valuateRulesPreview\x1a\x88\x01Perform a dry run evaluation for existing rules or rule configurations against a run and return the annotations that would be generated.\x82\xd3\xe4\x93\x02)\"$/api/v1/rules/evaluate-rules:preview:\x01*\x1a\x9b\x01\x92\x41\x97\x01\x12\x1aService to evaluate rules.\x1ay\n\x1fRead more about what rules are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102B\xca\x01\n\x1b\x63om.sift.rule_evaluation.v1B\x13RuleEvaluationProtoP\x01\xa2\x02\x03SRX\xaa\x02\x16Sift.RuleEvaluation.V1\xca\x02\x16Sift\\RuleEvaluation\\V1\xe2\x02\"Sift\\RuleEvaluation\\V1\\GPBMetadata\xea\x02\x18Sift::RuleEvaluation::V1\x92\x41\x1b\x12\x19\n\x17Rule Evaluation Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -68,28 +69,28 @@ _globals['_RULEEVALUATIONSERVICE'].methods_by_name['EvaluateRules']._serialized_options = b'\222A\247\001\022\rEvaluateRules\032\225\001Evaluate rules from a designated source against a run or asset and return the total amount of annotations created and the ID of the generated report.\202\323\344\223\002!\"\034/api/v1/rules/evaluate-rules:\001*' _globals['_RULEEVALUATIONSERVICE'].methods_by_name['EvaluateRulesPreview']._loaded_options = None _globals['_RULEEVALUATIONSERVICE'].methods_by_name['EvaluateRulesPreview']._serialized_options = b'\222A\241\001\022\024EvaluateRulesPreview\032\210\001Perform a dry run evaluation for existing rules or rule configurations against a run and return the annotations that would be generated.\202\323\344\223\002)\"$/api/v1/rules/evaluate-rules:preview:\001*' - _globals['_EVALUATERULESREQUEST']._serialized_start=293 - _globals['_EVALUATERULESREQUEST']._serialized_end=1083 - _globals['_RUNTIMERANGE']._serialized_start=1086 - _globals['_RUNTIMERANGE']._serialized_end=1321 - _globals['_ASSETSTIMERANGE']._serialized_start=1324 - _globals['_ASSETSTIMERANGE']._serialized_end=1531 - _globals['_EVALUATERULESFROMCURRENTRULEVERSIONS']._serialized_start=1533 - _globals['_EVALUATERULESFROMCURRENTRULEVERSIONS']._serialized_end=1640 - _globals['_EVALUATERULESFROMREPORTTEMPLATE']._serialized_start=1642 - _globals['_EVALUATERULESFROMREPORTTEMPLATE']._serialized_end=1762 - _globals['_EVALUATERULESFROMRULEVERSIONS']._serialized_start=1764 - _globals['_EVALUATERULESFROMRULEVERSIONS']._serialized_end=1842 - _globals['_EVALUATERULESANNOTATIONOPTIONS']._serialized_start=1844 - _globals['_EVALUATERULESANNOTATIONOPTIONS']._serialized_end=1938 - _globals['_EVALUATERULESRESPONSE']._serialized_start=1941 - _globals['_EVALUATERULESRESPONSE']._serialized_end=2124 - _globals['_EVALUATERULESPREVIEWREQUEST']._serialized_start=2127 - _globals['_EVALUATERULESPREVIEWREQUEST']._serialized_end=2733 - _globals['_EVALUATERULESFROMRULECONFIGS']._serialized_start=2735 - _globals['_EVALUATERULESFROMRULECONFIGS']._serialized_end=2830 - _globals['_EVALUATERULESPREVIEWRESPONSE']._serialized_start=2833 - _globals['_EVALUATERULESPREVIEWRESPONSE']._serialized_end=3007 - _globals['_RULEEVALUATIONSERVICE']._serialized_start=3010 - _globals['_RULEEVALUATIONSERVICE']._serialized_end=3866 + _globals['_EVALUATERULESREQUEST']._serialized_start=324 + _globals['_EVALUATERULESREQUEST']._serialized_end=1114 + _globals['_RUNTIMERANGE']._serialized_start=1117 + _globals['_RUNTIMERANGE']._serialized_end=1352 + _globals['_ASSETSTIMERANGE']._serialized_start=1355 + _globals['_ASSETSTIMERANGE']._serialized_end=1562 + _globals['_EVALUATERULESFROMCURRENTRULEVERSIONS']._serialized_start=1564 + _globals['_EVALUATERULESFROMCURRENTRULEVERSIONS']._serialized_end=1671 + _globals['_EVALUATERULESFROMREPORTTEMPLATE']._serialized_start=1673 + _globals['_EVALUATERULESFROMREPORTTEMPLATE']._serialized_end=1793 + _globals['_EVALUATERULESFROMRULEVERSIONS']._serialized_start=1795 + _globals['_EVALUATERULESFROMRULEVERSIONS']._serialized_end=1873 + _globals['_EVALUATERULESANNOTATIONOPTIONS']._serialized_start=1875 + _globals['_EVALUATERULESANNOTATIONOPTIONS']._serialized_end=1969 + _globals['_EVALUATERULESRESPONSE']._serialized_start=1972 + _globals['_EVALUATERULESRESPONSE']._serialized_end=2155 + _globals['_EVALUATERULESPREVIEWREQUEST']._serialized_start=2158 + _globals['_EVALUATERULESPREVIEWREQUEST']._serialized_end=2764 + _globals['_EVALUATERULESFROMRULECONFIGS']._serialized_start=2766 + _globals['_EVALUATERULESFROMRULECONFIGS']._serialized_end=2861 + _globals['_EVALUATERULESPREVIEWRESPONSE']._serialized_start=2864 + _globals['_EVALUATERULESPREVIEWRESPONSE']._serialized_end=3038 + _globals['_RULEEVALUATIONSERVICE']._serialized_start=3041 + _globals['_RULEEVALUATIONSERVICE']._serialized_end=3897 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/rules/v1/rules_pb2.py b/python/lib/sift/rules/v1/rules_pb2.py index 35f1acdb1..d15fb9367 100644 --- a/python/lib/sift/rules/v1/rules_pb2.py +++ b/python/lib/sift/rules/v1/rules_pb2.py @@ -17,12 +17,13 @@ from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 from sift.annotations.v1 import annotations_pb2 as sift_dot_annotations_dot_v1_dot_annotations__pb2 +from sift.common.type.v1 import calculated_channels_pb2 as sift_dot_common_dot_type_dot_v1_dot_calculated__channels__pb2 from sift.common.type.v1 import resource_identifier_pb2 as sift_dot_common_dot_type_dot_v1_dot_resource__identifier__pb2 from sift.common.type.v1 import user_defined_functions_pb2 as sift_dot_common_dot_type_dot_v1_dot_user__defined__functions__pb2 from sift.metadata.v1 import metadata_pb2 as sift_dot_metadata_dot_v1_dot_metadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19sift/rules/v1/rules.proto\x12\rsift.rules.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a%sift/annotations/v1/annotations.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x30sift/common/type/v1/user_defined_functions.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\xbe\t\n\x04Rule\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12 \n\x08\x61sset_id\x18\x02 \x01(\tB\x05\x18\x01\xe0\x41\x02R\x07\x61ssetId\x12\x17\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\"\n\nis_enabled\x18\x06 \x01(\x08\x42\x03\xe0\x41\x02R\tisEnabled\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\t \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\n \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12,\n\x0forganization_id\x18\x0b \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x41\n\nconditions\x18\x0c \x03(\x0b\x32\x1c.sift.rules.v1.RuleConditionB\x03\xe0\x41\x02R\nconditions\x12\x42\n\x0crule_version\x18\r \x01(\x0b\x32\x1a.sift.rules.v1.RuleVersionB\x03\xe0\x41\x02R\x0bruleVersion\x12\"\n\nclient_key\x18\x0e \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12[\n\x13\x61sset_configuration\x18\x0f \x01(\x0b\x32%.sift.rules.v1.RuleAssetConfigurationB\x03\xe0\x41\x02R\x12\x61ssetConfiguration\x12W\n\x13\x63ontextual_channels\x18\x10 \x01(\x0b\x32!.sift.rules.v1.ContextualChannelsB\x03\xe0\x41\x02R\x12\x63ontextualChannels\x12\x44\n\x0c\x64\x65leted_date\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12$\n\x0bis_external\x18\x12 \x01(\x08\x42\x03\xe0\x41\x02R\nisExternal\x12@\n\x08metadata\x18\x13 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12\x44\n\rarchived_date\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x15 \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12@\n\x1ais_live_evaluation_enabled\x18\x16 \x01(\x08\x42\x03\xe0\x41\x01R\x17isLiveEvaluationEnabled\x12\x31\n\x12\x63urrent_version_id\x18\x17 \x01(\tB\x03\xe0\x41\x02R\x10\x63urrentVersionIdJ\x04\x08\x05\x10\x06\"\x9b\x04\n\rRuleCondition\x12/\n\x11rule_condition_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0fruleConditionId\x12\x1c\n\x07rule_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12K\n\nexpression\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleConditionExpressionB\x03\xe0\x41\x02R\nexpression\x12\x42\n\x0c\x63reated_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x08 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x38\n\x07\x61\x63tions\x18\t \x03(\x0b\x32\x19.sift.rules.v1.RuleActionB\x03\xe0\x41\x02R\x07\x61\x63tions\x12>\n\x19rule_condition_version_id\x18\n \x01(\tB\x03\xe0\x41\x02R\x16ruleConditionVersionIdJ\x04\x08\x04\x10\x05\"\xa6\x04\n\nRuleAction\x12)\n\x0erule_action_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cruleActionId\x12/\n\x11rule_condition_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0fruleConditionId\x12?\n\x0b\x61\x63tion_type\x18\x03 \x01(\x0e\x32\x19.sift.rules.v1.ActionKindB\x03\xe0\x41\x02R\nactionType\x12Q\n\rconfiguration\x18\x04 \x01(\x0b\x32&.sift.rules.v1.RuleActionConfigurationB\x03\xe0\x41\x02R\rconfiguration\x12\x42\n\x0c\x63reated_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x08 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x38\n\x16rule_action_version_id\x18\t \x01(\tB\x03\xe0\x41\x02R\x13ruleActionVersionId\"N\n\x16RuleAssetConfiguration\x12\x1b\n\tasset_ids\x18\x01 \x03(\tR\x08\x61ssetIds\x12\x17\n\x07tag_ids\x18\x02 \x03(\tR\x06tagIds\"V\n\x12\x43ontextualChannels\x12@\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1f.sift.rules.v1.ChannelReferenceB\x03\xe0\x41\x02R\x08\x63hannels\"\xb6\x01\n\x1f\x41ssetExpressionValidationResult\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nasset_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12%\n\x0c\x61sset_tag_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\nassetTagId\x12\x1e\n\x05\x65rror\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\xc6\x03\n\x12SearchRulesRequest\x12\x19\n\x05limit\x18\x01 \x01(\rH\x00R\x05limit\x88\x01\x01\x12\x16\n\x06offset\x18\x02 \x01(\rR\x06offset\x12\x35\n\x05order\x18\x03 \x01(\x0e\x32\x1a.sift.rules.v1.SearchOrderH\x01R\x05order\x88\x01\x01\x12!\n\x0cname_matches\x18\x04 \x01(\tR\x0bnameMatches\x12%\n\x0e\x63\x61se_sensitive\x18\x05 \x01(\x08R\rcaseSensitive\x12\x16\n\x06regexp\x18\x06 \x01(\x08R\x06regexp\x12\x1e\n\x08order_by\x18\x07 \x01(\tH\x02R\x07orderBy\x88\x01\x01\x12\x19\n\x08rule_ids\x18\x08 \x03(\tR\x07ruleIds\x12\x1b\n\tasset_ids\x18\t \x03(\tR\x08\x61ssetIds\x12\'\n\x0finclude_deleted\x18\n \x01(\x08R\x0eincludeDeleted\x12\x42\n\nasset_tags\x18\x0b \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesR\tassetTagsB\x08\n\x06_limitB\x08\n\x06_orderB\x0b\n\t_order_by\"`\n\x13SearchRulesResponse\x12\x19\n\x05\x63ount\x18\x01 \x01(\rB\x03\xe0\x41\x02R\x05\x63ount\x12.\n\x05rules\x18\x02 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"R\n\x0eGetRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"?\n\x0fGetRuleResponse\x12,\n\x04rule\x18\x01 \x01(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x04rule\"\\\n\x14\x42\x61tchGetRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"G\n\x15\x42\x61tchGetRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"R\n\x11\x43reateRuleRequest\x12=\n\x06update\x18\x01 \x01(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x06update\"2\n\x12\x43reateRuleResponse\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\"\xad\x06\n\x11UpdateRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tH\x00R\x06ruleId\x88\x01\x01\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12 \n\x08\x61sset_id\x18\x04 \x01(\tB\x05\x18\x01\xe0\x41\x01R\x07\x61ssetId\x12$\n\nis_enabled\x18\x05 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01R\tisEnabled\x12J\n\nconditions\x18\x06 \x03(\x0b\x32%.sift.rules.v1.UpdateConditionRequestB\x03\xe0\x41\x02R\nconditions\x12\'\n\x0forganization_id\x18\x07 \x01(\tR\x0eorganizationId\x12#\n\rversion_notes\x18\x08 \x01(\tR\x0cversionNotes\x12\"\n\nclient_key\x18\t \x01(\tH\x01R\tclientKey\x88\x01\x01\x12V\n\x13\x61sset_configuration\x18\n \x01(\x0b\x32%.sift.rules.v1.RuleAssetConfigurationR\x12\x61ssetConfiguration\x12R\n\x13\x63ontextual_channels\x18\x0b \x01(\x0b\x32!.sift.rules.v1.ContextualChannelsR\x12\x63ontextualChannels\x12\x1f\n\x0bis_external\x18\x0c \x01(\x08R\nisExternal\x12@\n\x08metadata\x18\r \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12$\n\x0bis_archived\x18\x0e \x01(\x08\x42\x03\xe0\x41\x01R\nisArchived\x12\x45\n\x1ais_live_evaluation_enabled\x18\x0f \x01(\x08\x42\x03\xe0\x41\x01H\x02R\x17isLiveEvaluationEnabled\x88\x01\x01\x42\n\n\x08_rule_idB\r\n\x0b_client_keyB\x1d\n\x1b_is_live_evaluation_enabled\"\xf5\x01\n\x16UpdateConditionRequest\x12/\n\x11rule_condition_id\x18\x01 \x01(\tH\x00R\x0fruleConditionId\x88\x01\x01\x12K\n\nexpression\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleConditionExpressionB\x03\xe0\x41\x02R\nexpression\x12\x41\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\".sift.rules.v1.UpdateActionRequestB\x03\xe0\x41\x02R\x07\x61\x63tionsB\x14\n\x12_rule_condition_idJ\x04\x08\x02\x10\x03\"\xe7\x01\n\x13UpdateActionRequest\x12)\n\x0erule_action_id\x18\x01 \x01(\tH\x00R\x0cruleActionId\x88\x01\x01\x12?\n\x0b\x61\x63tion_type\x18\x02 \x01(\x0e\x32\x19.sift.rules.v1.ActionKindB\x03\xe0\x41\x02R\nactionType\x12Q\n\rconfiguration\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleActionConfigurationB\x03\xe0\x41\x02R\rconfigurationB\x11\n\x0f_rule_action_id\"2\n\x12UpdateRuleResponse\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\"\x83\x02\n\x10ValidationResult\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12\x82\x01\n#asset_expression_validation_results\x18\x03 \x03(\x0b\x32..sift.rules.v1.AssetExpressionValidationResultB\x03\xe0\x41\x02R assetExpressionValidationResults\x12\x1e\n\x05\x65rror\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\xcb\x01\n\x17\x42\x61tchUpdateRulesRequest\x12;\n\x05rules\x18\x01 \x03(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x05rules\x12(\n\rvalidate_only\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01R\x0cvalidateOnly\x12I\n\x1eoverride_expression_validation\x18\x03 \x01(\x08\x42\x03\xe0\x41\x02R\x1coverrideExpressionValidation\"\x9d\x04\n\x18\x42\x61tchUpdateRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12\x33\n\x13rules_created_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesCreatedCount\x12\x33\n\x13rules_updated_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesUpdatedCount\x12(\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x02R\x0cvalidateOnly\x12S\n\x12validation_results\x18\x05 \x03(\x0b\x32\x1f.sift.rules.v1.ValidationResultB\x03\xe0\x41\x02R\x11validationResults\x12v\n\x18\x63reated_rule_identifiers\x18\x06 \x03(\x0b\x32\x37.sift.rules.v1.BatchUpdateRulesResponse.RuleIdentifiersB\x03\xe0\x41\x02R\x16\x63reatedRuleIdentifiers\x1a\x80\x01\n\x0fRuleIdentifiers\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12\'\n\nclient_key\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\tclientKey\x88\x01\x01\x42\r\n\x0b_client_key\"U\n\x11\x44\x65leteRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x14\n\x12\x44\x65leteRuleResponse\"_\n\x17\x42\x61tchDeleteRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1a\n\x18\x42\x61tchDeleteRulesResponse\"V\n\x12\x41rchiveRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x15\n\x13\x41rchiveRuleResponse\"`\n\x18\x42\x61tchArchiveRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1b\n\x19\x42\x61tchArchiveRulesResponse\"W\n\x13UndeleteRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x16\n\x14UndeleteRuleResponse\"a\n\x19\x42\x61tchUndeleteRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1c\n\x1a\x42\x61tchUndeleteRulesResponse\"X\n\x14UnarchiveRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x17\n\x15UnarchiveRuleResponse\"b\n\x1a\x42\x61tchUnarchiveRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1d\n\x1b\x42\x61tchUnarchiveRulesResponse\"C\n\x1dViewHumanFriendlyRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId:\x02\x18\x01\"H\n\x1eViewHumanFriendlyRulesResponse\x12\"\n\nrules_json\x18\x01 \x01(\tB\x03\xe0\x41\x02R\trulesJson:\x02\x18\x01\"\x97\x01\n\x1fUpdateHumanFriendlyRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nrules_json\x18\x02 \x01(\tB\x03\xe0\x41\x02R\trulesJson\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId:\x02\x18\x01\"\x8c\x01\n UpdateHumanFriendlyRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12$\n\x0brules_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\nrulesCount\x12\x1f\n\x08messages\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x08messages:\x02\x18\x01\"6\n\x14ViewJsonRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\";\n\x15ViewJsonRulesResponse\x12\"\n\nrules_json\x18\x01 \x01(\tB\x03\xe0\x41\x02R\trulesJson\"\x84\x01\n\x10JsonRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nrules_json\x18\x02 \x01(\tB\x03\xe0\x41\x02R\trulesJson\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\"\xc1\x02\n\x11JsonRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12/\n\x11total_rules_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x0ftotalRulesCount\x12\x33\n\x13rules_created_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesCreatedCount\x12\x33\n\x13rules_updated_count\x18\x04 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesUpdatedCount\x12\x33\n\x13rules_deleted_count\x18\x05 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesDeletedCount\x12*\n\x0e\x65rror_messages\x18\x06 \x01(\tH\x00R\rerrorMessages\x88\x01\x01\x42\x11\n\x0f_error_messages\"Z\n\x18ValidateJsonRulesRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32\x1f.sift.rules.v1.JsonRulesRequestB\x03\xe0\x41\x02R\x07request\"^\n\x19ValidateJsonRulesResponse\x12\x41\n\x08response\x18\x01 \x01(\x0b\x32 .sift.rules.v1.JsonRulesResponseB\x03\xe0\x41\x02R\x08response\"X\n\x16UpdateJsonRulesRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32\x1f.sift.rules.v1.JsonRulesRequestB\x03\xe0\x41\x02R\x07request\"\\\n\x17UpdateJsonRulesResponse\x12\x41\n\x08response\x18\x01 \x01(\x0b\x32 .sift.rules.v1.JsonRulesResponseB\x03\xe0\x41\x02R\x08response\"\x95\x01\n\x10ListRulesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"k\n\x11ListRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\x95\x01\n\x17ListRuleVersionsRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12 \n\tpage_size\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x16\n\x06\x66ilter\x18\x04 \x01(\tR\x06\x66ilter\"\x88\x04\n\x0bRuleVersion\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12+\n\x0frule_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\rruleVersionId\x12\x1d\n\x07version\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x07version\x12\x42\n\x0c\x63reated_date\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12(\n\rversion_notes\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0cversionNotes\x12=\n\x18generated_change_message\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x16generatedChangeMessage\x12\x44\n\x0c\x64\x65leted_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12\x44\n\rarchived_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\n \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\"\x88\x01\n\x18ListRuleVersionsResponse\x12\x44\n\rrule_versions\x18\x01 \x03(\x0b\x32\x1a.sift.rules.v1.RuleVersionB\x03\xe0\x41\x02R\x0cruleVersions\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"D\n\x15GetRuleVersionRequest\x12+\n\x0frule_version_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rruleVersionId\"F\n\x16GetRuleVersionResponse\x12,\n\x04rule\x18\x01 \x01(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x04rule\"L\n\x1b\x42\x61tchGetRuleVersionsRequest\x12-\n\x10rule_version_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x0eruleVersionIds\"N\n\x1c\x42\x61tchGetRuleVersionsResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"\xf4\x01\n\x17RuleConditionExpression\x12r\n\x19single_channel_comparison\x18\x01 \x01(\x0b\x32\x30.sift.rules.v1.SingleChannelComparisonExpressionB\x02\x18\x01H\x00R\x17singleChannelComparison\x12W\n\x12\x63\x61lculated_channel\x18\x02 \x01(\x0b\x32&.sift.rules.v1.CalculatedChannelConfigH\x00R\x11\x63\x61lculatedChannelB\x0c\n\nexpression\"\xcb\x02\n!SingleChannelComparisonExpression\x12\x30\n\x11\x63hannel_component\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x10\x63hannelComponent\x12&\n\x0c\x63hannel_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x63hannelName\x12G\n\ncomparator\x18\x03 \x01(\x0e\x32\".sift.rules.v1.ConditionComparatorB\x03\xe0\x41\x02R\ncomparator\x12\x18\n\x06\x64ouble\x18\x04 \x01(\x01H\x00R\x06\x64ouble\x12\x18\n\x06string\x18\x05 \x01(\tH\x00R\x06string\x12\x42\n\nlast_value\x18\x06 \x01(\x0b\x32!.sift.rules.v1.LastValueThresholdH\x00R\tlastValueB\x0b\n\tthreshold\"\x14\n\x12LastValueThreshold\"\xfb\x02\n\x17\x43\x61lculatedChannelConfig\x12q\n\x12\x63hannel_references\x18\x01 \x03(\x0b\x32=.sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntryB\x03\xe0\x41\x02R\x11\x63hannelReferences\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12\x61\n\x15\x66unction_dependencies\x18\x03 \x03(\x0b\x32\'.sift.common.type.v1.FunctionDependencyB\x03\xe0\x41\x01R\x14\x66unctionDependencies\x1a\x65\n\x16\x43hannelReferencesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.sift.rules.v1.ChannelReferenceR\x05value:\x02\x38\x01\"N\n\x10\x43hannelReference\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12!\n\tcomponent\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tcomponent\"\x97\x02\n\x17RuleActionConfiguration\x12T\n\x0cnotification\x18\x01 \x01(\x0b\x32..sift.rules.v1.NotificationActionConfigurationH\x00R\x0cnotification\x12N\n\nannotation\x18\x02 \x01(\x0b\x32,.sift.rules.v1.AnnotationActionConfigurationH\x00R\nannotation\x12\x45\n\x07webhook\x18\x03 \x01(\x0b\x32).sift.rules.v1.WebhookActionConfigurationH\x00R\x07webhookB\x0f\n\rconfiguration\"T\n\x1fNotificationActionConfiguration\x12\x31\n\x12recipient_user_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x10recipientUserIds\"@\n\x1aWebhookActionConfiguration\x12\"\n\nwebhook_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\twebhookId\"\x94\x02\n\x1d\x41nnotationActionConfiguration\x12\x1c\n\x07tag_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x06tagIds\x12L\n\x0f\x61nnotation_type\x18\x02 \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeR\x0e\x61nnotationType\x12\x32\n\x13\x61ssigned_to_user_id\x18\x03 \x01(\tH\x00R\x10\x61ssignedToUserId\x88\x01\x01\x12;\n\x08metadata\x18\x04 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueR\x08metadataB\x16\n\x14_assigned_to_user_id\"\x8e\x02\n\x14\x45valuateRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x07ruleIds\x12X\n\x12\x61nnotation_options\x18\x02 \x01(\x0b\x32).sift.rules.v1.EvaluatedAnnotationOptionsR\x11\x61nnotationOptions\x12\x17\n\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x12>\n\ntime_range\x18\x04 \x01(\x0b\x32\x1d.sift.rules.v1.TimeRangeQueryH\x00R\ttimeRange\x12\x17\n\x07\x64ry_run\x18\x05 \x01(\x08R\x06\x64ryRun:\x02\x18\x01\x42\x06\n\x04time\"5\n\x1a\x45valuatedAnnotationOptions\x12\x17\n\x07tag_ids\x18\x01 \x03(\tR\x06tagIds\"\x82\x01\n\x0eTimeRangeQuery\x12\x39\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xfd\x01\n\x15\x45valuateRulesResponse\x12\x38\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05R\x16\x63reatedAnnotationCount\x12O\n\x13\x64ry_run_annotations\x18\x02 \x03(\x0b\x32\x1f.sift.rules.v1.DryRunAnnotationR\x11\x64ryRunAnnotations\x12\x1a\n\x06job_id\x18\x03 \x01(\tH\x00R\x05jobId\x88\x01\x01\x12 \n\treport_id\x18\x04 \x01(\tH\x01R\x08reportId\x88\x01\x01:\x02\x18\x01\x42\t\n\x07_job_idB\x0c\n\n_report_id\"\xf7\x01\n\x10\x44ryRunAnnotation\x12!\n\x0c\x63ondition_id\x18\x01 \x01(\tR\x0b\x63onditionId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x30\n\x14\x63ondition_version_id\x18\x05 \x01(\tR\x12\x63onditionVersionId*\\\n\x0bSearchOrder\x12 \n\x18SEARCH_ORDER_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x14\n\x10SEARCH_ORDER_ASC\x10\x01\x12\x15\n\x11SEARCH_ORDER_DESC\x10\x02*\\\n\nActionKind\x12\x1f\n\x17\x41\x43TION_KIND_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x10\n\x0cNOTIFICATION\x10\x01\x12\x0e\n\nANNOTATION\x10\x02\x12\x0b\n\x07WEBHOOK\x10\x03*\xad\x01\n\x13\x43onditionComparator\x12(\n CONDITION_COMPARATOR_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x04\x12\t\n\x05\x45QUAL\x10\x05\x12\r\n\tNOT_EQUAL\x10\x06\x32\x9f\'\n\x0bRuleService\x12\xb9\x01\n\x0bSearchRules\x12!.sift.rules.v1.SearchRulesRequest\x1a\".sift.rules.v1.SearchRulesResponse\"c\x92\x41\x41\x12\x0bSearchRules\x1a\x32Queries rules based on provided search parameters.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/rules/search:\x01*\x12\x94\x01\n\x07GetRule\x12\x1d.sift.rules.v1.GetRuleRequest\x1a\x1e.sift.rules.v1.GetRuleResponse\"J\x92\x41\x32\x12\x07GetRule\x1a\'Retrieves the latest version of a rule.\x82\xd3\xe4\x93\x02\x0f\x12\r/api/v1/rules\x12\xaa\x01\n\rBatchGetRules\x12#.sift.rules.v1.BatchGetRulesRequest\x1a$.sift.rules.v1.BatchGetRulesResponse\"N\x92\x41*\x12\rBatchGetRules\x1a\x19Retrieves multiple rules.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules:batchGet:\x01*\x12\x8b\x01\n\nCreateRule\x12 .sift.rules.v1.CreateRuleRequest\x1a!.sift.rules.v1.CreateRuleResponse\"8\x92\x41\x1d\x12\nCreateRule\x1a\x0f\x43reates a rule.\x82\xd3\xe4\x93\x02\x12\"\r/api/v1/rules:\x01*\x12\x95\x01\n\nUpdateRule\x12 .sift.rules.v1.UpdateRuleRequest\x1a!.sift.rules.v1.UpdateRuleResponse\"B\x92\x41\'\x12\nUpdateRule\x1a\x19Updates an existing rule.\x82\xd3\xe4\x93\x02\x12\x1a\r/api/v1/rules:\x01*\x12\xda\x01\n\x10\x42\x61tchUpdateRules\x12&.sift.rules.v1.BatchUpdateRulesRequest\x1a\'.sift.rules.v1.BatchUpdateRulesResponse\"u\x92\x41N\x12\x10\x42\x61tchUpdateRules\x1a:Updates existing rules or creates rules that do not exist.\x82\xd3\xe4\x93\x02\x1e\x1a\x19/api/v1/rules:batchUpdate:\x01*\x12\xbb\x01\n\nDeleteRule\x12 .sift.rules.v1.DeleteRuleRequest\x1a!.sift.rules.v1.DeleteRuleResponse\"h\x88\x02\x01\x92\x41\x43\x12\nDeleteRule\x1a\x35\x41rchives a rule. Deprecated: Use ArchiveRule instead.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/rules/delete:\x01*\x12\x98\x01\n\x0b\x41rchiveRule\x12!.sift.rules.v1.ArchiveRuleRequest\x1a\".sift.rules.v1.ArchiveRuleResponse\"B\x92\x41\x1f\x12\x0b\x41rchiveRule\x1a\x10\x41rchives a rule.\x82\xd3\xe4\x93\x02\x1a\"\x15/api/v1/rules/archive:\x01*\x12\xe7\x01\n\x10\x42\x61tchDeleteRules\x12&.sift.rules.v1.BatchDeleteRulesRequest\x1a\'.sift.rules.v1.BatchDeleteRulesResponse\"\x81\x01\x88\x02\x01\x92\x41W\x12\x10\x42\x61tchDeleteRules\x1a\x43\x41rchives multiple rules. Deprecated: Use BatchArchiveRules instead.\x82\xd3\xe4\x93\x02\x1e\"\x19/api/v1/rules/batchDelete:\x01*\x12\xba\x01\n\x11\x42\x61tchArchiveRules\x12\'.sift.rules.v1.BatchArchiveRulesRequest\x1a(.sift.rules.v1.BatchArchiveRulesResponse\"R\x92\x41*\x12\x11\x42\x61tchArchiveRules\x1a\x15\x42\x61tch archives rules.\x82\xd3\xe4\x93\x02\x1f\"\x1a/api/v1/rules/batchArchive:\x01*\x12\xa4\x01\n\rUnarchiveRule\x12#.sift.rules.v1.UnarchiveRuleRequest\x1a$.sift.rules.v1.UnarchiveRuleResponse\"H\x92\x41#\x12\rUnarchiveRule\x1a\x12Unarchives a rule.\x82\xd3\xe4\x93\x02\x1c\"\x17/api/v1/rules/unarchive:\x01*\x12\xc6\x01\n\x13\x42\x61tchUnarchiveRules\x12).sift.rules.v1.BatchUnarchiveRulesRequest\x1a*.sift.rules.v1.BatchUnarchiveRulesResponse\"X\x92\x41.\x12\x13\x42\x61tchUnarchiveRules\x1a\x17\x42\x61tch unarchives rules.\x82\xd3\xe4\x93\x02!\"\x1c/api/v1/rules/batchUnarchive:\x01*\x12\xb6\x01\n\x0cUndeleteRule\x12\".sift.rules.v1.UndeleteRuleRequest\x1a#.sift.rules.v1.UndeleteRuleResponse\"]\x88\x02\x01\x92\x41\x36\x12\x0cUndeleteRule\x1a&Deprecated: Use UnarchiveRule instead.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules/undelete:\x01*\x12\xd9\x01\n\x12\x42\x61tchUndeleteRules\x12(.sift.rules.v1.BatchUndeleteRulesRequest\x1a).sift.rules.v1.BatchUndeleteRulesResponse\"n\x88\x02\x01\x92\x41\x42\x12\x12\x42\x61tchUndeleteRules\x1a,Deprecated: Use BatchUnarchiveRules instead.\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/rules/batchUndelete:\x01*\x12\xdf\x01\n\rEvaluateRules\x12#.sift.rules.v1.EvaluateRulesRequest\x1a$.sift.rules.v1.EvaluateRulesResponse\"\x82\x01\x88\x02\x01\x92\x41[\x12\rEvaluateRules\x1aJEvaluates the provided rules and generate annotations based on the result.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules/evaluate:\x01*\x12\x84\x02\n\x16ViewHumanFriendlyRules\x12,.sift.rules.v1.ViewHumanFriendlyRulesRequest\x1a-.sift.rules.v1.ViewHumanFriendlyRulesResponse\"\x8c\x01\x88\x02\x01\x92\x41_\x12\x16ViewHumanFriendlyRules\x1a\x45Retrieve a JSON object containing all of the rules for a given asset.\x82\xd3\xe4\x93\x02!\x12\x1f/api/v1/rules:viewHumanFriendly\x12\xd6\x01\n\rViewJsonRules\x12#.sift.rules.v1.ViewJsonRulesRequest\x1a$.sift.rules.v1.ViewJsonRulesResponse\"z\x88\x02\x01\x92\x41V\x12\rViewJsonRules\x1a\x45Retrieve a JSON object containing all of the rules for a given asset.\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/rules:viewJson\x12\x94\x02\n\x18UpdateHumanFriendlyRules\x12..sift.rules.v1.UpdateHumanFriendlyRulesRequest\x1a/.sift.rules.v1.UpdateHumanFriendlyRulesResponse\"\x96\x01\x88\x02\x01\x92\x41\x64\x12\x18UpdateHumanFriendlyRules\x1aHBatch update rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02&\"!/api/v1/rules:updateHumanFriendly:\x01*\x12\x80\x02\n\x11ValidateJsonRules\x12\'.sift.rules.v1.ValidateJsonRulesRequest\x1a(.sift.rules.v1.ValidateJsonRulesResponse\"\x97\x01\x88\x02\x01\x92\x41l\x12\x11ValidateJsonRules\x1aWValidate a batch update for rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02\x1f\"\x1a/api/v1/rules:validateJson:\x01*\x12\xe7\x01\n\x0fUpdateJsonRules\x12%.sift.rules.v1.UpdateJsonRulesRequest\x1a&.sift.rules.v1.UpdateJsonRulesResponse\"\x84\x01\x88\x02\x01\x92\x41[\x12\x0fUpdateJsonRules\x1aHBatch update rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v1/rules:updateJson:\x01*\x12\x94\x01\n\tListRules\x12\x1f.sift.rules.v1.ListRulesRequest\x1a .sift.rules.v1.ListRulesResponse\"D\x92\x41\'\x12\tListRules\x1a\x1aRetrieves a list of rules.\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/rules:list\x12\xd9\x01\n\x10ListRuleVersions\x12&.sift.rules.v1.ListRuleVersionsRequest\x1a\'.sift.rules.v1.ListRuleVersionsResponse\"t\x92\x41I\x12\x10ListRuleVersions\x1a\x35Retrieves a list of rule versions for the given rule.\x82\xd3\xe4\x93\x02\"\x12 /api/v1/rules/{rule_id}/versions\x12\xb8\x01\n\x0eGetRuleVersion\x12$.sift.rules.v1.GetRuleVersionRequest\x1a%.sift.rules.v1.GetRuleVersionResponse\"Y\x92\x41\x39\x12\x0eGetRuleVersion\x1a\'Retrieves a specific version of a rule.\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/rules:version\x12\xdf\x01\n\x14\x42\x61tchGetRuleVersions\x12*.sift.rules.v1.BatchGetRuleVersionsRequest\x1a+.sift.rules.v1.BatchGetRuleVersionsResponse\"n\x92\x41\x42\x12\x14\x42\x61tchGetRuleVersions\x1a*Retrieves multiple rules by rule versions.\x82\xd3\xe4\x93\x02#\"\x1e/api/v1/rules:batchGetVersions:\x01*\x1a\xb1\x01\x92\x41\xad\x01\x12\x30Service to programmatically interact with rules.\x1ay\n\x1fRead more about what rules are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102B\x88\x01\n\x11\x63om.sift.rules.v1B\nRulesProtoP\x01\xa2\x02\x03SRX\xaa\x02\rSift.Rules.V1\xca\x02\rSift\\Rules\\V1\xe2\x02\x19Sift\\Rules\\V1\\GPBMetadata\xea\x02\x0fSift::Rules::V1\x92\x41\x10\x12\x0e\n\x0cRule Serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x19sift/rules/v1/rules.proto\x12\rsift.rules.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a%sift/annotations/v1/annotations.proto\x1a-sift/common/type/v1/calculated_channels.proto\x1a-sift/common/type/v1/resource_identifier.proto\x1a\x30sift/common/type/v1/user_defined_functions.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\xbe\t\n\x04Rule\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12 \n\x08\x61sset_id\x18\x02 \x01(\tB\x05\x18\x01\xe0\x41\x02R\x07\x61ssetId\x12\x17\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\"\n\nis_enabled\x18\x06 \x01(\x08\x42\x03\xe0\x41\x02R\tisEnabled\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\t \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\n \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12,\n\x0forganization_id\x18\x0b \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x41\n\nconditions\x18\x0c \x03(\x0b\x32\x1c.sift.rules.v1.RuleConditionB\x03\xe0\x41\x02R\nconditions\x12\x42\n\x0crule_version\x18\r \x01(\x0b\x32\x1a.sift.rules.v1.RuleVersionB\x03\xe0\x41\x02R\x0bruleVersion\x12\"\n\nclient_key\x18\x0e \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12[\n\x13\x61sset_configuration\x18\x0f \x01(\x0b\x32%.sift.rules.v1.RuleAssetConfigurationB\x03\xe0\x41\x02R\x12\x61ssetConfiguration\x12W\n\x13\x63ontextual_channels\x18\x10 \x01(\x0b\x32!.sift.rules.v1.ContextualChannelsB\x03\xe0\x41\x02R\x12\x63ontextualChannels\x12\x44\n\x0c\x64\x65leted_date\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12$\n\x0bis_external\x18\x12 \x01(\x08\x42\x03\xe0\x41\x02R\nisExternal\x12@\n\x08metadata\x18\x13 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12\x44\n\rarchived_date\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x15 \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12@\n\x1ais_live_evaluation_enabled\x18\x16 \x01(\x08\x42\x03\xe0\x41\x01R\x17isLiveEvaluationEnabled\x12\x31\n\x12\x63urrent_version_id\x18\x17 \x01(\tB\x03\xe0\x41\x02R\x10\x63urrentVersionIdJ\x04\x08\x05\x10\x06\"\x9b\x04\n\rRuleCondition\x12/\n\x11rule_condition_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0fruleConditionId\x12\x1c\n\x07rule_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12K\n\nexpression\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleConditionExpressionB\x03\xe0\x41\x02R\nexpression\x12\x42\n\x0c\x63reated_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x08 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x38\n\x07\x61\x63tions\x18\t \x03(\x0b\x32\x19.sift.rules.v1.RuleActionB\x03\xe0\x41\x02R\x07\x61\x63tions\x12>\n\x19rule_condition_version_id\x18\n \x01(\tB\x03\xe0\x41\x02R\x16ruleConditionVersionIdJ\x04\x08\x04\x10\x05\"\xa6\x04\n\nRuleAction\x12)\n\x0erule_action_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0cruleActionId\x12/\n\x11rule_condition_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0fruleConditionId\x12?\n\x0b\x61\x63tion_type\x18\x03 \x01(\x0e\x32\x19.sift.rules.v1.ActionKindB\x03\xe0\x41\x02R\nactionType\x12Q\n\rconfiguration\x18\x04 \x01(\x0b\x32&.sift.rules.v1.RuleActionConfigurationB\x03\xe0\x41\x02R\rconfiguration\x12\x42\n\x0c\x63reated_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x08 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x38\n\x16rule_action_version_id\x18\t \x01(\tB\x03\xe0\x41\x02R\x13ruleActionVersionId\"N\n\x16RuleAssetConfiguration\x12\x1b\n\tasset_ids\x18\x01 \x03(\tR\x08\x61ssetIds\x12\x17\n\x07tag_ids\x18\x02 \x03(\tR\x06tagIds\"V\n\x12\x43ontextualChannels\x12@\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x1f.sift.rules.v1.ChannelReferenceB\x03\xe0\x41\x02R\x08\x63hannels\"\xb6\x01\n\x1f\x41ssetExpressionValidationResult\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nasset_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\tassetName\x12%\n\x0c\x61sset_tag_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\nassetTagId\x12\x1e\n\x05\x65rror\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05\x65rror\x88\x01\x01\x42\x08\n\x06_error\"\xc6\x03\n\x12SearchRulesRequest\x12\x19\n\x05limit\x18\x01 \x01(\rH\x00R\x05limit\x88\x01\x01\x12\x16\n\x06offset\x18\x02 \x01(\rR\x06offset\x12\x35\n\x05order\x18\x03 \x01(\x0e\x32\x1a.sift.rules.v1.SearchOrderH\x01R\x05order\x88\x01\x01\x12!\n\x0cname_matches\x18\x04 \x01(\tR\x0bnameMatches\x12%\n\x0e\x63\x61se_sensitive\x18\x05 \x01(\x08R\rcaseSensitive\x12\x16\n\x06regexp\x18\x06 \x01(\x08R\x06regexp\x12\x1e\n\x08order_by\x18\x07 \x01(\tH\x02R\x07orderBy\x88\x01\x01\x12\x19\n\x08rule_ids\x18\x08 \x03(\tR\x07ruleIds\x12\x1b\n\tasset_ids\x18\t \x03(\tR\x08\x61ssetIds\x12\'\n\x0finclude_deleted\x18\n \x01(\x08R\x0eincludeDeleted\x12\x42\n\nasset_tags\x18\x0b \x01(\x0b\x32#.sift.common.type.v1.NamedResourcesR\tassetTagsB\x08\n\x06_limitB\x08\n\x06_orderB\x0b\n\t_order_by\"`\n\x13SearchRulesResponse\x12\x19\n\x05\x63ount\x18\x01 \x01(\rB\x03\xe0\x41\x02R\x05\x63ount\x12.\n\x05rules\x18\x02 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"R\n\x0eGetRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"?\n\x0fGetRuleResponse\x12,\n\x04rule\x18\x01 \x01(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x04rule\"\\\n\x14\x42\x61tchGetRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"G\n\x15\x42\x61tchGetRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"R\n\x11\x43reateRuleRequest\x12=\n\x06update\x18\x01 \x01(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x06update\"2\n\x12\x43reateRuleResponse\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\"\xad\x06\n\x11UpdateRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tH\x00R\x06ruleId\x88\x01\x01\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12 \n\x08\x61sset_id\x18\x04 \x01(\tB\x05\x18\x01\xe0\x41\x01R\x07\x61ssetId\x12$\n\nis_enabled\x18\x05 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01R\tisEnabled\x12J\n\nconditions\x18\x06 \x03(\x0b\x32%.sift.rules.v1.UpdateConditionRequestB\x03\xe0\x41\x02R\nconditions\x12\'\n\x0forganization_id\x18\x07 \x01(\tR\x0eorganizationId\x12#\n\rversion_notes\x18\x08 \x01(\tR\x0cversionNotes\x12\"\n\nclient_key\x18\t \x01(\tH\x01R\tclientKey\x88\x01\x01\x12V\n\x13\x61sset_configuration\x18\n \x01(\x0b\x32%.sift.rules.v1.RuleAssetConfigurationR\x12\x61ssetConfiguration\x12R\n\x13\x63ontextual_channels\x18\x0b \x01(\x0b\x32!.sift.rules.v1.ContextualChannelsR\x12\x63ontextualChannels\x12\x1f\n\x0bis_external\x18\x0c \x01(\x08R\nisExternal\x12@\n\x08metadata\x18\r \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12$\n\x0bis_archived\x18\x0e \x01(\x08\x42\x03\xe0\x41\x01R\nisArchived\x12\x45\n\x1ais_live_evaluation_enabled\x18\x0f \x01(\x08\x42\x03\xe0\x41\x01H\x02R\x17isLiveEvaluationEnabled\x88\x01\x01\x42\n\n\x08_rule_idB\r\n\x0b_client_keyB\x1d\n\x1b_is_live_evaluation_enabled\"\xf5\x01\n\x16UpdateConditionRequest\x12/\n\x11rule_condition_id\x18\x01 \x01(\tH\x00R\x0fruleConditionId\x88\x01\x01\x12K\n\nexpression\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleConditionExpressionB\x03\xe0\x41\x02R\nexpression\x12\x41\n\x07\x61\x63tions\x18\x04 \x03(\x0b\x32\".sift.rules.v1.UpdateActionRequestB\x03\xe0\x41\x02R\x07\x61\x63tionsB\x14\n\x12_rule_condition_idJ\x04\x08\x02\x10\x03\"\xe7\x01\n\x13UpdateActionRequest\x12)\n\x0erule_action_id\x18\x01 \x01(\tH\x00R\x0cruleActionId\x88\x01\x01\x12?\n\x0b\x61\x63tion_type\x18\x02 \x01(\x0e\x32\x19.sift.rules.v1.ActionKindB\x03\xe0\x41\x02R\nactionType\x12Q\n\rconfiguration\x18\x03 \x01(\x0b\x32&.sift.rules.v1.RuleActionConfigurationB\x03\xe0\x41\x02R\rconfigurationB\x11\n\x0f_rule_action_id\"2\n\x12UpdateRuleResponse\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\"\xa5\x02\n\x10ValidationResult\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\x12\x82\x01\n#asset_expression_validation_results\x18\x03 \x03(\x0b\x32..sift.rules.v1.AssetExpressionValidationResultB\x03\xe0\x41\x02R assetExpressionValidationResults\x12\x1e\n\x05\x65rror\x18\x04 \x01(\tB\x03\xe0\x41\x01H\x00R\x05\x65rror\x88\x01\x01\x12 \n\trule_name\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x08ruleNameB\x08\n\x06_error\"\xca\x01\n\x17\x42\x61tchUpdateRulesRequest\x12;\n\x05rules\x18\x01 \x03(\x0b\x32 .sift.rules.v1.UpdateRuleRequestB\x03\xe0\x41\x02R\x05rules\x12(\n\rvalidate_only\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01R\x0cvalidateOnly\x12H\n\x1eoverride_expression_validation\x18\x03 \x01(\x08\x42\x02\x18\x01R\x1coverrideExpressionValidation\"\x9d\x04\n\x18\x42\x61tchUpdateRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12\x33\n\x13rules_created_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesCreatedCount\x12\x33\n\x13rules_updated_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesUpdatedCount\x12(\n\rvalidate_only\x18\x04 \x01(\x08\x42\x03\xe0\x41\x02R\x0cvalidateOnly\x12S\n\x12validation_results\x18\x05 \x03(\x0b\x32\x1f.sift.rules.v1.ValidationResultB\x03\xe0\x41\x02R\x11validationResults\x12v\n\x18\x63reated_rule_identifiers\x18\x06 \x03(\x0b\x32\x37.sift.rules.v1.BatchUpdateRulesResponse.RuleIdentifiersB\x03\xe0\x41\x02R\x16\x63reatedRuleIdentifiers\x1a\x80\x01\n\x0fRuleIdentifiers\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\x12\'\n\nclient_key\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\tclientKey\x88\x01\x01\x42\r\n\x0b_client_key\"U\n\x11\x44\x65leteRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x14\n\x12\x44\x65leteRuleResponse\"_\n\x17\x42\x61tchDeleteRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1a\n\x18\x42\x61tchDeleteRulesResponse\"V\n\x12\x41rchiveRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x15\n\x13\x41rchiveRuleResponse\"`\n\x18\x42\x61tchArchiveRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1b\n\x19\x42\x61tchArchiveRulesResponse\"W\n\x13UndeleteRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x16\n\x14UndeleteRuleResponse\"a\n\x19\x42\x61tchUndeleteRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1c\n\x1a\x42\x61tchUndeleteRulesResponse\"X\n\x14UnarchiveRuleRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x06ruleId\x12\"\n\nclient_key\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tclientKey\"\x17\n\x15UnarchiveRuleResponse\"b\n\x1a\x42\x61tchUnarchiveRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x01R\x07ruleIds\x12$\n\x0b\x63lient_keys\x18\x02 \x03(\tB\x03\xe0\x41\x01R\nclientKeys\"\x1d\n\x1b\x42\x61tchUnarchiveRulesResponse\"C\n\x1dViewHumanFriendlyRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId:\x02\x18\x01\"H\n\x1eViewHumanFriendlyRulesResponse\x12\"\n\nrules_json\x18\x01 \x01(\tB\x03\xe0\x41\x02R\trulesJson:\x02\x18\x01\"\x97\x01\n\x1fUpdateHumanFriendlyRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nrules_json\x18\x02 \x01(\tB\x03\xe0\x41\x02R\trulesJson\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId:\x02\x18\x01\"\x8c\x01\n UpdateHumanFriendlyRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12$\n\x0brules_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\nrulesCount\x12\x1f\n\x08messages\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x08messages:\x02\x18\x01\"6\n\x14ViewJsonRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\";\n\x15ViewJsonRulesResponse\x12\"\n\nrules_json\x18\x01 \x01(\tB\x03\xe0\x41\x02R\trulesJson\"\x84\x01\n\x10JsonRulesRequest\x12\x1e\n\x08\x61sset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x07\x61ssetId\x12\"\n\nrules_json\x18\x02 \x01(\tB\x03\xe0\x41\x02R\trulesJson\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\"\xc1\x02\n\x11JsonRulesResponse\x12\x1d\n\x07success\x18\x01 \x01(\x08\x42\x03\xe0\x41\x02R\x07success\x12/\n\x11total_rules_count\x18\x02 \x01(\x05\x42\x03\xe0\x41\x02R\x0ftotalRulesCount\x12\x33\n\x13rules_created_count\x18\x03 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesCreatedCount\x12\x33\n\x13rules_updated_count\x18\x04 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesUpdatedCount\x12\x33\n\x13rules_deleted_count\x18\x05 \x01(\x05\x42\x03\xe0\x41\x02R\x11rulesDeletedCount\x12*\n\x0e\x65rror_messages\x18\x06 \x01(\tH\x00R\rerrorMessages\x88\x01\x01\x42\x11\n\x0f_error_messages\"Z\n\x18ValidateJsonRulesRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32\x1f.sift.rules.v1.JsonRulesRequestB\x03\xe0\x41\x02R\x07request\"^\n\x19ValidateJsonRulesResponse\x12\x41\n\x08response\x18\x01 \x01(\x0b\x32 .sift.rules.v1.JsonRulesResponseB\x03\xe0\x41\x02R\x08response\"X\n\x16UpdateJsonRulesRequest\x12>\n\x07request\x18\x01 \x01(\x0b\x32\x1f.sift.rules.v1.JsonRulesRequestB\x03\xe0\x41\x02R\x07request\"\\\n\x17UpdateJsonRulesResponse\x12\x41\n\x08response\x18\x01 \x01(\x0b\x32 .sift.rules.v1.JsonRulesResponseB\x03\xe0\x41\x02R\x08response\"\x95\x01\n\x10ListRulesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"k\n\x11ListRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\x95\x01\n\x17ListRuleVersionsRequest\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12 \n\tpage_size\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x16\n\x06\x66ilter\x18\x04 \x01(\tR\x06\x66ilter\"\x88\x04\n\x0bRuleVersion\x12\x1c\n\x07rule_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x06ruleId\x12+\n\x0frule_version_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\rruleVersionId\x12\x1d\n\x07version\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x07version\x12\x42\n\x0c\x63reated_date\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12(\n\rversion_notes\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0cversionNotes\x12=\n\x18generated_change_message\x18\x07 \x01(\tB\x03\xe0\x41\x02R\x16generatedChangeMessage\x12\x44\n\x0c\x64\x65leted_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x05\x18\x01\xe0\x41\x01R\x0b\x64\x65letedDate\x12\x44\n\rarchived_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\n \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\"\x88\x01\n\x18ListRuleVersionsResponse\x12\x44\n\rrule_versions\x18\x01 \x03(\x0b\x32\x1a.sift.rules.v1.RuleVersionB\x03\xe0\x41\x02R\x0cruleVersions\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"D\n\x15GetRuleVersionRequest\x12+\n\x0frule_version_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rruleVersionId\"F\n\x16GetRuleVersionResponse\x12,\n\x04rule\x18\x01 \x01(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x04rule\"L\n\x1b\x42\x61tchGetRuleVersionsRequest\x12-\n\x10rule_version_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x0eruleVersionIds\"N\n\x1c\x42\x61tchGetRuleVersionsResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x13.sift.rules.v1.RuleB\x03\xe0\x41\x02R\x05rules\"\xf4\x01\n\x17RuleConditionExpression\x12r\n\x19single_channel_comparison\x18\x01 \x01(\x0b\x32\x30.sift.rules.v1.SingleChannelComparisonExpressionB\x02\x18\x01H\x00R\x17singleChannelComparison\x12W\n\x12\x63\x61lculated_channel\x18\x02 \x01(\x0b\x32&.sift.rules.v1.CalculatedChannelConfigH\x00R\x11\x63\x61lculatedChannelB\x0c\n\nexpression\"\xcb\x02\n!SingleChannelComparisonExpression\x12\x30\n\x11\x63hannel_component\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x10\x63hannelComponent\x12&\n\x0c\x63hannel_name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x63hannelName\x12G\n\ncomparator\x18\x03 \x01(\x0e\x32\".sift.rules.v1.ConditionComparatorB\x03\xe0\x41\x02R\ncomparator\x12\x18\n\x06\x64ouble\x18\x04 \x01(\x01H\x00R\x06\x64ouble\x12\x18\n\x06string\x18\x05 \x01(\tH\x00R\x06string\x12\x42\n\nlast_value\x18\x06 \x01(\x0b\x32!.sift.rules.v1.LastValueThresholdH\x00R\tlastValueB\x0b\n\tthreshold\"\x14\n\x12LastValueThreshold\"\xfa\x03\n\x17\x43\x61lculatedChannelConfig\x12q\n\x12\x63hannel_references\x18\x01 \x03(\x0b\x32=.sift.rules.v1.CalculatedChannelConfig.ChannelReferencesEntryB\x03\xe0\x41\x02R\x11\x63hannelReferences\x12#\n\nexpression\x18\x02 \x01(\tB\x03\xe0\x41\x02R\nexpression\x12\x61\n\x15\x66unction_dependencies\x18\x03 \x03(\x0b\x32\'.sift.common.type.v1.FunctionDependencyB\x03\xe0\x41\x01R\x14\x66unctionDependencies\x12}\n\x1f\x63\x61lculated_channel_dependencies\x18\x05 \x03(\x0b\x32\x30.sift.common.type.v1.CalculatedChannelDependencyB\x03\xe0\x41\x03R\x1d\x63\x61lculatedChannelDependencies\x1a\x65\n\x16\x43hannelReferencesEntry\x12\x10\n\x03key\x18\x01 \x01(\tR\x03key\x12\x35\n\x05value\x18\x02 \x01(\x0b\x32\x1f.sift.rules.v1.ChannelReferenceR\x05value:\x02\x38\x01\"\xbd\x01\n\x10\x43hannelReference\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01R\x04name\x12!\n\tcomponent\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tcomponent\x12K\n\x1d\x63\x61lculated_channel_version_id\x18\x03 \x01(\tB\x03\xe0\x41\x01H\x00R\x1a\x63\x61lculatedChannelVersionId\x88\x01\x01\x42 \n\x1e_calculated_channel_version_id\"\x97\x02\n\x17RuleActionConfiguration\x12T\n\x0cnotification\x18\x01 \x01(\x0b\x32..sift.rules.v1.NotificationActionConfigurationH\x00R\x0cnotification\x12N\n\nannotation\x18\x02 \x01(\x0b\x32,.sift.rules.v1.AnnotationActionConfigurationH\x00R\nannotation\x12\x45\n\x07webhook\x18\x03 \x01(\x0b\x32).sift.rules.v1.WebhookActionConfigurationH\x00R\x07webhookB\x0f\n\rconfiguration\"T\n\x1fNotificationActionConfiguration\x12\x31\n\x12recipient_user_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x10recipientUserIds\"@\n\x1aWebhookActionConfiguration\x12\"\n\nwebhook_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\twebhookId\"\x94\x02\n\x1d\x41nnotationActionConfiguration\x12\x1c\n\x07tag_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x06tagIds\x12L\n\x0f\x61nnotation_type\x18\x02 \x01(\x0e\x32#.sift.annotations.v1.AnnotationTypeR\x0e\x61nnotationType\x12\x32\n\x13\x61ssigned_to_user_id\x18\x03 \x01(\tH\x00R\x10\x61ssignedToUserId\x88\x01\x01\x12;\n\x08metadata\x18\x04 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueR\x08metadataB\x16\n\x14_assigned_to_user_id\"\x8e\x02\n\x14\x45valuateRulesRequest\x12\x1e\n\x08rule_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x07ruleIds\x12X\n\x12\x61nnotation_options\x18\x02 \x01(\x0b\x32).sift.rules.v1.EvaluatedAnnotationOptionsR\x11\x61nnotationOptions\x12\x17\n\x06run_id\x18\x03 \x01(\tH\x00R\x05runId\x12>\n\ntime_range\x18\x04 \x01(\x0b\x32\x1d.sift.rules.v1.TimeRangeQueryH\x00R\ttimeRange\x12\x17\n\x07\x64ry_run\x18\x05 \x01(\x08R\x06\x64ryRun:\x02\x18\x01\x42\x06\n\x04time\"5\n\x1a\x45valuatedAnnotationOptions\x12\x17\n\x07tag_ids\x18\x01 \x03(\tR\x06tagIds\"\x82\x01\n\x0eTimeRangeQuery\x12\x39\n\nstart_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\tstartTime\x12\x35\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampR\x07\x65ndTime\"\xfd\x01\n\x15\x45valuateRulesResponse\x12\x38\n\x18\x63reated_annotation_count\x18\x01 \x01(\x05R\x16\x63reatedAnnotationCount\x12O\n\x13\x64ry_run_annotations\x18\x02 \x03(\x0b\x32\x1f.sift.rules.v1.DryRunAnnotationR\x11\x64ryRunAnnotations\x12\x1a\n\x06job_id\x18\x03 \x01(\tH\x00R\x05jobId\x88\x01\x01\x12 \n\treport_id\x18\x04 \x01(\tH\x01R\x08reportId\x88\x01\x01:\x02\x18\x01\x42\t\n\x07_job_idB\x0c\n\n_report_id\"\xf7\x01\n\x10\x44ryRunAnnotation\x12!\n\x0c\x63ondition_id\x18\x01 \x01(\tR\x0b\x63onditionId\x12\x12\n\x04name\x18\x02 \x01(\tR\x04name\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12:\n\x08\x65nd_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x07\x65ndTime\x12\x30\n\x14\x63ondition_version_id\x18\x05 \x01(\tR\x12\x63onditionVersionId*\\\n\x0bSearchOrder\x12 \n\x18SEARCH_ORDER_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x14\n\x10SEARCH_ORDER_ASC\x10\x01\x12\x15\n\x11SEARCH_ORDER_DESC\x10\x02*\\\n\nActionKind\x12\x1f\n\x17\x41\x43TION_KIND_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\x10\n\x0cNOTIFICATION\x10\x01\x12\x0e\n\nANNOTATION\x10\x02\x12\x0b\n\x07WEBHOOK\x10\x03*\xad\x01\n\x13\x43onditionComparator\x12(\n CONDITION_COMPARATOR_UNSPECIFIED\x10\x00\x1a\x02\x08\x01\x12\r\n\tLESS_THAN\x10\x01\x12\x16\n\x12LESS_THAN_OR_EQUAL\x10\x02\x12\x10\n\x0cGREATER_THAN\x10\x03\x12\x19\n\x15GREATER_THAN_OR_EQUAL\x10\x04\x12\t\n\x05\x45QUAL\x10\x05\x12\r\n\tNOT_EQUAL\x10\x06\x32\x9f\'\n\x0bRuleService\x12\xb9\x01\n\x0bSearchRules\x12!.sift.rules.v1.SearchRulesRequest\x1a\".sift.rules.v1.SearchRulesResponse\"c\x92\x41\x41\x12\x0bSearchRules\x1a\x32Queries rules based on provided search parameters.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/rules/search:\x01*\x12\x94\x01\n\x07GetRule\x12\x1d.sift.rules.v1.GetRuleRequest\x1a\x1e.sift.rules.v1.GetRuleResponse\"J\x92\x41\x32\x12\x07GetRule\x1a\'Retrieves the latest version of a rule.\x82\xd3\xe4\x93\x02\x0f\x12\r/api/v1/rules\x12\xaa\x01\n\rBatchGetRules\x12#.sift.rules.v1.BatchGetRulesRequest\x1a$.sift.rules.v1.BatchGetRulesResponse\"N\x92\x41*\x12\rBatchGetRules\x1a\x19Retrieves multiple rules.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules:batchGet:\x01*\x12\x8b\x01\n\nCreateRule\x12 .sift.rules.v1.CreateRuleRequest\x1a!.sift.rules.v1.CreateRuleResponse\"8\x92\x41\x1d\x12\nCreateRule\x1a\x0f\x43reates a rule.\x82\xd3\xe4\x93\x02\x12\"\r/api/v1/rules:\x01*\x12\x95\x01\n\nUpdateRule\x12 .sift.rules.v1.UpdateRuleRequest\x1a!.sift.rules.v1.UpdateRuleResponse\"B\x92\x41\'\x12\nUpdateRule\x1a\x19Updates an existing rule.\x82\xd3\xe4\x93\x02\x12\x1a\r/api/v1/rules:\x01*\x12\xda\x01\n\x10\x42\x61tchUpdateRules\x12&.sift.rules.v1.BatchUpdateRulesRequest\x1a\'.sift.rules.v1.BatchUpdateRulesResponse\"u\x92\x41N\x12\x10\x42\x61tchUpdateRules\x1a:Updates existing rules or creates rules that do not exist.\x82\xd3\xe4\x93\x02\x1e\x1a\x19/api/v1/rules:batchUpdate:\x01*\x12\xbb\x01\n\nDeleteRule\x12 .sift.rules.v1.DeleteRuleRequest\x1a!.sift.rules.v1.DeleteRuleResponse\"h\x88\x02\x01\x92\x41\x43\x12\nDeleteRule\x1a\x35\x41rchives a rule. Deprecated: Use ArchiveRule instead.\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/rules/delete:\x01*\x12\x98\x01\n\x0b\x41rchiveRule\x12!.sift.rules.v1.ArchiveRuleRequest\x1a\".sift.rules.v1.ArchiveRuleResponse\"B\x92\x41\x1f\x12\x0b\x41rchiveRule\x1a\x10\x41rchives a rule.\x82\xd3\xe4\x93\x02\x1a\"\x15/api/v1/rules/archive:\x01*\x12\xe7\x01\n\x10\x42\x61tchDeleteRules\x12&.sift.rules.v1.BatchDeleteRulesRequest\x1a\'.sift.rules.v1.BatchDeleteRulesResponse\"\x81\x01\x88\x02\x01\x92\x41W\x12\x10\x42\x61tchDeleteRules\x1a\x43\x41rchives multiple rules. Deprecated: Use BatchArchiveRules instead.\x82\xd3\xe4\x93\x02\x1e\"\x19/api/v1/rules/batchDelete:\x01*\x12\xba\x01\n\x11\x42\x61tchArchiveRules\x12\'.sift.rules.v1.BatchArchiveRulesRequest\x1a(.sift.rules.v1.BatchArchiveRulesResponse\"R\x92\x41*\x12\x11\x42\x61tchArchiveRules\x1a\x15\x42\x61tch archives rules.\x82\xd3\xe4\x93\x02\x1f\"\x1a/api/v1/rules/batchArchive:\x01*\x12\xa4\x01\n\rUnarchiveRule\x12#.sift.rules.v1.UnarchiveRuleRequest\x1a$.sift.rules.v1.UnarchiveRuleResponse\"H\x92\x41#\x12\rUnarchiveRule\x1a\x12Unarchives a rule.\x82\xd3\xe4\x93\x02\x1c\"\x17/api/v1/rules/unarchive:\x01*\x12\xc6\x01\n\x13\x42\x61tchUnarchiveRules\x12).sift.rules.v1.BatchUnarchiveRulesRequest\x1a*.sift.rules.v1.BatchUnarchiveRulesResponse\"X\x92\x41.\x12\x13\x42\x61tchUnarchiveRules\x1a\x17\x42\x61tch unarchives rules.\x82\xd3\xe4\x93\x02!\"\x1c/api/v1/rules/batchUnarchive:\x01*\x12\xb6\x01\n\x0cUndeleteRule\x12\".sift.rules.v1.UndeleteRuleRequest\x1a#.sift.rules.v1.UndeleteRuleResponse\"]\x88\x02\x01\x92\x41\x36\x12\x0cUndeleteRule\x1a&Deprecated: Use UnarchiveRule instead.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules/undelete:\x01*\x12\xd9\x01\n\x12\x42\x61tchUndeleteRules\x12(.sift.rules.v1.BatchUndeleteRulesRequest\x1a).sift.rules.v1.BatchUndeleteRulesResponse\"n\x88\x02\x01\x92\x41\x42\x12\x12\x42\x61tchUndeleteRules\x1a,Deprecated: Use BatchUnarchiveRules instead.\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/rules/batchUndelete:\x01*\x12\xdf\x01\n\rEvaluateRules\x12#.sift.rules.v1.EvaluateRulesRequest\x1a$.sift.rules.v1.EvaluateRulesResponse\"\x82\x01\x88\x02\x01\x92\x41[\x12\rEvaluateRules\x1aJEvaluates the provided rules and generate annotations based on the result.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/rules/evaluate:\x01*\x12\x84\x02\n\x16ViewHumanFriendlyRules\x12,.sift.rules.v1.ViewHumanFriendlyRulesRequest\x1a-.sift.rules.v1.ViewHumanFriendlyRulesResponse\"\x8c\x01\x88\x02\x01\x92\x41_\x12\x16ViewHumanFriendlyRules\x1a\x45Retrieve a JSON object containing all of the rules for a given asset.\x82\xd3\xe4\x93\x02!\x12\x1f/api/v1/rules:viewHumanFriendly\x12\xd6\x01\n\rViewJsonRules\x12#.sift.rules.v1.ViewJsonRulesRequest\x1a$.sift.rules.v1.ViewJsonRulesResponse\"z\x88\x02\x01\x92\x41V\x12\rViewJsonRules\x1a\x45Retrieve a JSON object containing all of the rules for a given asset.\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/rules:viewJson\x12\x94\x02\n\x18UpdateHumanFriendlyRules\x12..sift.rules.v1.UpdateHumanFriendlyRulesRequest\x1a/.sift.rules.v1.UpdateHumanFriendlyRulesResponse\"\x96\x01\x88\x02\x01\x92\x41\x64\x12\x18UpdateHumanFriendlyRules\x1aHBatch update rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02&\"!/api/v1/rules:updateHumanFriendly:\x01*\x12\x80\x02\n\x11ValidateJsonRules\x12\'.sift.rules.v1.ValidateJsonRulesRequest\x1a(.sift.rules.v1.ValidateJsonRulesResponse\"\x97\x01\x88\x02\x01\x92\x41l\x12\x11ValidateJsonRules\x1aWValidate a batch update for rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02\x1f\"\x1a/api/v1/rules:validateJson:\x01*\x12\xe7\x01\n\x0fUpdateJsonRules\x12%.sift.rules.v1.UpdateJsonRulesRequest\x1a&.sift.rules.v1.UpdateJsonRulesResponse\"\x84\x01\x88\x02\x01\x92\x41[\x12\x0fUpdateJsonRules\x1aHBatch update rules given the `rules_json` which is a JSON list of rules.\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v1/rules:updateJson:\x01*\x12\x94\x01\n\tListRules\x12\x1f.sift.rules.v1.ListRulesRequest\x1a .sift.rules.v1.ListRulesResponse\"D\x92\x41\'\x12\tListRules\x1a\x1aRetrieves a list of rules.\x82\xd3\xe4\x93\x02\x14\x12\x12/api/v1/rules:list\x12\xd9\x01\n\x10ListRuleVersions\x12&.sift.rules.v1.ListRuleVersionsRequest\x1a\'.sift.rules.v1.ListRuleVersionsResponse\"t\x92\x41I\x12\x10ListRuleVersions\x1a\x35Retrieves a list of rule versions for the given rule.\x82\xd3\xe4\x93\x02\"\x12 /api/v1/rules/{rule_id}/versions\x12\xb8\x01\n\x0eGetRuleVersion\x12$.sift.rules.v1.GetRuleVersionRequest\x1a%.sift.rules.v1.GetRuleVersionResponse\"Y\x92\x41\x39\x12\x0eGetRuleVersion\x1a\'Retrieves a specific version of a rule.\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v1/rules:version\x12\xdf\x01\n\x14\x42\x61tchGetRuleVersions\x12*.sift.rules.v1.BatchGetRuleVersionsRequest\x1a+.sift.rules.v1.BatchGetRuleVersionsResponse\"n\x92\x41\x42\x12\x14\x42\x61tchGetRuleVersions\x1a*Retrieves multiple rules by rule versions.\x82\xd3\xe4\x93\x02#\"\x1e/api/v1/rules:batchGetVersions:\x01*\x1a\xb1\x01\x92\x41\xad\x01\x12\x30Service to programmatically interact with rules.\x1ay\n\x1fRead more about what rules are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265421102B\x88\x01\n\x11\x63om.sift.rules.v1B\nRulesProtoP\x01\xa2\x02\x03SRX\xaa\x02\rSift.Rules.V1\xca\x02\rSift\\Rules\\V1\xe2\x02\x19Sift\\Rules\\V1\\GPBMetadata\xea\x02\x0fSift::Rules::V1\x92\x41\x10\x12\x0e\n\x0cRule Serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -180,12 +181,14 @@ _globals['_VALIDATIONRESULT'].fields_by_name['asset_expression_validation_results']._serialized_options = b'\340A\002' _globals['_VALIDATIONRESULT'].fields_by_name['error']._loaded_options = None _globals['_VALIDATIONRESULT'].fields_by_name['error']._serialized_options = b'\340A\001' + _globals['_VALIDATIONRESULT'].fields_by_name['rule_name']._loaded_options = None + _globals['_VALIDATIONRESULT'].fields_by_name['rule_name']._serialized_options = b'\340A\001' _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['rules']._loaded_options = None _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['rules']._serialized_options = b'\340A\002' _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['validate_only']._loaded_options = None _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['validate_only']._serialized_options = b'\340A\001' _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['override_expression_validation']._loaded_options = None - _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['override_expression_validation']._serialized_options = b'\340A\002' + _globals['_BATCHUPDATERULESREQUEST'].fields_by_name['override_expression_validation']._serialized_options = b'\030\001' _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS'].fields_by_name['rule_id']._loaded_options = None _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS'].fields_by_name['rule_id']._serialized_options = b'\340A\002' _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS'].fields_by_name['name']._loaded_options = None @@ -350,10 +353,14 @@ _globals['_CALCULATEDCHANNELCONFIG'].fields_by_name['expression']._serialized_options = b'\340A\002' _globals['_CALCULATEDCHANNELCONFIG'].fields_by_name['function_dependencies']._loaded_options = None _globals['_CALCULATEDCHANNELCONFIG'].fields_by_name['function_dependencies']._serialized_options = b'\340A\001' + _globals['_CALCULATEDCHANNELCONFIG'].fields_by_name['calculated_channel_dependencies']._loaded_options = None + _globals['_CALCULATEDCHANNELCONFIG'].fields_by_name['calculated_channel_dependencies']._serialized_options = b'\340A\003' _globals['_CHANNELREFERENCE'].fields_by_name['name']._loaded_options = None - _globals['_CHANNELREFERENCE'].fields_by_name['name']._serialized_options = b'\340A\002' + _globals['_CHANNELREFERENCE'].fields_by_name['name']._serialized_options = b'\340A\001' _globals['_CHANNELREFERENCE'].fields_by_name['component']._loaded_options = None - _globals['_CHANNELREFERENCE'].fields_by_name['component']._serialized_options = b'\340A\002' + _globals['_CHANNELREFERENCE'].fields_by_name['component']._serialized_options = b'\340A\001' + _globals['_CHANNELREFERENCE'].fields_by_name['calculated_channel_version_id']._loaded_options = None + _globals['_CHANNELREFERENCE'].fields_by_name['calculated_channel_version_id']._serialized_options = b'\340A\001' _globals['_NOTIFICATIONACTIONCONFIGURATION'].fields_by_name['recipient_user_ids']._loaded_options = None _globals['_NOTIFICATIONACTIONCONFIGURATION'].fields_by_name['recipient_user_ids']._serialized_options = b'\340A\002' _globals['_WEBHOOKACTIONCONFIGURATION'].fields_by_name['webhook_id']._loaded_options = None @@ -420,160 +427,160 @@ _globals['_RULESERVICE'].methods_by_name['GetRuleVersion']._serialized_options = b'\222A9\022\016GetRuleVersion\032\'Retrieves a specific version of a rule.\202\323\344\223\002\027\022\025/api/v1/rules:version' _globals['_RULESERVICE'].methods_by_name['BatchGetRuleVersions']._loaded_options = None _globals['_RULESERVICE'].methods_by_name['BatchGetRuleVersions']._serialized_options = b'\222AB\022\024BatchGetRuleVersions\032*Retrieves multiple rules by rule versions.\202\323\344\223\002#\"\036/api/v1/rules:batchGetVersions:\001*' - _globals['_SEARCHORDER']._serialized_start=12859 - _globals['_SEARCHORDER']._serialized_end=12951 - _globals['_ACTIONKIND']._serialized_start=12953 - _globals['_ACTIONKIND']._serialized_end=13045 - _globals['_CONDITIONCOMPARATOR']._serialized_start=13048 - _globals['_CONDITIONCOMPARATOR']._serialized_end=13221 - _globals['_RULE']._serialized_start=358 - _globals['_RULE']._serialized_end=1572 - _globals['_RULECONDITION']._serialized_start=1575 - _globals['_RULECONDITION']._serialized_end=2114 - _globals['_RULEACTION']._serialized_start=2117 - _globals['_RULEACTION']._serialized_end=2667 - _globals['_RULEASSETCONFIGURATION']._serialized_start=2669 - _globals['_RULEASSETCONFIGURATION']._serialized_end=2747 - _globals['_CONTEXTUALCHANNELS']._serialized_start=2749 - _globals['_CONTEXTUALCHANNELS']._serialized_end=2835 - _globals['_ASSETEXPRESSIONVALIDATIONRESULT']._serialized_start=2838 - _globals['_ASSETEXPRESSIONVALIDATIONRESULT']._serialized_end=3020 - _globals['_SEARCHRULESREQUEST']._serialized_start=3023 - _globals['_SEARCHRULESREQUEST']._serialized_end=3477 - _globals['_SEARCHRULESRESPONSE']._serialized_start=3479 - _globals['_SEARCHRULESRESPONSE']._serialized_end=3575 - _globals['_GETRULEREQUEST']._serialized_start=3577 - _globals['_GETRULEREQUEST']._serialized_end=3659 - _globals['_GETRULERESPONSE']._serialized_start=3661 - _globals['_GETRULERESPONSE']._serialized_end=3724 - _globals['_BATCHGETRULESREQUEST']._serialized_start=3726 - _globals['_BATCHGETRULESREQUEST']._serialized_end=3818 - _globals['_BATCHGETRULESRESPONSE']._serialized_start=3820 - _globals['_BATCHGETRULESRESPONSE']._serialized_end=3891 - _globals['_CREATERULEREQUEST']._serialized_start=3893 - _globals['_CREATERULEREQUEST']._serialized_end=3975 - _globals['_CREATERULERESPONSE']._serialized_start=3977 - _globals['_CREATERULERESPONSE']._serialized_end=4027 - _globals['_UPDATERULEREQUEST']._serialized_start=4030 - _globals['_UPDATERULEREQUEST']._serialized_end=4843 - _globals['_UPDATECONDITIONREQUEST']._serialized_start=4846 - _globals['_UPDATECONDITIONREQUEST']._serialized_end=5091 - _globals['_UPDATEACTIONREQUEST']._serialized_start=5094 - _globals['_UPDATEACTIONREQUEST']._serialized_end=5325 - _globals['_UPDATERULERESPONSE']._serialized_start=5327 - _globals['_UPDATERULERESPONSE']._serialized_end=5377 - _globals['_VALIDATIONRESULT']._serialized_start=5380 - _globals['_VALIDATIONRESULT']._serialized_end=5639 - _globals['_BATCHUPDATERULESREQUEST']._serialized_start=5642 - _globals['_BATCHUPDATERULESREQUEST']._serialized_end=5845 - _globals['_BATCHUPDATERULESRESPONSE']._serialized_start=5848 - _globals['_BATCHUPDATERULESRESPONSE']._serialized_end=6389 - _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS']._serialized_start=6261 - _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS']._serialized_end=6389 - _globals['_DELETERULEREQUEST']._serialized_start=6391 - _globals['_DELETERULEREQUEST']._serialized_end=6476 - _globals['_DELETERULERESPONSE']._serialized_start=6478 - _globals['_DELETERULERESPONSE']._serialized_end=6498 - _globals['_BATCHDELETERULESREQUEST']._serialized_start=6500 - _globals['_BATCHDELETERULESREQUEST']._serialized_end=6595 - _globals['_BATCHDELETERULESRESPONSE']._serialized_start=6597 - _globals['_BATCHDELETERULESRESPONSE']._serialized_end=6623 - _globals['_ARCHIVERULEREQUEST']._serialized_start=6625 - _globals['_ARCHIVERULEREQUEST']._serialized_end=6711 - _globals['_ARCHIVERULERESPONSE']._serialized_start=6713 - _globals['_ARCHIVERULERESPONSE']._serialized_end=6734 - _globals['_BATCHARCHIVERULESREQUEST']._serialized_start=6736 - _globals['_BATCHARCHIVERULESREQUEST']._serialized_end=6832 - _globals['_BATCHARCHIVERULESRESPONSE']._serialized_start=6834 - _globals['_BATCHARCHIVERULESRESPONSE']._serialized_end=6861 - _globals['_UNDELETERULEREQUEST']._serialized_start=6863 - _globals['_UNDELETERULEREQUEST']._serialized_end=6950 - _globals['_UNDELETERULERESPONSE']._serialized_start=6952 - _globals['_UNDELETERULERESPONSE']._serialized_end=6974 - _globals['_BATCHUNDELETERULESREQUEST']._serialized_start=6976 - _globals['_BATCHUNDELETERULESREQUEST']._serialized_end=7073 - _globals['_BATCHUNDELETERULESRESPONSE']._serialized_start=7075 - _globals['_BATCHUNDELETERULESRESPONSE']._serialized_end=7103 - _globals['_UNARCHIVERULEREQUEST']._serialized_start=7105 - _globals['_UNARCHIVERULEREQUEST']._serialized_end=7193 - _globals['_UNARCHIVERULERESPONSE']._serialized_start=7195 - _globals['_UNARCHIVERULERESPONSE']._serialized_end=7218 - _globals['_BATCHUNARCHIVERULESREQUEST']._serialized_start=7220 - _globals['_BATCHUNARCHIVERULESREQUEST']._serialized_end=7318 - _globals['_BATCHUNARCHIVERULESRESPONSE']._serialized_start=7320 - _globals['_BATCHUNARCHIVERULESRESPONSE']._serialized_end=7349 - _globals['_VIEWHUMANFRIENDLYRULESREQUEST']._serialized_start=7351 - _globals['_VIEWHUMANFRIENDLYRULESREQUEST']._serialized_end=7418 - _globals['_VIEWHUMANFRIENDLYRULESRESPONSE']._serialized_start=7420 - _globals['_VIEWHUMANFRIENDLYRULESRESPONSE']._serialized_end=7492 - _globals['_UPDATEHUMANFRIENDLYRULESREQUEST']._serialized_start=7495 - _globals['_UPDATEHUMANFRIENDLYRULESREQUEST']._serialized_end=7646 - _globals['_UPDATEHUMANFRIENDLYRULESRESPONSE']._serialized_start=7649 - _globals['_UPDATEHUMANFRIENDLYRULESRESPONSE']._serialized_end=7789 - _globals['_VIEWJSONRULESREQUEST']._serialized_start=7791 - _globals['_VIEWJSONRULESREQUEST']._serialized_end=7845 - _globals['_VIEWJSONRULESRESPONSE']._serialized_start=7847 - _globals['_VIEWJSONRULESRESPONSE']._serialized_end=7906 - _globals['_JSONRULESREQUEST']._serialized_start=7909 - _globals['_JSONRULESREQUEST']._serialized_end=8041 - _globals['_JSONRULESRESPONSE']._serialized_start=8044 - _globals['_JSONRULESRESPONSE']._serialized_end=8365 - _globals['_VALIDATEJSONRULESREQUEST']._serialized_start=8367 - _globals['_VALIDATEJSONRULESREQUEST']._serialized_end=8457 - _globals['_VALIDATEJSONRULESRESPONSE']._serialized_start=8459 - _globals['_VALIDATEJSONRULESRESPONSE']._serialized_end=8553 - _globals['_UPDATEJSONRULESREQUEST']._serialized_start=8555 - _globals['_UPDATEJSONRULESREQUEST']._serialized_end=8643 - _globals['_UPDATEJSONRULESRESPONSE']._serialized_start=8645 - _globals['_UPDATEJSONRULESRESPONSE']._serialized_end=8737 - _globals['_LISTRULESREQUEST']._serialized_start=8740 - _globals['_LISTRULESREQUEST']._serialized_end=8889 - _globals['_LISTRULESRESPONSE']._serialized_start=8891 - _globals['_LISTRULESRESPONSE']._serialized_end=8998 - _globals['_LISTRULEVERSIONSREQUEST']._serialized_start=9001 - _globals['_LISTRULEVERSIONSREQUEST']._serialized_end=9150 - _globals['_RULEVERSION']._serialized_start=9153 - _globals['_RULEVERSION']._serialized_end=9673 - _globals['_LISTRULEVERSIONSRESPONSE']._serialized_start=9676 - _globals['_LISTRULEVERSIONSRESPONSE']._serialized_end=9812 - _globals['_GETRULEVERSIONREQUEST']._serialized_start=9814 - _globals['_GETRULEVERSIONREQUEST']._serialized_end=9882 - _globals['_GETRULEVERSIONRESPONSE']._serialized_start=9884 - _globals['_GETRULEVERSIONRESPONSE']._serialized_end=9954 - _globals['_BATCHGETRULEVERSIONSREQUEST']._serialized_start=9956 - _globals['_BATCHGETRULEVERSIONSREQUEST']._serialized_end=10032 - _globals['_BATCHGETRULEVERSIONSRESPONSE']._serialized_start=10034 - _globals['_BATCHGETRULEVERSIONSRESPONSE']._serialized_end=10112 - _globals['_RULECONDITIONEXPRESSION']._serialized_start=10115 - _globals['_RULECONDITIONEXPRESSION']._serialized_end=10359 - _globals['_SINGLECHANNELCOMPARISONEXPRESSION']._serialized_start=10362 - _globals['_SINGLECHANNELCOMPARISONEXPRESSION']._serialized_end=10693 - _globals['_LASTVALUETHRESHOLD']._serialized_start=10695 - _globals['_LASTVALUETHRESHOLD']._serialized_end=10715 - _globals['_CALCULATEDCHANNELCONFIG']._serialized_start=10718 - _globals['_CALCULATEDCHANNELCONFIG']._serialized_end=11097 - _globals['_CALCULATEDCHANNELCONFIG_CHANNELREFERENCESENTRY']._serialized_start=10996 - _globals['_CALCULATEDCHANNELCONFIG_CHANNELREFERENCESENTRY']._serialized_end=11097 - _globals['_CHANNELREFERENCE']._serialized_start=11099 - _globals['_CHANNELREFERENCE']._serialized_end=11177 - _globals['_RULEACTIONCONFIGURATION']._serialized_start=11180 - _globals['_RULEACTIONCONFIGURATION']._serialized_end=11459 - _globals['_NOTIFICATIONACTIONCONFIGURATION']._serialized_start=11461 - _globals['_NOTIFICATIONACTIONCONFIGURATION']._serialized_end=11545 - _globals['_WEBHOOKACTIONCONFIGURATION']._serialized_start=11547 - _globals['_WEBHOOKACTIONCONFIGURATION']._serialized_end=11611 - _globals['_ANNOTATIONACTIONCONFIGURATION']._serialized_start=11614 - _globals['_ANNOTATIONACTIONCONFIGURATION']._serialized_end=11890 - _globals['_EVALUATERULESREQUEST']._serialized_start=11893 - _globals['_EVALUATERULESREQUEST']._serialized_end=12163 - _globals['_EVALUATEDANNOTATIONOPTIONS']._serialized_start=12165 - _globals['_EVALUATEDANNOTATIONOPTIONS']._serialized_end=12218 - _globals['_TIMERANGEQUERY']._serialized_start=12221 - _globals['_TIMERANGEQUERY']._serialized_end=12351 - _globals['_EVALUATERULESRESPONSE']._serialized_start=12354 - _globals['_EVALUATERULESRESPONSE']._serialized_end=12607 - _globals['_DRYRUNANNOTATION']._serialized_start=12610 - _globals['_DRYRUNANNOTATION']._serialized_end=12857 - _globals['_RULESERVICE']._serialized_start=13224 - _globals['_RULESERVICE']._serialized_end=18247 + _globals['_SEARCHORDER']._serialized_start=13178 + _globals['_SEARCHORDER']._serialized_end=13270 + _globals['_ACTIONKIND']._serialized_start=13272 + _globals['_ACTIONKIND']._serialized_end=13364 + _globals['_CONDITIONCOMPARATOR']._serialized_start=13367 + _globals['_CONDITIONCOMPARATOR']._serialized_end=13540 + _globals['_RULE']._serialized_start=405 + _globals['_RULE']._serialized_end=1619 + _globals['_RULECONDITION']._serialized_start=1622 + _globals['_RULECONDITION']._serialized_end=2161 + _globals['_RULEACTION']._serialized_start=2164 + _globals['_RULEACTION']._serialized_end=2714 + _globals['_RULEASSETCONFIGURATION']._serialized_start=2716 + _globals['_RULEASSETCONFIGURATION']._serialized_end=2794 + _globals['_CONTEXTUALCHANNELS']._serialized_start=2796 + _globals['_CONTEXTUALCHANNELS']._serialized_end=2882 + _globals['_ASSETEXPRESSIONVALIDATIONRESULT']._serialized_start=2885 + _globals['_ASSETEXPRESSIONVALIDATIONRESULT']._serialized_end=3067 + _globals['_SEARCHRULESREQUEST']._serialized_start=3070 + _globals['_SEARCHRULESREQUEST']._serialized_end=3524 + _globals['_SEARCHRULESRESPONSE']._serialized_start=3526 + _globals['_SEARCHRULESRESPONSE']._serialized_end=3622 + _globals['_GETRULEREQUEST']._serialized_start=3624 + _globals['_GETRULEREQUEST']._serialized_end=3706 + _globals['_GETRULERESPONSE']._serialized_start=3708 + _globals['_GETRULERESPONSE']._serialized_end=3771 + _globals['_BATCHGETRULESREQUEST']._serialized_start=3773 + _globals['_BATCHGETRULESREQUEST']._serialized_end=3865 + _globals['_BATCHGETRULESRESPONSE']._serialized_start=3867 + _globals['_BATCHGETRULESRESPONSE']._serialized_end=3938 + _globals['_CREATERULEREQUEST']._serialized_start=3940 + _globals['_CREATERULEREQUEST']._serialized_end=4022 + _globals['_CREATERULERESPONSE']._serialized_start=4024 + _globals['_CREATERULERESPONSE']._serialized_end=4074 + _globals['_UPDATERULEREQUEST']._serialized_start=4077 + _globals['_UPDATERULEREQUEST']._serialized_end=4890 + _globals['_UPDATECONDITIONREQUEST']._serialized_start=4893 + _globals['_UPDATECONDITIONREQUEST']._serialized_end=5138 + _globals['_UPDATEACTIONREQUEST']._serialized_start=5141 + _globals['_UPDATEACTIONREQUEST']._serialized_end=5372 + _globals['_UPDATERULERESPONSE']._serialized_start=5374 + _globals['_UPDATERULERESPONSE']._serialized_end=5424 + _globals['_VALIDATIONRESULT']._serialized_start=5427 + _globals['_VALIDATIONRESULT']._serialized_end=5720 + _globals['_BATCHUPDATERULESREQUEST']._serialized_start=5723 + _globals['_BATCHUPDATERULESREQUEST']._serialized_end=5925 + _globals['_BATCHUPDATERULESRESPONSE']._serialized_start=5928 + _globals['_BATCHUPDATERULESRESPONSE']._serialized_end=6469 + _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS']._serialized_start=6341 + _globals['_BATCHUPDATERULESRESPONSE_RULEIDENTIFIERS']._serialized_end=6469 + _globals['_DELETERULEREQUEST']._serialized_start=6471 + _globals['_DELETERULEREQUEST']._serialized_end=6556 + _globals['_DELETERULERESPONSE']._serialized_start=6558 + _globals['_DELETERULERESPONSE']._serialized_end=6578 + _globals['_BATCHDELETERULESREQUEST']._serialized_start=6580 + _globals['_BATCHDELETERULESREQUEST']._serialized_end=6675 + _globals['_BATCHDELETERULESRESPONSE']._serialized_start=6677 + _globals['_BATCHDELETERULESRESPONSE']._serialized_end=6703 + _globals['_ARCHIVERULEREQUEST']._serialized_start=6705 + _globals['_ARCHIVERULEREQUEST']._serialized_end=6791 + _globals['_ARCHIVERULERESPONSE']._serialized_start=6793 + _globals['_ARCHIVERULERESPONSE']._serialized_end=6814 + _globals['_BATCHARCHIVERULESREQUEST']._serialized_start=6816 + _globals['_BATCHARCHIVERULESREQUEST']._serialized_end=6912 + _globals['_BATCHARCHIVERULESRESPONSE']._serialized_start=6914 + _globals['_BATCHARCHIVERULESRESPONSE']._serialized_end=6941 + _globals['_UNDELETERULEREQUEST']._serialized_start=6943 + _globals['_UNDELETERULEREQUEST']._serialized_end=7030 + _globals['_UNDELETERULERESPONSE']._serialized_start=7032 + _globals['_UNDELETERULERESPONSE']._serialized_end=7054 + _globals['_BATCHUNDELETERULESREQUEST']._serialized_start=7056 + _globals['_BATCHUNDELETERULESREQUEST']._serialized_end=7153 + _globals['_BATCHUNDELETERULESRESPONSE']._serialized_start=7155 + _globals['_BATCHUNDELETERULESRESPONSE']._serialized_end=7183 + _globals['_UNARCHIVERULEREQUEST']._serialized_start=7185 + _globals['_UNARCHIVERULEREQUEST']._serialized_end=7273 + _globals['_UNARCHIVERULERESPONSE']._serialized_start=7275 + _globals['_UNARCHIVERULERESPONSE']._serialized_end=7298 + _globals['_BATCHUNARCHIVERULESREQUEST']._serialized_start=7300 + _globals['_BATCHUNARCHIVERULESREQUEST']._serialized_end=7398 + _globals['_BATCHUNARCHIVERULESRESPONSE']._serialized_start=7400 + _globals['_BATCHUNARCHIVERULESRESPONSE']._serialized_end=7429 + _globals['_VIEWHUMANFRIENDLYRULESREQUEST']._serialized_start=7431 + _globals['_VIEWHUMANFRIENDLYRULESREQUEST']._serialized_end=7498 + _globals['_VIEWHUMANFRIENDLYRULESRESPONSE']._serialized_start=7500 + _globals['_VIEWHUMANFRIENDLYRULESRESPONSE']._serialized_end=7572 + _globals['_UPDATEHUMANFRIENDLYRULESREQUEST']._serialized_start=7575 + _globals['_UPDATEHUMANFRIENDLYRULESREQUEST']._serialized_end=7726 + _globals['_UPDATEHUMANFRIENDLYRULESRESPONSE']._serialized_start=7729 + _globals['_UPDATEHUMANFRIENDLYRULESRESPONSE']._serialized_end=7869 + _globals['_VIEWJSONRULESREQUEST']._serialized_start=7871 + _globals['_VIEWJSONRULESREQUEST']._serialized_end=7925 + _globals['_VIEWJSONRULESRESPONSE']._serialized_start=7927 + _globals['_VIEWJSONRULESRESPONSE']._serialized_end=7986 + _globals['_JSONRULESREQUEST']._serialized_start=7989 + _globals['_JSONRULESREQUEST']._serialized_end=8121 + _globals['_JSONRULESRESPONSE']._serialized_start=8124 + _globals['_JSONRULESRESPONSE']._serialized_end=8445 + _globals['_VALIDATEJSONRULESREQUEST']._serialized_start=8447 + _globals['_VALIDATEJSONRULESREQUEST']._serialized_end=8537 + _globals['_VALIDATEJSONRULESRESPONSE']._serialized_start=8539 + _globals['_VALIDATEJSONRULESRESPONSE']._serialized_end=8633 + _globals['_UPDATEJSONRULESREQUEST']._serialized_start=8635 + _globals['_UPDATEJSONRULESREQUEST']._serialized_end=8723 + _globals['_UPDATEJSONRULESRESPONSE']._serialized_start=8725 + _globals['_UPDATEJSONRULESRESPONSE']._serialized_end=8817 + _globals['_LISTRULESREQUEST']._serialized_start=8820 + _globals['_LISTRULESREQUEST']._serialized_end=8969 + _globals['_LISTRULESRESPONSE']._serialized_start=8971 + _globals['_LISTRULESRESPONSE']._serialized_end=9078 + _globals['_LISTRULEVERSIONSREQUEST']._serialized_start=9081 + _globals['_LISTRULEVERSIONSREQUEST']._serialized_end=9230 + _globals['_RULEVERSION']._serialized_start=9233 + _globals['_RULEVERSION']._serialized_end=9753 + _globals['_LISTRULEVERSIONSRESPONSE']._serialized_start=9756 + _globals['_LISTRULEVERSIONSRESPONSE']._serialized_end=9892 + _globals['_GETRULEVERSIONREQUEST']._serialized_start=9894 + _globals['_GETRULEVERSIONREQUEST']._serialized_end=9962 + _globals['_GETRULEVERSIONRESPONSE']._serialized_start=9964 + _globals['_GETRULEVERSIONRESPONSE']._serialized_end=10034 + _globals['_BATCHGETRULEVERSIONSREQUEST']._serialized_start=10036 + _globals['_BATCHGETRULEVERSIONSREQUEST']._serialized_end=10112 + _globals['_BATCHGETRULEVERSIONSRESPONSE']._serialized_start=10114 + _globals['_BATCHGETRULEVERSIONSRESPONSE']._serialized_end=10192 + _globals['_RULECONDITIONEXPRESSION']._serialized_start=10195 + _globals['_RULECONDITIONEXPRESSION']._serialized_end=10439 + _globals['_SINGLECHANNELCOMPARISONEXPRESSION']._serialized_start=10442 + _globals['_SINGLECHANNELCOMPARISONEXPRESSION']._serialized_end=10773 + _globals['_LASTVALUETHRESHOLD']._serialized_start=10775 + _globals['_LASTVALUETHRESHOLD']._serialized_end=10795 + _globals['_CALCULATEDCHANNELCONFIG']._serialized_start=10798 + _globals['_CALCULATEDCHANNELCONFIG']._serialized_end=11304 + _globals['_CALCULATEDCHANNELCONFIG_CHANNELREFERENCESENTRY']._serialized_start=11203 + _globals['_CALCULATEDCHANNELCONFIG_CHANNELREFERENCESENTRY']._serialized_end=11304 + _globals['_CHANNELREFERENCE']._serialized_start=11307 + _globals['_CHANNELREFERENCE']._serialized_end=11496 + _globals['_RULEACTIONCONFIGURATION']._serialized_start=11499 + _globals['_RULEACTIONCONFIGURATION']._serialized_end=11778 + _globals['_NOTIFICATIONACTIONCONFIGURATION']._serialized_start=11780 + _globals['_NOTIFICATIONACTIONCONFIGURATION']._serialized_end=11864 + _globals['_WEBHOOKACTIONCONFIGURATION']._serialized_start=11866 + _globals['_WEBHOOKACTIONCONFIGURATION']._serialized_end=11930 + _globals['_ANNOTATIONACTIONCONFIGURATION']._serialized_start=11933 + _globals['_ANNOTATIONACTIONCONFIGURATION']._serialized_end=12209 + _globals['_EVALUATERULESREQUEST']._serialized_start=12212 + _globals['_EVALUATERULESREQUEST']._serialized_end=12482 + _globals['_EVALUATEDANNOTATIONOPTIONS']._serialized_start=12484 + _globals['_EVALUATEDANNOTATIONOPTIONS']._serialized_end=12537 + _globals['_TIMERANGEQUERY']._serialized_start=12540 + _globals['_TIMERANGEQUERY']._serialized_end=12670 + _globals['_EVALUATERULESRESPONSE']._serialized_start=12673 + _globals['_EVALUATERULESRESPONSE']._serialized_end=12926 + _globals['_DRYRUNANNOTATION']._serialized_start=12929 + _globals['_DRYRUNANNOTATION']._serialized_end=13176 + _globals['_RULESERVICE']._serialized_start=13543 + _globals['_RULESERVICE']._serialized_end=18566 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/rules/v1/rules_pb2.pyi b/python/lib/sift/rules/v1/rules_pb2.pyi index 11b6fb5fa..0db146605 100644 --- a/python/lib/sift/rules/v1/rules_pb2.pyi +++ b/python/lib/sift/rules/v1/rules_pb2.pyi @@ -18,6 +18,7 @@ import google.protobuf.internal.enum_type_wrapper import google.protobuf.message import google.protobuf.timestamp_pb2 import sift.annotations.v1.annotations_pb2 +import sift.common.type.v1.calculated_channels_pb2 import sift.common.type.v1.resource_identifier_pb2 import sift.common.type.v1.user_defined_functions_pb2 import sift.metadata.v1.metadata_pb2 @@ -679,12 +680,14 @@ class ValidationResult(google.protobuf.message.Message): CLIENT_KEY_FIELD_NUMBER: builtins.int ASSET_EXPRESSION_VALIDATION_RESULTS_FIELD_NUMBER: builtins.int ERROR_FIELD_NUMBER: builtins.int + RULE_NAME_FIELD_NUMBER: builtins.int rule_id: builtins.str client_key: builtins.str error: builtins.str """If the rule is invalid and unable to be saved, this will contain the error message. Expression errors will be returned in the asset_expression_validation_results. """ + rule_name: builtins.str @property def asset_expression_validation_results(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___AssetExpressionValidationResult]: """If the expression is invalid for an asset, one or more AssetExpressionValidationResult will be returned. This may block @@ -698,9 +701,10 @@ class ValidationResult(google.protobuf.message.Message): client_key: builtins.str = ..., asset_expression_validation_results: collections.abc.Iterable[global___AssetExpressionValidationResult] | None = ..., error: builtins.str | None = ..., + rule_name: builtins.str = ..., ) -> None: ... def HasField(self, field_name: typing.Literal["_error", b"_error", "error", b"error"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_error", b"_error", "asset_expression_validation_results", b"asset_expression_validation_results", "client_key", b"client_key", "error", b"error", "rule_id", b"rule_id"]) -> None: ... + def ClearField(self, field_name: typing.Literal["_error", b"_error", "asset_expression_validation_results", b"asset_expression_validation_results", "client_key", b"client_key", "error", b"error", "rule_id", b"rule_id", "rule_name", b"rule_name"]) -> None: ... def WhichOneof(self, oneof_group: typing.Literal["_error", b"_error"]) -> typing.Literal["error"] | None: ... global___ValidationResult = ValidationResult @@ -715,9 +719,7 @@ class BatchUpdateRulesRequest(google.protobuf.message.Message): validate_only: builtins.bool """If validate_only is true, the request will only validate the request and not save the rules.""" override_expression_validation: builtins.bool - """If override_expression_validation is true, the request will save the rules even if the expressions are invalid. This - can be useful for multi-asset rules where an invalid expression for one asset should not prevent the rule from being saved. - """ + """Deprecated - to improve API response clarity in the event of a failure, Sift will always perform input validation.""" @property def rules(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UpdateRuleRequest]: """rules are limited 1000 rules at a time""" @@ -1598,6 +1600,7 @@ class CalculatedChannelConfig(google.protobuf.message.Message): CHANNEL_REFERENCES_FIELD_NUMBER: builtins.int EXPRESSION_FIELD_NUMBER: builtins.int FUNCTION_DEPENDENCIES_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_DEPENDENCIES_FIELD_NUMBER: builtins.int expression: builtins.str @property def channel_references(self) -> google.protobuf.internal.containers.MessageMap[builtins.str, global___ChannelReference]: ... @@ -1605,14 +1608,21 @@ class CalculatedChannelConfig(google.protobuf.message.Message): def function_dependencies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.user_defined_functions_pb2.FunctionDependency]: """This will be ignored in requests and will be generated automatically.""" + @property + def calculated_channel_dependencies(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[sift.common.type.v1.calculated_channels_pb2.CalculatedChannelDependency]: + """This will be ignored in requests and will be generated automatically. + Tracks which calculated channel versions this rule depends on. + """ + def __init__( self, *, channel_references: collections.abc.Mapping[builtins.str, global___ChannelReference] | None = ..., expression: builtins.str = ..., function_dependencies: collections.abc.Iterable[sift.common.type.v1.user_defined_functions_pb2.FunctionDependency] | None = ..., + calculated_channel_dependencies: collections.abc.Iterable[sift.common.type.v1.calculated_channels_pb2.CalculatedChannelDependency] | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["channel_references", b"channel_references", "expression", b"expression", "function_dependencies", b"function_dependencies"]) -> None: ... + def ClearField(self, field_name: typing.Literal["calculated_channel_dependencies", b"calculated_channel_dependencies", "channel_references", b"channel_references", "expression", b"expression", "function_dependencies", b"function_dependencies"]) -> None: ... global___CalculatedChannelConfig = CalculatedChannelConfig @@ -1622,16 +1632,27 @@ class ChannelReference(google.protobuf.message.Message): NAME_FIELD_NUMBER: builtins.int COMPONENT_FIELD_NUMBER: builtins.int + CALCULATED_CHANNEL_VERSION_ID_FIELD_NUMBER: builtins.int name: builtins.str + """Required for native channel references. Must not be set when calculated_channel_version_id is provided.""" component: builtins.str - """Deprecated - use name instead. If provided, name will be joined with the component as `component.name`""" + """Deprecated - use name instead. If provided, name will be joined with the component as `component.name`. + Must not be set when calculated_channel_version_id is provided. + """ + calculated_channel_version_id: builtins.str + """Reference to a calculated channel version. When set, the rule will use the calculated channel + instead of looking up a native channel by name. Must not be set when name is provided. + """ def __init__( self, *, name: builtins.str = ..., component: builtins.str = ..., + calculated_channel_version_id: builtins.str | None = ..., ) -> None: ... - def ClearField(self, field_name: typing.Literal["component", b"component", "name", b"name"]) -> None: ... + def HasField(self, field_name: typing.Literal["_calculated_channel_version_id", b"_calculated_channel_version_id", "calculated_channel_version_id", b"calculated_channel_version_id"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_calculated_channel_version_id", b"_calculated_channel_version_id", "calculated_channel_version_id", b"calculated_channel_version_id", "component", b"component", "name", b"name"]) -> None: ... + def WhichOneof(self, oneof_group: typing.Literal["_calculated_channel_version_id", b"_calculated_channel_version_id"]) -> typing.Literal["calculated_channel_version_id"] | None: ... global___ChannelReference = ChannelReference diff --git a/python/lib/sift/runs/v2/runs_pb2.py b/python/lib/sift/runs/v2/runs_pb2.py index 5f307436a..055570e8d 100644 --- a/python/lib/sift/runs/v2/runs_pb2.py +++ b/python/lib/sift/runs/v2/runs_pb2.py @@ -22,7 +22,7 @@ from sift.metadata.v1 import metadata_pb2 as sift_dot_metadata_dot_v1_dot_metadata__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17sift/runs/v2/runs.proto\x12\x0csift.runs.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\x9d\x08\n\x03Run\x12\x1a\n\x06run_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05runId\x12\x42\n\x0c\x63reated_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12,\n\x0forganization_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x43\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00R\tstartTime\x88\x01\x01\x12\x41\n\tstop_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x08stopTime\x88\x01\x01\x12 \n\tis_pinned\x18\t \x01(\x08\x42\x03\xe0\x41\x02R\x08isPinned\x12\x17\n\x04name\x18\n \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x0b \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x17\n\x04tags\x18\x0c \x03(\tB\x03\xe0\x41\x02R\x04tags\x12/\n\x11\x64\x65\x66\x61ult_report_id\x18\r \x01(\tB\x03\xe0\x41\x01R\x0f\x64\x65\x66\x61ultReportId\x12\'\n\nclient_key\x18\x0e \x01(\tB\x03\xe0\x41\x01H\x02R\tclientKey\x88\x01\x01\x12@\n\x08metadata\x18\x0f \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12 \n\tasset_ids\x18\x10 \x03(\tB\x03\xe0\x41\x02R\x08\x61ssetIds\x12I\n\rarchived_date\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x03R\x0c\x61rchivedDate\x88\x01\x01\x12\x1e\n\x08is_adhoc\x18\x12 \x01(\x08\x42\x03\xe0\x41\x02R\x07isAdhoc\x12$\n\x0bis_archived\x18\x13 \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12?\n\x08\x64uration\x18\x14 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01H\x04R\x08\x64uration\x88\x01\x01\x42\r\n\x0b_start_timeB\x0c\n\n_stop_timeB\r\n\x0b_client_keyB\x10\n\x0e_archived_dateB\x0b\n\t_duration\"3\n\rGetRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\":\n\x0eGetRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\x94\x01\n\x0fListRunsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"f\n\x10ListRunsResponse\x12*\n\x04runs\x18\x01 \x03(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x04runs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xdb\x04\n\x10\x43reateRunRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x17\n\x04tags\x18\x03 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12>\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\tstartTime\x12<\n\tstop_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x08stopTime\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\xf0\x01\n\nclient_key\x18\x08 \x01(\tB\xcb\x01\xe0\x41\x01\xbaH\xc4\x01\xba\x01\xc0\x01\n\x12invalid_client_key\x12jclient key must be 3-128 characters, start and end with an alphanumeric, and contain only [a-zA-Z0-9_~.-].\x1a>this.matches(\'^[a-zA-Z0-9][a-zA-Z0-9_~.-]{0,126}[a-zA-Z0-9]$\')H\x00R\tclientKey\x88\x01\x01\x12@\n\x08metadata\x18\t \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadataB\r\n\x0b_client_key\"=\n\x11\x43reateRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\xe3\x04\n\x15\x43reateAdhocRunRequest\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xe0\x41\x02\xbaH\x04r\x02\x10\x01R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\x12(\n\tasset_ids\x18\x05 \x03(\tB\x0b\xe0\x41\x02\xbaH\x05\x92\x01\x02\x08\x01R\x08\x61ssetIds\x12\x17\n\x04tags\x18\x06 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12@\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadata\x12\xf0\x01\n\nclient_key\x18\x08 \x01(\tB\xcb\x01\xe0\x41\x01\xbaH\xc4\x01\xba\x01\xc0\x01\n\x12invalid_client_key\x12jclient key must be 3-128 characters, start and end with an alphanumeric, and contain only [a-zA-Z0-9_~.-].\x1a>this.matches(\'^[a-zA-Z0-9][a-zA-Z0-9_~.-]{0,126}[a-zA-Z0-9]$\')H\x00R\tclientKey\x88\x01\x01\x42\r\n\x0b_client_key\"B\n\x16\x43reateAdhocRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\xe2\x04\n\x10UpdateRunRequest\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\x12\xa3\x04\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\xe5\x03\xe0\x41\x02\xbaH\xde\x03\xba\x01\xda\x03\n\x17invalid_field_mask_path\x12\xdc\x01\x66ield mask path must be in [\'name\', \'description\', \'start_time\', \'startTime\', \'stop_time\', \'stopTime\', \'is_pinned\', \'isPinned\', \'client_key\', \'clientKey\', \'tags\', \'metadata\', \'archived_date\', \'is_archived\', \'isArchived\']\x1a\xdf\x01this.paths.all(path, path in [\'name\', \'description\', \'start_time\', \'startTime\', \'stop_time\', \'stopTime\', \'is_pinned\', \'isPinned\', \'client_key\', \'clientKey\', \'tags\', \'metadata\', \'archived_date\', \'is_archived\', \'isArchived\'])R\nupdateMask\"=\n\x11UpdateRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"y\n-CreateAutomaticRunAssociationForAssetsRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\x12$\n\x0b\x61sset_names\x18\x02 \x03(\tB\x03\xe0\x41\x02R\nassetNames\"0\n.CreateAutomaticRunAssociationForAssetsResponse\"6\n\x10\x44\x65leteRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\"\x13\n\x11\x44\x65leteRunResponse\"4\n\x0eStopRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\"\x11\n\x0fStopRunResponse2\xdd\r\n\nRunService\x12~\n\x06GetRun\x12\x1b.sift.runs.v2.GetRunRequest\x1a\x1c.sift.runs.v2.GetRunResponse\"9\x92\x41\x19\x12\x06GetRun\x1a\x0fRetrieve a run.\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v2/runs/{run_id}\x12\x95\x01\n\x08ListRuns\x12\x1d.sift.runs.v2.ListRunsRequest\x1a\x1e.sift.runs.v2.ListRunsResponse\"J\x92\x41\x33\x12\x08ListRuns\x1a\'Retrieve runs using an optional filter.\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/v2/runs\x12\x82\x01\n\tCreateRun\x12\x1e.sift.runs.v2.CreateRunRequest\x1a\x1f.sift.runs.v2.CreateRunResponse\"4\x92\x41\x1a\x12\tCreateRun\x1a\rCreate a run.\x82\xd3\xe4\x93\x02\x11\"\x0c/api/v2/runs:\x01*\x12\xa3\x01\n\x0e\x43reateAdhocRun\x12#.sift.runs.v2.CreateAdhocRunRequest\x1a$.sift.runs.v2.CreateAdhocRunResponse\"F\x92\x41&\x12\x0e\x43reateAdhocRun\x1a\x14\x43reate an adhoc run.\x82\xd3\xe4\x93\x02\x17\"\x12/api/v2/runs:adhoc:\x01*\x12\xc7\x01\n\tUpdateRun\x12\x1e.sift.runs.v2.UpdateRunRequest\x1a\x1f.sift.runs.v2.UpdateRunResponse\"y\x92\x41_\x12\tUpdateRun\x1aRUpdates an existing run using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x11\x32\x0c/api/v2/runs:\x01*\x12\xc6\x01\n\tDeleteRun\x12\x1e.sift.runs.v2.DeleteRunRequest\x1a\x1f.sift.runs.v2.DeleteRunResponse\"x\x88\x02\x01\x92\x41U\x12\tDeleteRun\x1aHPermanently delete a given run. Deprecated: Use update with is_archived.\x82\xd3\xe4\x93\x02\x17*\x15/api/v2/runs/{run_id}\x12\xe6\x01\n\x07StopRun\x12\x1c.sift.runs.v2.StopRunRequest\x1a\x1d.sift.runs.v2.StopRunResponse\"\x9d\x01\x92\x41~\x12\x07StopRun\x1asSet the stop time of a run to the current time. To set the stop time of a run to an arbitrary time see `UpdateRun`.\x82\xd3\xe4\x93\x02\x16\x32\x11/api/v2/runs:stop:\x01*\x12\xcc\x02\n&CreateAutomaticRunAssociationForAssets\x12;.sift.runs.v2.CreateAutomaticRunAssociationForAssetsRequest\x1a<.sift.runs.v2.CreateAutomaticRunAssociationForAssetsResponse\"\xa6\x01\x92\x41W\x12&CreateAutomaticRunAssociationForAssets\x1a-Associates a list of assets with a given run.\x82\xd3\xe4\x93\x02\x46\"A/api/v2/runs/{run_id}:create-automatic-run-association-for-assets:\x01*\x1a\xc0\x01\x92\x41\xbc\x01\x12@Service to programmatically interact with [runs](/glossary#run).\x1ax\n\x1eRead more about what runs are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265454053B\x81\x01\n\x10\x63om.sift.runs.v2B\tRunsProtoP\x01\xa2\x02\x03SRX\xaa\x02\x0cSift.Runs.V2\xca\x02\x0cSift\\Runs\\V2\xe2\x02\x18Sift\\Runs\\V2\\GPBMetadata\xea\x02\x0eSift::Runs::V2\x92\x41\x0f\x12\r\n\x0bRun serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x17sift/runs/v2/runs.proto\x12\x0csift.runs.v2\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\x1a\x1fsift/metadata/v1/metadata.proto\"\x9d\x08\n\x03Run\x12\x1a\n\x06run_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x05runId\x12\x42\n\x0c\x63reated_date\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12\x30\n\x12\x63reated_by_user_id\x18\x04 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12,\n\x0forganization_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x43\n\nstart_time\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x00R\tstartTime\x88\x01\x01\x12\x41\n\tstop_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x08stopTime\x88\x01\x01\x12 \n\tis_pinned\x18\t \x01(\x08\x42\x03\xe0\x41\x02R\x08isPinned\x12\x17\n\x04name\x18\n \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x0b \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x17\n\x04tags\x18\x0c \x03(\tB\x03\xe0\x41\x02R\x04tags\x12/\n\x11\x64\x65\x66\x61ult_report_id\x18\r \x01(\tB\x03\xe0\x41\x01R\x0f\x64\x65\x66\x61ultReportId\x12\'\n\nclient_key\x18\x0e \x01(\tB\x03\xe0\x41\x01H\x02R\tclientKey\x88\x01\x01\x12@\n\x08metadata\x18\x0f \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x02R\x08metadata\x12 \n\tasset_ids\x18\x10 \x03(\tB\x03\xe0\x41\x02R\x08\x61ssetIds\x12I\n\rarchived_date\x18\x11 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x03R\x0c\x61rchivedDate\x88\x01\x01\x12\x1e\n\x08is_adhoc\x18\x12 \x01(\x08\x42\x03\xe0\x41\x02R\x07isAdhoc\x12$\n\x0bis_archived\x18\x13 \x01(\x08\x42\x03\xe0\x41\x02R\nisArchived\x12?\n\x08\x64uration\x18\x14 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01H\x04R\x08\x64uration\x88\x01\x01\x42\r\n\x0b_start_timeB\x0c\n\n_stop_timeB\r\n\x0b_client_keyB\x10\n\x0e_archived_dateB\x0b\n\t_duration\"3\n\rGetRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\":\n\x0eGetRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\x94\x01\n\x0fListRunsRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"f\n\x10ListRunsResponse\x12*\n\x04runs\x18\x01 \x03(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x04runs\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xb3\x05\n\x10\x43reateRunRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12\x17\n\x04tags\x18\x03 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12>\n\nstart_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\tstartTime\x12<\n\tstop_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x08stopTime\x12,\n\x0forganization_id\x18\x07 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12\xf0\x01\n\nclient_key\x18\x08 \x01(\tB\xcb\x01\xe0\x41\x01\xbaH\xc4\x01\xba\x01\xc0\x01\n\x12invalid_client_key\x12jclient key must be 3-128 characters, start and end with an alphanumeric, and contain only [a-zA-Z0-9_~.-].\x1a>this.matches(\'^[a-zA-Z0-9][a-zA-Z0-9_~.-]{0,126}[a-zA-Z0-9]$\')H\x00R\tclientKey\x88\x01\x01\x12@\n\x08metadata\x18\t \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadata\x12<\n\x15\x63reate_default_report\x18\n \x01(\x08\x42\x03\xe0\x41\x01H\x01R\x13\x63reateDefaultReport\x88\x01\x01\x42\r\n\x0b_client_keyB\x18\n\x16_create_default_report\"=\n\x11\x43reateRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\xe3\x04\n\x15\x43reateAdhocRunRequest\x12\x1e\n\x04name\x18\x01 \x01(\tB\n\xe0\x41\x02\xbaH\x04r\x02\x10\x01R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0b\x64\x65scription\x12>\n\nstart_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\tstartTime\x12<\n\tstop_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x08stopTime\x12(\n\tasset_ids\x18\x05 \x03(\tB\x0b\xe0\x41\x02\xbaH\x05\x92\x01\x02\x08\x01R\x08\x61ssetIds\x12\x17\n\x04tags\x18\x06 \x03(\tB\x03\xe0\x41\x01R\x04tags\x12@\n\x08metadata\x18\x07 \x03(\x0b\x32\x1f.sift.metadata.v1.MetadataValueB\x03\xe0\x41\x01R\x08metadata\x12\xf0\x01\n\nclient_key\x18\x08 \x01(\tB\xcb\x01\xe0\x41\x01\xbaH\xc4\x01\xba\x01\xc0\x01\n\x12invalid_client_key\x12jclient key must be 3-128 characters, start and end with an alphanumeric, and contain only [a-zA-Z0-9_~.-].\x1a>this.matches(\'^[a-zA-Z0-9][a-zA-Z0-9_~.-]{0,126}[a-zA-Z0-9]$\')H\x00R\tclientKey\x88\x01\x01\x42\r\n\x0b_client_key\"B\n\x16\x43reateAdhocRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"\xe2\x04\n\x10UpdateRunRequest\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\x12\xa3\x04\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\xe5\x03\xe0\x41\x02\xbaH\xde\x03\xba\x01\xda\x03\n\x17invalid_field_mask_path\x12\xdc\x01\x66ield mask path must be in [\'name\', \'description\', \'start_time\', \'startTime\', \'stop_time\', \'stopTime\', \'is_pinned\', \'isPinned\', \'client_key\', \'clientKey\', \'tags\', \'metadata\', \'archived_date\', \'is_archived\', \'isArchived\']\x1a\xdf\x01this.paths.all(path, path in [\'name\', \'description\', \'start_time\', \'startTime\', \'stop_time\', \'stopTime\', \'is_pinned\', \'isPinned\', \'client_key\', \'clientKey\', \'tags\', \'metadata\', \'archived_date\', \'is_archived\', \'isArchived\'])R\nupdateMask\"=\n\x11UpdateRunResponse\x12(\n\x03run\x18\x01 \x01(\x0b\x32\x11.sift.runs.v2.RunB\x03\xe0\x41\x02R\x03run\"y\n-CreateAutomaticRunAssociationForAssetsRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\x12$\n\x0b\x61sset_names\x18\x02 \x03(\tB\x03\xe0\x41\x02R\nassetNames\"0\n.CreateAutomaticRunAssociationForAssetsResponse\"6\n\x10\x44\x65leteRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\"\x13\n\x11\x44\x65leteRunResponse\"4\n\x0eStopRunRequest\x12\"\n\x06run_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x05runId\"\x11\n\x0fStopRunResponse2\xdd\r\n\nRunService\x12~\n\x06GetRun\x12\x1b.sift.runs.v2.GetRunRequest\x1a\x1c.sift.runs.v2.GetRunResponse\"9\x92\x41\x19\x12\x06GetRun\x1a\x0fRetrieve a run.\x82\xd3\xe4\x93\x02\x17\x12\x15/api/v2/runs/{run_id}\x12\x95\x01\n\x08ListRuns\x12\x1d.sift.runs.v2.ListRunsRequest\x1a\x1e.sift.runs.v2.ListRunsResponse\"J\x92\x41\x33\x12\x08ListRuns\x1a\'Retrieve runs using an optional filter.\x82\xd3\xe4\x93\x02\x0e\x12\x0c/api/v2/runs\x12\x82\x01\n\tCreateRun\x12\x1e.sift.runs.v2.CreateRunRequest\x1a\x1f.sift.runs.v2.CreateRunResponse\"4\x92\x41\x1a\x12\tCreateRun\x1a\rCreate a run.\x82\xd3\xe4\x93\x02\x11\"\x0c/api/v2/runs:\x01*\x12\xa3\x01\n\x0e\x43reateAdhocRun\x12#.sift.runs.v2.CreateAdhocRunRequest\x1a$.sift.runs.v2.CreateAdhocRunResponse\"F\x92\x41&\x12\x0e\x43reateAdhocRun\x1a\x14\x43reate an adhoc run.\x82\xd3\xe4\x93\x02\x17\"\x12/api/v2/runs:adhoc:\x01*\x12\xc7\x01\n\tUpdateRun\x12\x1e.sift.runs.v2.UpdateRunRequest\x1a\x1f.sift.runs.v2.UpdateRunResponse\"y\x92\x41_\x12\tUpdateRun\x1aRUpdates an existing run using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x11\x32\x0c/api/v2/runs:\x01*\x12\xc6\x01\n\tDeleteRun\x12\x1e.sift.runs.v2.DeleteRunRequest\x1a\x1f.sift.runs.v2.DeleteRunResponse\"x\x88\x02\x01\x92\x41U\x12\tDeleteRun\x1aHPermanently delete a given run. Deprecated: Use update with is_archived.\x82\xd3\xe4\x93\x02\x17*\x15/api/v2/runs/{run_id}\x12\xe6\x01\n\x07StopRun\x12\x1c.sift.runs.v2.StopRunRequest\x1a\x1d.sift.runs.v2.StopRunResponse\"\x9d\x01\x92\x41~\x12\x07StopRun\x1asSet the stop time of a run to the current time. To set the stop time of a run to an arbitrary time see `UpdateRun`.\x82\xd3\xe4\x93\x02\x16\x32\x11/api/v2/runs:stop:\x01*\x12\xcc\x02\n&CreateAutomaticRunAssociationForAssets\x12;.sift.runs.v2.CreateAutomaticRunAssociationForAssetsRequest\x1a<.sift.runs.v2.CreateAutomaticRunAssociationForAssetsResponse\"\xa6\x01\x92\x41W\x12&CreateAutomaticRunAssociationForAssets\x1a-Associates a list of assets with a given run.\x82\xd3\xe4\x93\x02\x46\"A/api/v2/runs/{run_id}:create-automatic-run-association-for-assets:\x01*\x1a\xc0\x01\x92\x41\xbc\x01\x12@Service to programmatically interact with [runs](/glossary#run).\x1ax\n\x1eRead more about what runs are.\x12Vhttps://customer.support.siftstack.com/servicedesk/customer/portal/2/article/265454053B\x81\x01\n\x10\x63om.sift.runs.v2B\tRunsProtoP\x01\xa2\x02\x03SRX\xaa\x02\x0cSift.Runs.V2\xca\x02\x0cSift\\Runs\\V2\xe2\x02\x18Sift\\Runs\\V2\\GPBMetadata\xea\x02\x0eSift::Runs::V2\x92\x41\x0f\x12\r\n\x0bRun serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -100,6 +100,8 @@ _globals['_CREATERUNREQUEST'].fields_by_name['client_key']._serialized_options = b'\340A\001\272H\304\001\272\001\300\001\n\022invalid_client_key\022jclient key must be 3-128 characters, start and end with an alphanumeric, and contain only [a-zA-Z0-9_~.-].\032>this.matches(\'^[a-zA-Z0-9][a-zA-Z0-9_~.-]{0,126}[a-zA-Z0-9]$\')' _globals['_CREATERUNREQUEST'].fields_by_name['metadata']._loaded_options = None _globals['_CREATERUNREQUEST'].fields_by_name['metadata']._serialized_options = b'\340A\001' + _globals['_CREATERUNREQUEST'].fields_by_name['create_default_report']._loaded_options = None + _globals['_CREATERUNREQUEST'].fields_by_name['create_default_report']._serialized_options = b'\340A\001' _globals['_CREATERUNRESPONSE'].fields_by_name['run']._loaded_options = None _globals['_CREATERUNRESPONSE'].fields_by_name['run']._serialized_options = b'\340A\002' _globals['_CREATEADHOCRUNREQUEST'].fields_by_name['name']._loaded_options = None @@ -163,29 +165,29 @@ _globals['_LISTRUNSRESPONSE']._serialized_start=1633 _globals['_LISTRUNSRESPONSE']._serialized_end=1735 _globals['_CREATERUNREQUEST']._serialized_start=1738 - _globals['_CREATERUNREQUEST']._serialized_end=2341 - _globals['_CREATERUNRESPONSE']._serialized_start=2343 - _globals['_CREATERUNRESPONSE']._serialized_end=2404 - _globals['_CREATEADHOCRUNREQUEST']._serialized_start=2407 - _globals['_CREATEADHOCRUNREQUEST']._serialized_end=3018 - _globals['_CREATEADHOCRUNRESPONSE']._serialized_start=3020 - _globals['_CREATEADHOCRUNRESPONSE']._serialized_end=3086 - _globals['_UPDATERUNREQUEST']._serialized_start=3089 - _globals['_UPDATERUNREQUEST']._serialized_end=3699 - _globals['_UPDATERUNRESPONSE']._serialized_start=3701 - _globals['_UPDATERUNRESPONSE']._serialized_end=3762 - _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSREQUEST']._serialized_start=3764 - _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSREQUEST']._serialized_end=3885 - _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSRESPONSE']._serialized_start=3887 - _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSRESPONSE']._serialized_end=3935 - _globals['_DELETERUNREQUEST']._serialized_start=3937 - _globals['_DELETERUNREQUEST']._serialized_end=3991 - _globals['_DELETERUNRESPONSE']._serialized_start=3993 - _globals['_DELETERUNRESPONSE']._serialized_end=4012 - _globals['_STOPRUNREQUEST']._serialized_start=4014 - _globals['_STOPRUNREQUEST']._serialized_end=4066 - _globals['_STOPRUNRESPONSE']._serialized_start=4068 - _globals['_STOPRUNRESPONSE']._serialized_end=4085 - _globals['_RUNSERVICE']._serialized_start=4088 - _globals['_RUNSERVICE']._serialized_end=5845 + _globals['_CREATERUNREQUEST']._serialized_end=2429 + _globals['_CREATERUNRESPONSE']._serialized_start=2431 + _globals['_CREATERUNRESPONSE']._serialized_end=2492 + _globals['_CREATEADHOCRUNREQUEST']._serialized_start=2495 + _globals['_CREATEADHOCRUNREQUEST']._serialized_end=3106 + _globals['_CREATEADHOCRUNRESPONSE']._serialized_start=3108 + _globals['_CREATEADHOCRUNRESPONSE']._serialized_end=3174 + _globals['_UPDATERUNREQUEST']._serialized_start=3177 + _globals['_UPDATERUNREQUEST']._serialized_end=3787 + _globals['_UPDATERUNRESPONSE']._serialized_start=3789 + _globals['_UPDATERUNRESPONSE']._serialized_end=3850 + _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSREQUEST']._serialized_start=3852 + _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSREQUEST']._serialized_end=3973 + _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSRESPONSE']._serialized_start=3975 + _globals['_CREATEAUTOMATICRUNASSOCIATIONFORASSETSRESPONSE']._serialized_end=4023 + _globals['_DELETERUNREQUEST']._serialized_start=4025 + _globals['_DELETERUNREQUEST']._serialized_end=4079 + _globals['_DELETERUNRESPONSE']._serialized_start=4081 + _globals['_DELETERUNRESPONSE']._serialized_end=4100 + _globals['_STOPRUNREQUEST']._serialized_start=4102 + _globals['_STOPRUNREQUEST']._serialized_end=4154 + _globals['_STOPRUNRESPONSE']._serialized_start=4156 + _globals['_STOPRUNRESPONSE']._serialized_end=4173 + _globals['_RUNSERVICE']._serialized_start=4176 + _globals['_RUNSERVICE']._serialized_end=5933 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/runs/v2/runs_pb2.pyi b/python/lib/sift/runs/v2/runs_pb2.pyi index 33677ad35..ed3645807 100644 --- a/python/lib/sift/runs/v2/runs_pb2.pyi +++ b/python/lib/sift/runs/v2/runs_pb2.pyi @@ -237,6 +237,7 @@ class CreateRunRequest(google.protobuf.message.Message): ORGANIZATION_ID_FIELD_NUMBER: builtins.int CLIENT_KEY_FIELD_NUMBER: builtins.int METADATA_FIELD_NUMBER: builtins.int + CREATE_DEFAULT_REPORT_FIELD_NUMBER: builtins.int name: builtins.str """The name that will be assigned to the new run.""" description: builtins.str @@ -245,6 +246,10 @@ class CreateRunRequest(google.protobuf.message.Message): """An organization ID is only required if the user belongs to multiple organizations.""" client_key: builtins.str """An arbitrary user-chosen key that uniquely identifies this run. Optional, though it is recommended to provide.""" + create_default_report: builtins.bool + """Whether to create a default report for this run. This facilitates getting the report ID for live rules that will be automatically created for this run which can streamline programatically creating Campaigns. + Defaults to false if not specified (This default can be changed for your organization by Sift. Contact support to change this default behavior.). + """ @property def tags(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """Tags to associate with the new run.""" @@ -279,10 +284,14 @@ class CreateRunRequest(google.protobuf.message.Message): organization_id: builtins.str = ..., client_key: builtins.str | None = ..., metadata: collections.abc.Iterable[sift.metadata.v1.metadata_pb2.MetadataValue] | None = ..., + create_default_report: builtins.bool | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_client_key", b"_client_key", "client_key", b"client_key", "start_time", b"start_time", "stop_time", b"stop_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_client_key", b"_client_key", "client_key", b"client_key", "description", b"description", "metadata", b"metadata", "name", b"name", "organization_id", b"organization_id", "start_time", b"start_time", "stop_time", b"stop_time", "tags", b"tags"]) -> None: ... + def HasField(self, field_name: typing.Literal["_client_key", b"_client_key", "_create_default_report", b"_create_default_report", "client_key", b"client_key", "create_default_report", b"create_default_report", "start_time", b"start_time", "stop_time", b"stop_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_client_key", b"_client_key", "_create_default_report", b"_create_default_report", "client_key", b"client_key", "create_default_report", b"create_default_report", "description", b"description", "metadata", b"metadata", "name", b"name", "organization_id", b"organization_id", "start_time", b"start_time", "stop_time", b"stop_time", "tags", b"tags"]) -> None: ... + @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_client_key", b"_client_key"]) -> typing.Literal["client_key"] | None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_create_default_report", b"_create_default_report"]) -> typing.Literal["create_default_report"] | None: ... global___CreateRunRequest = CreateRunRequest diff --git a/python/lib/sift/saved_searches/v1/saved_searches_pb2.py b/python/lib/sift/saved_searches/v1/saved_searches_pb2.py index bcdcbf7e8..d0b0727d9 100644 --- a/python/lib/sift/saved_searches/v1/saved_searches_pb2.py +++ b/python/lib/sift/saved_searches/v1/saved_searches_pb2.py @@ -19,7 +19,7 @@ from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+sift/saved_searches/v1/saved_searches.proto\x12\x16sift.saved_searches.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xc5\x03\n\x0bSavedSearch\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x17\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x04name\x12R\n\nproperties\x18\x04 \x01(\x0b\x32-.sift.saved_searches.v1.SavedSearchPropertiesB\x03\xe0\x41\x02R\nproperties\x12\x30\n\x12\x63reated_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\"\xf6\x08\n\x15SavedSearchProperties\x12(\n\roverview_mode\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0coverviewMode\x12)\n\x0bsearch_term\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\nsearchTerm\x88\x01\x01\x12J\n\x0e\x66rom_date_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x0c\x66romDateTime\x88\x01\x01\x12\x46\n\x0cto_date_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x02R\ntoDateTime\x88\x01\x01\x12S\n\x0b\x61sset_items\x18\x05 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\nassetItems\x12Q\n\nuser_items\x18\x06 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\tuserItems\x12O\n\ttag_items\x18\x07 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x08tagItems\x12]\n\x10\x61nnotation_items\x18\x08 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x0f\x61nnotationItems\x12O\n\trun_items\x18\t \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x08runItems\x12\x66\n\x15report_template_items\x18\n \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x13reportTemplateItems\x12<\n\x15show_advanced_filters\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01H\x03R\x13showAdvancedFilters\x88\x01\x01\x12\x33\n\x10include_archived\x18\x0c \x01(\x08\x42\x03\xe0\x41\x01H\x04R\x0fincludeArchived\x88\x01\x01\x12#\n\x08order_by\x18\r \x01(\tB\x03\xe0\x41\x01H\x05R\x07orderBy\x88\x01\x01\x12[\n\x0emetadata_items\x18\x0e \x03(\x0b\x32/.sift.saved_searches.v1.SavedSearchMetadataItemB\x03\xe0\x41\x01R\rmetadataItemsB\x0e\n\x0c_search_termB\x11\n\x0f_from_date_timeB\x0f\n\r_to_date_timeB\x18\n\x16_show_advanced_filtersB\x13\n\x11_include_archivedB\x0b\n\t_order_by\"E\n\x15SavedSearchFilterItem\x12\x13\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x02id\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\"\xaa\x01\n\x17SavedSearchMetadataItem\x12\x15\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x03key\x12#\n\x0cstring_value\x18\x02 \x01(\tH\x00R\x0bstringValue\x12#\n\x0cnumber_value\x18\x03 \x01(\x01H\x00R\x0bnumberValue\x12%\n\rboolean_value\x18\x04 \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"D\n\x15GetSavedSearchRequest\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\"e\n\x16GetSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\"\xab\x01\n\x18ListSavedSearchesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"\x8f\x01\n\x19ListSavedSearchesResponse\x12J\n\x0esaved_searches\x18\x01 \x03(\x0b\x32#.sift.saved_searches.v1.SavedSearchR\rsavedSearches\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xb5\x01\n\x18\x43reateSavedSearchRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12R\n\nproperties\x18\x02 \x01(\x0b\x32-.sift.saved_searches.v1.SavedSearchPropertiesB\x03\xe0\x41\x02R\nproperties\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"h\n\x19\x43reateSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\"G\n\x18\x44\x65leteSavedSearchRequest\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\"\x1b\n\x19\x44\x65leteSavedSearchResponse\"K\n\x1f\x42\x61tchDeleteSavedSearchesRequest\x12(\n\x10saved_search_ids\x18\x01 \x03(\tR\x0esavedSearchIds\"\"\n BatchDeleteSavedSearchesResponse\"\xa9\x01\n\x18UpdateSavedSearchRequest\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"h\n\x19UpdateSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch2\xdf\n\n\x12SavedSearchService\x12\xce\x01\n\x0eGetSavedSearch\x12-.sift.saved_searches.v1.GetSavedSearchRequest\x1a..sift.saved_searches.v1.GetSavedSearchResponse\"]\x92\x41*\x12\x0eGetSavedSearch\x1a\x18Retrieve a saved search.\x82\xd3\xe4\x93\x02*\x12(/api/v1/saved_searches/{saved_search_id}\x12\xc9\x01\n\x11\x43reateSavedSearch\x12\x30.sift.saved_searches.v1.CreateSavedSearchRequest\x1a\x31.sift.saved_searches.v1.CreateSavedSearchResponse\"O\x92\x41+\x12\x11\x43reateSavedSearch\x1a\x16\x43reate a saved search.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/saved_searches:\x01*\x12\xc4\x01\n\x11ListSavedSearches\x12\x30.sift.saved_searches.v1.ListSavedSearchesRequest\x1a\x31.sift.saved_searches.v1.ListSavedSearchesResponse\"J\x92\x41)\x12\x11ListSavedSearches\x1a\x14List saved searches.\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/saved_searches\x12\x8f\x02\n\x11UpdateSavedSearch\x12\x30.sift.saved_searches.v1.UpdateSavedSearchRequest\x1a\x31.sift.saved_searches.v1.UpdateSavedSearchResponse\"\x94\x01\x92\x41p\x12\x11UpdateSavedSearch\x1a[Updates an existing saved search using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x1b\x32\x16/api/v1/saved_searches:\x01*\x12\xd8\x01\n\x11\x44\x65leteSavedSearch\x12\x30.sift.saved_searches.v1.DeleteSavedSearchRequest\x1a\x31.sift.saved_searches.v1.DeleteSavedSearchResponse\"^\x92\x41+\x12\x11\x44\x65leteSavedSearch\x1a\x16\x44\x65lete a saved search.\x82\xd3\xe4\x93\x02**(/api/v1/saved_searches/{saved_search_id}\x12\xf7\x01\n\x18\x42\x61tchDeleteSavedSearches\x12\x37.sift.saved_searches.v1.BatchDeleteSavedSearchesRequest\x1a\x38.sift.saved_searches.v1.BatchDeleteSavedSearchesResponse\"h\x92\x41\x38\x12\x18\x42\x61tchDeleteSavedSearches\x1a\x1c\x42\x61tch delete saved searches.\x82\xd3\xe4\x93\x02\'\"\"/api/v1/saved_searches:batchDelete:\x01*B\xc0\x01\n\x1a\x63om.sift.saved_searches.v1B\x12SavedSearchesProtoP\x01\xa2\x02\x03SSX\xaa\x02\x15Sift.SavedSearches.V1\xca\x02\x15Sift\\SavedSearches\\V1\xe2\x02!Sift\\SavedSearches\\V1\\GPBMetadata\xea\x02\x17Sift::SavedSearches::V1\x92\x41\x17\x12\x15\n\x13SavedSearch serviceb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n+sift/saved_searches/v1/saved_searches.proto\x12\x16sift.saved_searches.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xc5\x03\n\x0bSavedSearch\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\x12,\n\x0forganization_id\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x0eorganizationId\x12\x17\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x04name\x12R\n\nproperties\x18\x04 \x01(\x0b\x32-.sift.saved_searches.v1.SavedSearchPropertiesB\x03\xe0\x41\x02R\nproperties\x12\x30\n\x12\x63reated_by_user_id\x18\x05 \x01(\tB\x03\xe0\x41\x02R\x0f\x63reatedByUserId\x12\x32\n\x13modified_by_user_id\x18\x06 \x01(\tB\x03\xe0\x41\x02R\x10modifiedByUserId\x12\x42\n\x0c\x63reated_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\"\xa9\t\n\x15SavedSearchProperties\x12(\n\roverview_mode\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x0coverviewMode\x12)\n\x0bsearch_term\x18\x02 \x01(\tB\x03\xe0\x41\x01H\x00R\nsearchTerm\x88\x01\x01\x12J\n\x0e\x66rom_date_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x01R\x0c\x66romDateTime\x88\x01\x01\x12\x46\n\x0cto_date_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01H\x02R\ntoDateTime\x88\x01\x01\x12S\n\x0b\x61sset_items\x18\x05 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\nassetItems\x12Q\n\nuser_items\x18\x06 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\tuserItems\x12O\n\ttag_items\x18\x07 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x08tagItems\x12]\n\x10\x61nnotation_items\x18\x08 \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x0f\x61nnotationItems\x12O\n\trun_items\x18\t \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x08runItems\x12\x66\n\x15report_template_items\x18\n \x03(\x0b\x32-.sift.saved_searches.v1.SavedSearchFilterItemB\x03\xe0\x41\x01R\x13reportTemplateItems\x12<\n\x15show_advanced_filters\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01H\x03R\x13showAdvancedFilters\x88\x01\x01\x12\x33\n\x10include_archived\x18\x0c \x01(\x08\x42\x03\xe0\x41\x01H\x04R\x0fincludeArchived\x88\x01\x01\x12#\n\x08order_by\x18\r \x01(\tB\x03\xe0\x41\x01H\x05R\x07orderBy\x88\x01\x01\x12[\n\x0emetadata_items\x18\x0e \x03(\x0b\x32/.sift.saved_searches.v1.SavedSearchMetadataItemB\x03\xe0\x41\x01R\rmetadataItems\x12$\n\x08\x64uration\x18\x0f \x01(\tB\x03\xe0\x41\x01H\x06R\x08\x64uration\x88\x01\x01\x42\x0e\n\x0c_search_termB\x11\n\x0f_from_date_timeB\x0f\n\r_to_date_timeB\x18\n\x16_show_advanced_filtersB\x13\n\x11_include_archivedB\x0b\n\t_order_byB\x0b\n\t_duration\"E\n\x15SavedSearchFilterItem\x12\x13\n\x02id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x02id\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x02R\x04name\"\xaa\x01\n\x17SavedSearchMetadataItem\x12\x15\n\x03key\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x03key\x12#\n\x0cstring_value\x18\x02 \x01(\tH\x00R\x0bstringValue\x12#\n\x0cnumber_value\x18\x03 \x01(\x01H\x00R\x0bnumberValue\x12%\n\rboolean_value\x18\x04 \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"D\n\x15GetSavedSearchRequest\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\"e\n\x16GetSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\"\xab\x01\n\x18ListSavedSearchesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12,\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"\x8f\x01\n\x19ListSavedSearchesResponse\x12J\n\x0esaved_searches\x18\x01 \x03(\x0b\x32#.sift.saved_searches.v1.SavedSearchR\rsavedSearches\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xb5\x01\n\x18\x43reateSavedSearchRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12R\n\nproperties\x18\x02 \x01(\x0b\x32-.sift.saved_searches.v1.SavedSearchPropertiesB\x03\xe0\x41\x02R\nproperties\x12,\n\x0forganization_id\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\"h\n\x19\x43reateSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\"G\n\x18\x44\x65leteSavedSearchRequest\x12+\n\x0fsaved_search_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\rsavedSearchId\"\x1b\n\x19\x44\x65leteSavedSearchResponse\"K\n\x1f\x42\x61tchDeleteSavedSearchesRequest\x12(\n\x10saved_search_ids\x18\x01 \x03(\tR\x0esavedSearchIds\"\"\n BatchDeleteSavedSearchesResponse\"\xa9\x01\n\x18UpdateSavedSearchRequest\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch\x12@\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"h\n\x19UpdateSavedSearchResponse\x12K\n\x0csaved_search\x18\x01 \x01(\x0b\x32#.sift.saved_searches.v1.SavedSearchB\x03\xe0\x41\x02R\x0bsavedSearch2\xdf\n\n\x12SavedSearchService\x12\xce\x01\n\x0eGetSavedSearch\x12-.sift.saved_searches.v1.GetSavedSearchRequest\x1a..sift.saved_searches.v1.GetSavedSearchResponse\"]\x92\x41*\x12\x0eGetSavedSearch\x1a\x18Retrieve a saved search.\x82\xd3\xe4\x93\x02*\x12(/api/v1/saved_searches/{saved_search_id}\x12\xc9\x01\n\x11\x43reateSavedSearch\x12\x30.sift.saved_searches.v1.CreateSavedSearchRequest\x1a\x31.sift.saved_searches.v1.CreateSavedSearchResponse\"O\x92\x41+\x12\x11\x43reateSavedSearch\x1a\x16\x43reate a saved search.\x82\xd3\xe4\x93\x02\x1b\"\x16/api/v1/saved_searches:\x01*\x12\xc4\x01\n\x11ListSavedSearches\x12\x30.sift.saved_searches.v1.ListSavedSearchesRequest\x1a\x31.sift.saved_searches.v1.ListSavedSearchesResponse\"J\x92\x41)\x12\x11ListSavedSearches\x1a\x14List saved searches.\x82\xd3\xe4\x93\x02\x18\x12\x16/api/v1/saved_searches\x12\x8f\x02\n\x11UpdateSavedSearch\x12\x30.sift.saved_searches.v1.UpdateSavedSearchRequest\x1a\x31.sift.saved_searches.v1.UpdateSavedSearchResponse\"\x94\x01\x92\x41p\x12\x11UpdateSavedSearch\x1a[Updates an existing saved search using using the list of fields specified in `update_mask`.\x82\xd3\xe4\x93\x02\x1b\x32\x16/api/v1/saved_searches:\x01*\x12\xd8\x01\n\x11\x44\x65leteSavedSearch\x12\x30.sift.saved_searches.v1.DeleteSavedSearchRequest\x1a\x31.sift.saved_searches.v1.DeleteSavedSearchResponse\"^\x92\x41+\x12\x11\x44\x65leteSavedSearch\x1a\x16\x44\x65lete a saved search.\x82\xd3\xe4\x93\x02**(/api/v1/saved_searches/{saved_search_id}\x12\xf7\x01\n\x18\x42\x61tchDeleteSavedSearches\x12\x37.sift.saved_searches.v1.BatchDeleteSavedSearchesRequest\x1a\x38.sift.saved_searches.v1.BatchDeleteSavedSearchesResponse\"h\x92\x41\x38\x12\x18\x42\x61tchDeleteSavedSearches\x1a\x1c\x42\x61tch delete saved searches.\x82\xd3\xe4\x93\x02\'\"\"/api/v1/saved_searches:batchDelete:\x01*B\xc0\x01\n\x1a\x63om.sift.saved_searches.v1B\x12SavedSearchesProtoP\x01\xa2\x02\x03SSX\xaa\x02\x15Sift.SavedSearches.V1\xca\x02\x15Sift\\SavedSearches\\V1\xe2\x02!Sift\\SavedSearches\\V1\\GPBMetadata\xea\x02\x17Sift::SavedSearches::V1\x92\x41\x17\x12\x15\n\x13SavedSearch serviceb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) @@ -71,6 +71,8 @@ _globals['_SAVEDSEARCHPROPERTIES'].fields_by_name['order_by']._serialized_options = b'\340A\001' _globals['_SAVEDSEARCHPROPERTIES'].fields_by_name['metadata_items']._loaded_options = None _globals['_SAVEDSEARCHPROPERTIES'].fields_by_name['metadata_items']._serialized_options = b'\340A\001' + _globals['_SAVEDSEARCHPROPERTIES'].fields_by_name['duration']._loaded_options = None + _globals['_SAVEDSEARCHPROPERTIES'].fields_by_name['duration']._serialized_options = b'\340A\001' _globals['_SAVEDSEARCHFILTERITEM'].fields_by_name['id']._loaded_options = None _globals['_SAVEDSEARCHFILTERITEM'].fields_by_name['id']._serialized_options = b'\340A\002' _globals['_SAVEDSEARCHFILTERITEM'].fields_by_name['name']._loaded_options = None @@ -120,35 +122,35 @@ _globals['_SAVEDSEARCH']._serialized_start=250 _globals['_SAVEDSEARCH']._serialized_end=703 _globals['_SAVEDSEARCHPROPERTIES']._serialized_start=706 - _globals['_SAVEDSEARCHPROPERTIES']._serialized_end=1848 - _globals['_SAVEDSEARCHFILTERITEM']._serialized_start=1850 - _globals['_SAVEDSEARCHFILTERITEM']._serialized_end=1919 - _globals['_SAVEDSEARCHMETADATAITEM']._serialized_start=1922 - _globals['_SAVEDSEARCHMETADATAITEM']._serialized_end=2092 - _globals['_GETSAVEDSEARCHREQUEST']._serialized_start=2094 - _globals['_GETSAVEDSEARCHREQUEST']._serialized_end=2162 - _globals['_GETSAVEDSEARCHRESPONSE']._serialized_start=2164 - _globals['_GETSAVEDSEARCHRESPONSE']._serialized_end=2265 - _globals['_LISTSAVEDSEARCHESREQUEST']._serialized_start=2268 - _globals['_LISTSAVEDSEARCHESREQUEST']._serialized_end=2439 - _globals['_LISTSAVEDSEARCHESRESPONSE']._serialized_start=2442 - _globals['_LISTSAVEDSEARCHESRESPONSE']._serialized_end=2585 - _globals['_CREATESAVEDSEARCHREQUEST']._serialized_start=2588 - _globals['_CREATESAVEDSEARCHREQUEST']._serialized_end=2769 - _globals['_CREATESAVEDSEARCHRESPONSE']._serialized_start=2771 - _globals['_CREATESAVEDSEARCHRESPONSE']._serialized_end=2875 - _globals['_DELETESAVEDSEARCHREQUEST']._serialized_start=2877 - _globals['_DELETESAVEDSEARCHREQUEST']._serialized_end=2948 - _globals['_DELETESAVEDSEARCHRESPONSE']._serialized_start=2950 - _globals['_DELETESAVEDSEARCHRESPONSE']._serialized_end=2977 - _globals['_BATCHDELETESAVEDSEARCHESREQUEST']._serialized_start=2979 - _globals['_BATCHDELETESAVEDSEARCHESREQUEST']._serialized_end=3054 - _globals['_BATCHDELETESAVEDSEARCHESRESPONSE']._serialized_start=3056 - _globals['_BATCHDELETESAVEDSEARCHESRESPONSE']._serialized_end=3090 - _globals['_UPDATESAVEDSEARCHREQUEST']._serialized_start=3093 - _globals['_UPDATESAVEDSEARCHREQUEST']._serialized_end=3262 - _globals['_UPDATESAVEDSEARCHRESPONSE']._serialized_start=3264 - _globals['_UPDATESAVEDSEARCHRESPONSE']._serialized_end=3368 - _globals['_SAVEDSEARCHSERVICE']._serialized_start=3371 - _globals['_SAVEDSEARCHSERVICE']._serialized_end=4746 + _globals['_SAVEDSEARCHPROPERTIES']._serialized_end=1899 + _globals['_SAVEDSEARCHFILTERITEM']._serialized_start=1901 + _globals['_SAVEDSEARCHFILTERITEM']._serialized_end=1970 + _globals['_SAVEDSEARCHMETADATAITEM']._serialized_start=1973 + _globals['_SAVEDSEARCHMETADATAITEM']._serialized_end=2143 + _globals['_GETSAVEDSEARCHREQUEST']._serialized_start=2145 + _globals['_GETSAVEDSEARCHREQUEST']._serialized_end=2213 + _globals['_GETSAVEDSEARCHRESPONSE']._serialized_start=2215 + _globals['_GETSAVEDSEARCHRESPONSE']._serialized_end=2316 + _globals['_LISTSAVEDSEARCHESREQUEST']._serialized_start=2319 + _globals['_LISTSAVEDSEARCHESREQUEST']._serialized_end=2490 + _globals['_LISTSAVEDSEARCHESRESPONSE']._serialized_start=2493 + _globals['_LISTSAVEDSEARCHESRESPONSE']._serialized_end=2636 + _globals['_CREATESAVEDSEARCHREQUEST']._serialized_start=2639 + _globals['_CREATESAVEDSEARCHREQUEST']._serialized_end=2820 + _globals['_CREATESAVEDSEARCHRESPONSE']._serialized_start=2822 + _globals['_CREATESAVEDSEARCHRESPONSE']._serialized_end=2926 + _globals['_DELETESAVEDSEARCHREQUEST']._serialized_start=2928 + _globals['_DELETESAVEDSEARCHREQUEST']._serialized_end=2999 + _globals['_DELETESAVEDSEARCHRESPONSE']._serialized_start=3001 + _globals['_DELETESAVEDSEARCHRESPONSE']._serialized_end=3028 + _globals['_BATCHDELETESAVEDSEARCHESREQUEST']._serialized_start=3030 + _globals['_BATCHDELETESAVEDSEARCHESREQUEST']._serialized_end=3105 + _globals['_BATCHDELETESAVEDSEARCHESRESPONSE']._serialized_start=3107 + _globals['_BATCHDELETESAVEDSEARCHESRESPONSE']._serialized_end=3141 + _globals['_UPDATESAVEDSEARCHREQUEST']._serialized_start=3144 + _globals['_UPDATESAVEDSEARCHREQUEST']._serialized_end=3313 + _globals['_UPDATESAVEDSEARCHRESPONSE']._serialized_start=3315 + _globals['_UPDATESAVEDSEARCHRESPONSE']._serialized_end=3419 + _globals['_SAVEDSEARCHSERVICE']._serialized_start=3422 + _globals['_SAVEDSEARCHSERVICE']._serialized_end=4797 # @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/saved_searches/v1/saved_searches_pb2.pyi b/python/lib/sift/saved_searches/v1/saved_searches_pb2.pyi index 9860c0f19..d95a897fe 100644 --- a/python/lib/sift/saved_searches/v1/saved_searches_pb2.pyi +++ b/python/lib/sift/saved_searches/v1/saved_searches_pb2.pyi @@ -72,11 +72,13 @@ class SavedSearchProperties(google.protobuf.message.Message): INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int ORDER_BY_FIELD_NUMBER: builtins.int METADATA_ITEMS_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int overview_mode: builtins.str search_term: builtins.str show_advanced_filters: builtins.bool include_archived: builtins.bool order_by: builtins.str + duration: builtins.str @property def from_date_time(self) -> google.protobuf.timestamp_pb2.Timestamp: ... @property @@ -112,9 +114,12 @@ class SavedSearchProperties(google.protobuf.message.Message): include_archived: builtins.bool | None = ..., order_by: builtins.str | None = ..., metadata_items: collections.abc.Iterable[global___SavedSearchMetadataItem] | None = ..., + duration: builtins.str | None = ..., ) -> None: ... - def HasField(self, field_name: typing.Literal["_from_date_time", b"_from_date_time", "_include_archived", b"_include_archived", "_order_by", b"_order_by", "_search_term", b"_search_term", "_show_advanced_filters", b"_show_advanced_filters", "_to_date_time", b"_to_date_time", "from_date_time", b"from_date_time", "include_archived", b"include_archived", "order_by", b"order_by", "search_term", b"search_term", "show_advanced_filters", b"show_advanced_filters", "to_date_time", b"to_date_time"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["_from_date_time", b"_from_date_time", "_include_archived", b"_include_archived", "_order_by", b"_order_by", "_search_term", b"_search_term", "_show_advanced_filters", b"_show_advanced_filters", "_to_date_time", b"_to_date_time", "annotation_items", b"annotation_items", "asset_items", b"asset_items", "from_date_time", b"from_date_time", "include_archived", b"include_archived", "metadata_items", b"metadata_items", "order_by", b"order_by", "overview_mode", b"overview_mode", "report_template_items", b"report_template_items", "run_items", b"run_items", "search_term", b"search_term", "show_advanced_filters", b"show_advanced_filters", "tag_items", b"tag_items", "to_date_time", b"to_date_time", "user_items", b"user_items"]) -> None: ... + def HasField(self, field_name: typing.Literal["_duration", b"_duration", "_from_date_time", b"_from_date_time", "_include_archived", b"_include_archived", "_order_by", b"_order_by", "_search_term", b"_search_term", "_show_advanced_filters", b"_show_advanced_filters", "_to_date_time", b"_to_date_time", "duration", b"duration", "from_date_time", b"from_date_time", "include_archived", b"include_archived", "order_by", b"order_by", "search_term", b"search_term", "show_advanced_filters", b"show_advanced_filters", "to_date_time", b"to_date_time"]) -> builtins.bool: ... + def ClearField(self, field_name: typing.Literal["_duration", b"_duration", "_from_date_time", b"_from_date_time", "_include_archived", b"_include_archived", "_order_by", b"_order_by", "_search_term", b"_search_term", "_show_advanced_filters", b"_show_advanced_filters", "_to_date_time", b"_to_date_time", "annotation_items", b"annotation_items", "asset_items", b"asset_items", "duration", b"duration", "from_date_time", b"from_date_time", "include_archived", b"include_archived", "metadata_items", b"metadata_items", "order_by", b"order_by", "overview_mode", b"overview_mode", "report_template_items", b"report_template_items", "run_items", b"run_items", "search_term", b"search_term", "show_advanced_filters", b"show_advanced_filters", "tag_items", b"tag_items", "to_date_time", b"to_date_time", "user_items", b"user_items"]) -> None: ... + @typing.overload + def WhichOneof(self, oneof_group: typing.Literal["_duration", b"_duration"]) -> typing.Literal["duration"] | None: ... @typing.overload def WhichOneof(self, oneof_group: typing.Literal["_from_date_time", b"_from_date_time"]) -> typing.Literal["from_date_time"] | None: ... @typing.overload diff --git a/python/lib/sift/user_attributes/__init__.py b/python/lib/sift/user_attributes/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/user_attributes/v1/__init__.py b/python/lib/sift/user_attributes/v1/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/python/lib/sift/user_attributes/v1/user_attributes_pb2.py b/python/lib/sift/user_attributes/v1/user_attributes_pb2.py deleted file mode 100644 index dc245c6f6..000000000 --- a/python/lib/sift/user_attributes/v1/user_attributes_pb2.py +++ /dev/null @@ -1,243 +0,0 @@ -# -*- coding: utf-8 -*- -# Generated by the protocol buffer compiler. DO NOT EDIT! -# source: sift/user_attributes/v1/user_attributes.proto -# Protobuf Python Version: 5.26.1 -"""Generated protocol buffer code.""" -from google.protobuf import descriptor as _descriptor -from google.protobuf import descriptor_pool as _descriptor_pool -from google.protobuf import symbol_database as _symbol_database -from google.protobuf.internal import builder as _builder -# @@protoc_insertion_point(imports) - -_sym_db = _symbol_database.Default() - - -from buf.validate import validate_pb2 as buf_dot_validate_dot_validate__pb2 -from google.api import annotations_pb2 as google_dot_api_dot_annotations__pb2 -from google.api import field_behavior_pb2 as google_dot_api_dot_field__behavior__pb2 -from google.protobuf import field_mask_pb2 as google_dot_protobuf_dot_field__mask__pb2 -from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 -from protoc_gen_openapiv2.options import annotations_pb2 as protoc__gen__openapiv2_dot_options_dot_annotations__pb2 - - -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n-sift/user_attributes/v1/user_attributes.proto\x12\x17sift.user_attributes.v1\x1a\x1b\x62uf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a.protoc-gen-openapiv2/options/annotations.proto\"\xfe\x04\n\x10UserAttributeKey\x12>\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\x12\x34\n\x0forganization_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0eorganizationId\x12\x17\n\x04name\x18\x03 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12H\n\x04type\x18\x05 \x01(\x0e\x32/.sift.user_attributes.v1.UserAttributeValueTypeB\x03\xe0\x41\x02R\x04type\x12\x42\n\x0c\x63reated_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x38\n\x12\x63reated_by_user_id\x18\x07 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12\x44\n\rmodified_date\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0cmodifiedDate\x12:\n\x13modified_by_user_id\x18\t \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x10modifiedByUserId\x12\x44\n\rarchived_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01R\nisArchived\"\xa9\x01\n\x1d\x43reateUserAttributeKeyRequest\x12\x17\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x04name\x12%\n\x0b\x64\x65scription\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12H\n\x04type\x18\x03 \x01(\x0e\x32/.sift.user_attributes.v1.UserAttributeValueTypeB\x03\xe0\x41\x02R\x04type\"~\n\x1e\x43reateUserAttributeKeyResponse\x12\\\n\x12user_attribute_key\x18\x01 \x01(\x0b\x32).sift.user_attributes.v1.UserAttributeKeyB\x03\xe0\x41\x02R\x10userAttributeKey\"\xe1\x01\n\x1dUpdateUserAttributeKeyRequest\x12>\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\x12\x17\n\x04name\x18\x02 \x01(\tB\x03\xe0\x41\x01R\x04name\x12%\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x0b\x64\x65scription\x12@\n\x0bupdate_mask\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02R\nupdateMask\"~\n\x1eUpdateUserAttributeKeyResponse\x12\\\n\x12user_attribute_key\x18\x01 \x01(\x0b\x32).sift.user_attributes.v1.UserAttributeKeyB\x03\xe0\x41\x02R\x10userAttributeKey\"\\\n\x1aGetUserAttributeKeyRequest\x12>\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\"{\n\x1bGetUserAttributeKeyResponse\x12\\\n\x12user_attribute_key\x18\x01 \x01(\x0b\x32).sift.user_attributes.v1.UserAttributeKeyB\x03\xe0\x41\x02R\x10userAttributeKey\"\xff\x01\n\x1cListUserAttributeKeysRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12,\n\x0forganization_id\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x0eorganizationId\x12.\n\x10include_archived\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"\xa7\x01\n\x1dListUserAttributeKeysResponse\x12^\n\x13user_attribute_keys\x18\x01 \x03(\x0b\x32).sift.user_attributes.v1.UserAttributeKeyB\x03\xe0\x41\x02R\x11userAttributeKeys\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"[\n\x1f\x41rchiveUserAttributeKeysRequest\x12\x38\n\x16user_attribute_key_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x13userAttributeKeyIds\"\"\n ArchiveUserAttributeKeysResponse\"]\n!UnarchiveUserAttributeKeysRequest\x12\x38\n\x16user_attribute_key_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x13userAttributeKeyIds\"$\n\"UnarchiveUserAttributeKeysResponse\"\x9a\x05\n\x12UserAttributeValue\x12\x42\n\x17user_attribute_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x14userAttributeValueId\x12>\n\x15user_attribute_key_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\x12$\n\x07user_id\x18\x03 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12\x34\n\x0forganization_id\x18\x04 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0eorganizationId\x12#\n\x0cstring_value\x18\x05 \x01(\tH\x00R\x0bstringValue\x12#\n\x0cnumber_value\x18\x06 \x01(\x01H\x00R\x0bnumberValue\x12%\n\rboolean_value\x18\x07 \x01(\x08H\x00R\x0c\x62ooleanValue\x12\x38\n\x12\x63reated_by_user_id\x18\x08 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x0f\x63reatedByUserId\x12\x42\n\x0c\x63reated_date\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x02R\x0b\x63reatedDate\x12\x44\n\rarchived_date\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x01R\x0c\x61rchivedDate\x12$\n\x0bis_archived\x18\x0b \x01(\x08\x42\x03\xe0\x41\x01R\nisArchived\x12@\n\x03key\x18\x0c \x01(\x0b\x32).sift.user_attributes.v1.UserAttributeKeyB\x03\xe0\x41\x02R\x03keyB\x07\n\x05value\"\x81\x02\n\x1f\x43reateUserAttributeValueRequest\x12>\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\x12$\n\x07user_id\x18\x02 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x06userId\x12#\n\x0cstring_value\x18\x04 \x01(\tH\x00R\x0bstringValue\x12#\n\x0cnumber_value\x18\x05 \x01(\x01H\x00R\x0bnumberValue\x12%\n\rboolean_value\x18\x06 \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"\x86\x01\n CreateUserAttributeValueResponse\x12\x62\n\x14user_attribute_value\x18\x01 \x01(\x0b\x32+.sift.user_attributes.v1.UserAttributeValueB\x03\xe0\x41\x02R\x12userAttributeValue\"\x8b\x02\n$BatchCreateUserAttributeValueRequest\x12>\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x12userAttributeKeyId\x12)\n\x08user_ids\x18\x02 \x03(\tB\x0e\xe0\x41\x02\xbaH\x08\x92\x01\x05\x08\x01\x10\x88\'R\x07userIds\x12#\n\x0cstring_value\x18\x03 \x01(\tH\x00R\x0bstringValue\x12#\n\x0cnumber_value\x18\x04 \x01(\x01H\x00R\x0bnumberValue\x12%\n\rboolean_value\x18\x05 \x01(\x08H\x00R\x0c\x62ooleanValueB\x07\n\x05value\"\x8d\x01\n%BatchCreateUserAttributeValueResponse\x12\x64\n\x15user_attribute_values\x18\x01 \x03(\x0b\x32+.sift.user_attributes.v1.UserAttributeValueB\x03\xe0\x41\x02R\x13userAttributeValues\"\x8e\x02\n!ListUserAttributeKeyValuesRequest\x12\x36\n\x15user_attribute_key_id\x18\x01 \x01(\tB\x03\xe0\x41\x02R\x12userAttributeKeyId\x12 \n\tpage_size\x18\x02 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x03 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\x12.\n\x10include_archived\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01R\x0fincludeArchived\"\xb2\x01\n\"ListUserAttributeKeyValuesResponse\x12\x64\n\x15user_attribute_values\x18\x01 \x03(\x0b\x32+.sift.user_attributes.v1.UserAttributeValueB\x03\xe0\x41\x02R\x13userAttributeValues\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xa3\x01\n\x1eListUserAttributeValuesRequest\x12 \n\tpage_size\x18\x01 \x01(\rB\x03\xe0\x41\x01R\x08pageSize\x12\"\n\npage_token\x18\x02 \x01(\tB\x03\xe0\x41\x01R\tpageToken\x12\x1b\n\x06\x66ilter\x18\x03 \x01(\tB\x03\xe0\x41\x01R\x06\x66ilter\x12\x1e\n\x08order_by\x18\x04 \x01(\tB\x03\xe0\x41\x01R\x07orderBy\"\xaf\x01\n\x1fListUserAttributeValuesResponse\x12\x64\n\x15user_attribute_values\x18\x01 \x03(\x0b\x32+.sift.user_attributes.v1.UserAttributeValueB\x03\xe0\x41\x02R\x13userAttributeValues\x12&\n\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"b\n\x1cGetUserAttributeValueRequest\x12\x42\n\x17user_attribute_value_id\x18\x01 \x01(\tB\x0b\xe0\x41\x02\xbaH\x05r\x03\xb0\x01\x01R\x14userAttributeValueId\"\x83\x01\n\x1dGetUserAttributeValueResponse\x12\x62\n\x14user_attribute_value\x18\x01 \x01(\x0b\x32+.sift.user_attributes.v1.UserAttributeValueB\x03\xe0\x41\x02R\x12userAttributeValue\"a\n!ArchiveUserAttributeValuesRequest\x12<\n\x18user_attribute_value_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x15userAttributeValueIds\"$\n\"ArchiveUserAttributeValuesResponse\"c\n#UnarchiveUserAttributeValuesRequest\x12<\n\x18user_attribute_value_ids\x18\x01 \x03(\tB\x03\xe0\x41\x02R\x15userAttributeValueIds\"&\n$UnarchiveUserAttributeValuesResponse*\xe3\x01\n\x16UserAttributeValueType\x12)\n%USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED\x10\x00\x12$\n USER_ATTRIBUTE_VALUE_TYPE_STRING\x10\x01\x12%\n!USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN\x10\x02\x12$\n USER_ATTRIBUTE_VALUE_TYPE_NUMBER\x10\x03\x12+\n\'USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING\x10\x04\x32\xd1\x1b\n\x15UserAttributesService\x12\xea\x01\n\x16\x43reateUserAttributeKey\x12\x36.sift.user_attributes.v1.CreateUserAttributeKeyRequest\x1a\x37.sift.user_attributes.v1.CreateUserAttributeKeyResponse\"_\x92\x41\x36\x12\x16\x43reateUserAttributeKey\x1a\x1c\x43reate a user attribute key.\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/user-attribute-keys:\x01*\x12\xf6\x01\n\x13GetUserAttributeKey\x12\x33.sift.user_attributes.v1.GetUserAttributeKeyRequest\x1a\x34.sift.user_attributes.v1.GetUserAttributeKeyResponse\"t\x92\x41\x36\x12\x13GetUserAttributeKey\x1a\x1fRetrieves a user attribute key.\x82\xd3\xe4\x93\x02\x35\x12\x33/api/v1/user-attribute-keys/{user_attribute_key_id}\x12\xe1\x01\n\x15ListUserAttributeKeys\x12\x35.sift.user_attributes.v1.ListUserAttributeKeysRequest\x1a\x36.sift.user_attributes.v1.ListUserAttributeKeysResponse\"Y\x92\x41\x33\x12\x15ListUserAttributeKeys\x1a\x1aLists user attribute keys.\x82\xd3\xe4\x93\x02\x1d\x12\x1b/api/v1/user-attribute-keys\x12\x8e\x02\n\x16UpdateUserAttributeKey\x12\x36.sift.user_attributes.v1.UpdateUserAttributeKeyRequest\x1a\x37.sift.user_attributes.v1.UpdateUserAttributeKeyResponse\"\x82\x01\x92\x41\x41\x12\x16UpdateUserAttributeKey\x1a\'Updates an existing user attribute key.\x82\xd3\xe4\x93\x02\x38\x32\x33/api/v1/user-attribute-keys/{user_attribute_key_id}:\x01*\x12\xfa\x01\n\x18\x41rchiveUserAttributeKeys\x12\x38.sift.user_attributes.v1.ArchiveUserAttributeKeysRequest\x1a\x39.sift.user_attributes.v1.ArchiveUserAttributeKeysResponse\"i\x92\x41\x38\x12\x18\x41rchiveUserAttributeKeys\x1a\x1c\x41rchive user attribute keys.\x82\xd3\xe4\x93\x02(\"#/api/v1/user-attribute-keys/archive:\x01*\x12\x86\x02\n\x1aUnarchiveUserAttributeKeys\x12:.sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest\x1a;.sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse\"o\x92\x41<\x12\x1aUnarchiveUserAttributeKeys\x1a\x1eUnarchive user attribute keys.\x82\xd3\xe4\x93\x02*\"%/api/v1/user-attribute-keys/unarchive:\x01*\x12\xf6\x01\n\x18\x43reateUserAttributeValue\x12\x38.sift.user_attributes.v1.CreateUserAttributeValueRequest\x1a\x39.sift.user_attributes.v1.CreateUserAttributeValueResponse\"e\x92\x41:\x12\x18\x43reateUserAttributeValue\x1a\x1e\x43reate a user attribute value.\x82\xd3\xe4\x93\x02\"\"\x1d/api/v1/user-attribute-values:\x01*\x12\xbb\x02\n\x1d\x42\x61tchCreateUserAttributeValue\x12=.sift.user_attributes.v1.BatchCreateUserAttributeValueRequest\x1a>.sift.user_attributes.v1.BatchCreateUserAttributeValueResponse\"\x9a\x01\x92\x41i\x12\x1d\x42\x61tchCreateUserAttributeValue\x1aHCreates a user attribute value for multiple users in a single operation.\x82\xd3\xe4\x93\x02(\"#/api/v1/user-attribute-values/batch:\x01*\x12\x84\x02\n\x15GetUserAttributeValue\x12\x35.sift.user_attributes.v1.GetUserAttributeValueRequest\x1a\x36.sift.user_attributes.v1.GetUserAttributeValueResponse\"|\x92\x41:\x12\x15GetUserAttributeValue\x1a!Retrieves a user attribute value.\x82\xd3\xe4\x93\x02\x39\x12\x37/api/v1/user-attribute-values/{user_attribute_value_id}\x12\xc5\x02\n\x1aListUserAttributeKeyValues\x12:.sift.user_attributes.v1.ListUserAttributeKeyValuesRequest\x1a;.sift.user_attributes.v1.ListUserAttributeKeyValuesResponse\"\xad\x01\x92\x41Y\x12\x1aListUserAttributeKeyValues\x1a;Lists user attribute values for a given user attribute key.\x82\xd3\xe4\x93\x02K\x12I/api/v1/user-attribute-keys/{user_attribute_key_id}/user-attribute-values\x12\xed\x01\n\x17ListUserAttributeValues\x12\x37.sift.user_attributes.v1.ListUserAttributeValuesRequest\x1a\x38.sift.user_attributes.v1.ListUserAttributeValuesResponse\"_\x92\x41\x37\x12\x17ListUserAttributeValues\x1a\x1cLists user attribute values.\x82\xd3\xe4\x93\x02\x1f\x12\x1d/api/v1/user-attribute-values\x12\x86\x02\n\x1a\x41rchiveUserAttributeValues\x12:.sift.user_attributes.v1.ArchiveUserAttributeValuesRequest\x1a;.sift.user_attributes.v1.ArchiveUserAttributeValuesResponse\"o\x92\x41<\x12\x1a\x41rchiveUserAttributeValues\x1a\x1e\x41rchive user attribute values.\x82\xd3\xe4\x93\x02*\"%/api/v1/user-attribute-values/archive:\x01*\x12\x92\x02\n\x1cUnarchiveUserAttributeValues\x12<.sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest\x1a=.sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse\"u\x92\x41@\x12\x1cUnarchiveUserAttributeValues\x1a Unarchive user attribute values.\x82\xd3\xe4\x93\x02,\"\'/api/v1/user-attribute-values/unarchive:\x01*\x1a\x43\x92\x41@\x12>Service to manage ABAC user attributes (principal attributes).B\xca\x01\n\x1b\x63om.sift.user_attributes.v1B\x13UserAttributesProtoP\x01\xa2\x02\x03SUX\xaa\x02\x16Sift.UserAttributes.V1\xca\x02\x16Sift\\UserAttributes\\V1\xe2\x02\"Sift\\UserAttributes\\V1\\GPBMetadata\xea\x02\x18Sift::UserAttributes::V1\x92\x41\x1b\x12\x19\n\x17User attributes serviceb\x06proto3') - -_globals = globals() -_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) -_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'sift.user_attributes.v1.user_attributes_pb2', _globals) -if not _descriptor._USE_C_DESCRIPTORS: - _globals['DESCRIPTOR']._loaded_options = None - _globals['DESCRIPTOR']._serialized_options = b'\n\033com.sift.user_attributes.v1B\023UserAttributesProtoP\001\242\002\003SUX\252\002\026Sift.UserAttributes.V1\312\002\026Sift\\UserAttributes\\V1\342\002\"Sift\\UserAttributes\\V1\\GPBMetadata\352\002\030Sift::UserAttributes::V1\222A\033\022\031\n\027User attributes service' - _globals['_USERATTRIBUTEKEY'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['organization_id']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['organization_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['name']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['name']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEKEY'].fields_by_name['description']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['type']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['type']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEKEY'].fields_by_name['created_date']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEKEY'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['modified_date']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['modified_date']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEKEY'].fields_by_name['modified_by_user_id']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['modified_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['archived_date']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_USERATTRIBUTEKEY'].fields_by_name['is_archived']._loaded_options = None - _globals['_USERATTRIBUTEKEY'].fields_by_name['is_archived']._serialized_options = b'\340A\001' - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['name']._serialized_options = b'\340A\002' - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['type']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['type']._serialized_options = b'\340A\002' - _globals['_CREATEUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._serialized_options = b'\340A\002' - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['name']._loaded_options = None - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['name']._serialized_options = b'\340A\001' - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['description']._loaded_options = None - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['description']._serialized_options = b'\340A\001' - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['update_mask']._loaded_options = None - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST'].fields_by_name['update_mask']._serialized_options = b'\340A\002' - _globals['_UPDATEUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._loaded_options = None - _globals['_UPDATEUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._serialized_options = b'\340A\002' - _globals['_GETUSERATTRIBUTEKEYREQUEST'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_GETUSERATTRIBUTEKEYREQUEST'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._loaded_options = None - _globals['_GETUSERATTRIBUTEKEYRESPONSE'].fields_by_name['user_attribute_key']._serialized_options = b'\340A\002' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['organization_id']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['organization_id']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYSRESPONSE'].fields_by_name['user_attribute_keys']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYSRESPONSE'].fields_by_name['user_attribute_keys']._serialized_options = b'\340A\002' - _globals['_ARCHIVEUSERATTRIBUTEKEYSREQUEST'].fields_by_name['user_attribute_key_ids']._loaded_options = None - _globals['_ARCHIVEUSERATTRIBUTEKEYSREQUEST'].fields_by_name['user_attribute_key_ids']._serialized_options = b'\340A\002' - _globals['_UNARCHIVEUSERATTRIBUTEKEYSREQUEST'].fields_by_name['user_attribute_key_ids']._loaded_options = None - _globals['_UNARCHIVEUSERATTRIBUTEKEYSREQUEST'].fields_by_name['user_attribute_key_ids']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_attribute_value_id']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_attribute_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_id']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['organization_id']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['organization_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['created_by_user_id']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['created_by_user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['created_date']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['created_date']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['archived_date']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['archived_date']._serialized_options = b'\340A\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['is_archived']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['is_archived']._serialized_options = b'\340A\001' - _globals['_USERATTRIBUTEVALUE'].fields_by_name['key']._loaded_options = None - _globals['_USERATTRIBUTEVALUE'].fields_by_name['key']._serialized_options = b'\340A\002' - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_id']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_CREATEUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_value']._loaded_options = None - _globals['_CREATEUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_value']._serialized_options = b'\340A\002' - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_ids']._loaded_options = None - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_ids']._serialized_options = b'\340A\002\272H\010\222\001\005\010\001\020\210\'' - _globals['_BATCHCREATEUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_values']._loaded_options = None - _globals['_BATCHCREATEUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_values']._serialized_options = b'\340A\002' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['user_attribute_key_id']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['user_attribute_key_id']._serialized_options = b'\340A\002' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['include_archived']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST'].fields_by_name['include_archived']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEKEYVALUESRESPONSE'].fields_by_name['user_attribute_values']._loaded_options = None - _globals['_LISTUSERATTRIBUTEKEYVALUESRESPONSE'].fields_by_name['user_attribute_values']._serialized_options = b'\340A\002' - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['page_size']._loaded_options = None - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['page_size']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['page_token']._loaded_options = None - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['page_token']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['filter']._loaded_options = None - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['filter']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['order_by']._loaded_options = None - _globals['_LISTUSERATTRIBUTEVALUESREQUEST'].fields_by_name['order_by']._serialized_options = b'\340A\001' - _globals['_LISTUSERATTRIBUTEVALUESRESPONSE'].fields_by_name['user_attribute_values']._loaded_options = None - _globals['_LISTUSERATTRIBUTEVALUESRESPONSE'].fields_by_name['user_attribute_values']._serialized_options = b'\340A\002' - _globals['_GETUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_value_id']._loaded_options = None - _globals['_GETUSERATTRIBUTEVALUEREQUEST'].fields_by_name['user_attribute_value_id']._serialized_options = b'\340A\002\272H\005r\003\260\001\001' - _globals['_GETUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_value']._loaded_options = None - _globals['_GETUSERATTRIBUTEVALUERESPONSE'].fields_by_name['user_attribute_value']._serialized_options = b'\340A\002' - _globals['_ARCHIVEUSERATTRIBUTEVALUESREQUEST'].fields_by_name['user_attribute_value_ids']._loaded_options = None - _globals['_ARCHIVEUSERATTRIBUTEVALUESREQUEST'].fields_by_name['user_attribute_value_ids']._serialized_options = b'\340A\002' - _globals['_UNARCHIVEUSERATTRIBUTEVALUESREQUEST'].fields_by_name['user_attribute_value_ids']._loaded_options = None - _globals['_UNARCHIVEUSERATTRIBUTEVALUESREQUEST'].fields_by_name['user_attribute_value_ids']._serialized_options = b'\340A\002' - _globals['_USERATTRIBUTESSERVICE']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE']._serialized_options = b'\222A@\022>Service to manage ABAC user attributes (principal attributes).' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['CreateUserAttributeKey']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['CreateUserAttributeKey']._serialized_options = b'\222A6\022\026CreateUserAttributeKey\032\034Create a user attribute key.\202\323\344\223\002 \"\033/api/v1/user-attribute-keys:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['GetUserAttributeKey']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['GetUserAttributeKey']._serialized_options = b'\222A6\022\023GetUserAttributeKey\032\037Retrieves a user attribute key.\202\323\344\223\0025\0223/api/v1/user-attribute-keys/{user_attribute_key_id}' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeKeys']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeKeys']._serialized_options = b'\222A3\022\025ListUserAttributeKeys\032\032Lists user attribute keys.\202\323\344\223\002\035\022\033/api/v1/user-attribute-keys' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UpdateUserAttributeKey']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UpdateUserAttributeKey']._serialized_options = b'\222AA\022\026UpdateUserAttributeKey\032\'Updates an existing user attribute key.\202\323\344\223\002823/api/v1/user-attribute-keys/{user_attribute_key_id}:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ArchiveUserAttributeKeys']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ArchiveUserAttributeKeys']._serialized_options = b'\222A8\022\030ArchiveUserAttributeKeys\032\034Archive user attribute keys.\202\323\344\223\002(\"#/api/v1/user-attribute-keys/archive:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UnarchiveUserAttributeKeys']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UnarchiveUserAttributeKeys']._serialized_options = b'\222A<\022\032UnarchiveUserAttributeKeys\032\036Unarchive user attribute keys.\202\323\344\223\002*\"%/api/v1/user-attribute-keys/unarchive:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['CreateUserAttributeValue']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['CreateUserAttributeValue']._serialized_options = b'\222A:\022\030CreateUserAttributeValue\032\036Create a user attribute value.\202\323\344\223\002\"\"\035/api/v1/user-attribute-values:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['BatchCreateUserAttributeValue']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['BatchCreateUserAttributeValue']._serialized_options = b'\222Ai\022\035BatchCreateUserAttributeValue\032HCreates a user attribute value for multiple users in a single operation.\202\323\344\223\002(\"#/api/v1/user-attribute-values/batch:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['GetUserAttributeValue']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['GetUserAttributeValue']._serialized_options = b'\222A:\022\025GetUserAttributeValue\032!Retrieves a user attribute value.\202\323\344\223\0029\0227/api/v1/user-attribute-values/{user_attribute_value_id}' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeKeyValues']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeKeyValues']._serialized_options = b'\222AY\022\032ListUserAttributeKeyValues\032;Lists user attribute values for a given user attribute key.\202\323\344\223\002K\022I/api/v1/user-attribute-keys/{user_attribute_key_id}/user-attribute-values' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeValues']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ListUserAttributeValues']._serialized_options = b'\222A7\022\027ListUserAttributeValues\032\034Lists user attribute values.\202\323\344\223\002\037\022\035/api/v1/user-attribute-values' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ArchiveUserAttributeValues']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['ArchiveUserAttributeValues']._serialized_options = b'\222A<\022\032ArchiveUserAttributeValues\032\036Archive user attribute values.\202\323\344\223\002*\"%/api/v1/user-attribute-values/archive:\001*' - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UnarchiveUserAttributeValues']._loaded_options = None - _globals['_USERATTRIBUTESSERVICE'].methods_by_name['UnarchiveUserAttributeValues']._serialized_options = b'\222A@\022\034UnarchiveUserAttributeValues\032 Unarchive user attribute values.\202\323\344\223\002,\"\'/api/v1/user-attribute-values/unarchive:\001*' - _globals['_USERATTRIBUTEVALUETYPE']._serialized_start=5278 - _globals['_USERATTRIBUTEVALUETYPE']._serialized_end=5505 - _globals['_USERATTRIBUTEKEY']._serialized_start=282 - _globals['_USERATTRIBUTEKEY']._serialized_end=920 - _globals['_CREATEUSERATTRIBUTEKEYREQUEST']._serialized_start=923 - _globals['_CREATEUSERATTRIBUTEKEYREQUEST']._serialized_end=1092 - _globals['_CREATEUSERATTRIBUTEKEYRESPONSE']._serialized_start=1094 - _globals['_CREATEUSERATTRIBUTEKEYRESPONSE']._serialized_end=1220 - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST']._serialized_start=1223 - _globals['_UPDATEUSERATTRIBUTEKEYREQUEST']._serialized_end=1448 - _globals['_UPDATEUSERATTRIBUTEKEYRESPONSE']._serialized_start=1450 - _globals['_UPDATEUSERATTRIBUTEKEYRESPONSE']._serialized_end=1576 - _globals['_GETUSERATTRIBUTEKEYREQUEST']._serialized_start=1578 - _globals['_GETUSERATTRIBUTEKEYREQUEST']._serialized_end=1670 - _globals['_GETUSERATTRIBUTEKEYRESPONSE']._serialized_start=1672 - _globals['_GETUSERATTRIBUTEKEYRESPONSE']._serialized_end=1795 - _globals['_LISTUSERATTRIBUTEKEYSREQUEST']._serialized_start=1798 - _globals['_LISTUSERATTRIBUTEKEYSREQUEST']._serialized_end=2053 - _globals['_LISTUSERATTRIBUTEKEYSRESPONSE']._serialized_start=2056 - _globals['_LISTUSERATTRIBUTEKEYSRESPONSE']._serialized_end=2223 - _globals['_ARCHIVEUSERATTRIBUTEKEYSREQUEST']._serialized_start=2225 - _globals['_ARCHIVEUSERATTRIBUTEKEYSREQUEST']._serialized_end=2316 - _globals['_ARCHIVEUSERATTRIBUTEKEYSRESPONSE']._serialized_start=2318 - _globals['_ARCHIVEUSERATTRIBUTEKEYSRESPONSE']._serialized_end=2352 - _globals['_UNARCHIVEUSERATTRIBUTEKEYSREQUEST']._serialized_start=2354 - _globals['_UNARCHIVEUSERATTRIBUTEKEYSREQUEST']._serialized_end=2447 - _globals['_UNARCHIVEUSERATTRIBUTEKEYSRESPONSE']._serialized_start=2449 - _globals['_UNARCHIVEUSERATTRIBUTEKEYSRESPONSE']._serialized_end=2485 - _globals['_USERATTRIBUTEVALUE']._serialized_start=2488 - _globals['_USERATTRIBUTEVALUE']._serialized_end=3154 - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST']._serialized_start=3157 - _globals['_CREATEUSERATTRIBUTEVALUEREQUEST']._serialized_end=3414 - _globals['_CREATEUSERATTRIBUTEVALUERESPONSE']._serialized_start=3417 - _globals['_CREATEUSERATTRIBUTEVALUERESPONSE']._serialized_end=3551 - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST']._serialized_start=3554 - _globals['_BATCHCREATEUSERATTRIBUTEVALUEREQUEST']._serialized_end=3821 - _globals['_BATCHCREATEUSERATTRIBUTEVALUERESPONSE']._serialized_start=3824 - _globals['_BATCHCREATEUSERATTRIBUTEVALUERESPONSE']._serialized_end=3965 - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST']._serialized_start=3968 - _globals['_LISTUSERATTRIBUTEKEYVALUESREQUEST']._serialized_end=4238 - _globals['_LISTUSERATTRIBUTEKEYVALUESRESPONSE']._serialized_start=4241 - _globals['_LISTUSERATTRIBUTEKEYVALUESRESPONSE']._serialized_end=4419 - _globals['_LISTUSERATTRIBUTEVALUESREQUEST']._serialized_start=4422 - _globals['_LISTUSERATTRIBUTEVALUESREQUEST']._serialized_end=4585 - _globals['_LISTUSERATTRIBUTEVALUESRESPONSE']._serialized_start=4588 - _globals['_LISTUSERATTRIBUTEVALUESRESPONSE']._serialized_end=4763 - _globals['_GETUSERATTRIBUTEVALUEREQUEST']._serialized_start=4765 - _globals['_GETUSERATTRIBUTEVALUEREQUEST']._serialized_end=4863 - _globals['_GETUSERATTRIBUTEVALUERESPONSE']._serialized_start=4866 - _globals['_GETUSERATTRIBUTEVALUERESPONSE']._serialized_end=4997 - _globals['_ARCHIVEUSERATTRIBUTEVALUESREQUEST']._serialized_start=4999 - _globals['_ARCHIVEUSERATTRIBUTEVALUESREQUEST']._serialized_end=5096 - _globals['_ARCHIVEUSERATTRIBUTEVALUESRESPONSE']._serialized_start=5098 - _globals['_ARCHIVEUSERATTRIBUTEVALUESRESPONSE']._serialized_end=5134 - _globals['_UNARCHIVEUSERATTRIBUTEVALUESREQUEST']._serialized_start=5136 - _globals['_UNARCHIVEUSERATTRIBUTEVALUESREQUEST']._serialized_end=5235 - _globals['_UNARCHIVEUSERATTRIBUTEVALUESRESPONSE']._serialized_start=5237 - _globals['_UNARCHIVEUSERATTRIBUTEVALUESRESPONSE']._serialized_end=5275 - _globals['_USERATTRIBUTESSERVICE']._serialized_start=5508 - _globals['_USERATTRIBUTESSERVICE']._serialized_end=9045 -# @@protoc_insertion_point(module_scope) diff --git a/python/lib/sift/user_attributes/v1/user_attributes_pb2.pyi b/python/lib/sift/user_attributes/v1/user_attributes_pb2.pyi deleted file mode 100644 index 8eb1847e7..000000000 --- a/python/lib/sift/user_attributes/v1/user_attributes_pb2.pyi +++ /dev/null @@ -1,742 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import builtins -import collections.abc -import google.protobuf.descriptor -import google.protobuf.field_mask_pb2 -import google.protobuf.internal.containers -import google.protobuf.internal.enum_type_wrapper -import google.protobuf.message -import google.protobuf.timestamp_pb2 -import sys -import typing - -if sys.version_info >= (3, 10): - import typing as typing_extensions -else: - import typing_extensions - -DESCRIPTOR: google.protobuf.descriptor.FileDescriptor - -class _UserAttributeValueType: - ValueType = typing.NewType("ValueType", builtins.int) - V: typing_extensions.TypeAlias = ValueType - -class _UserAttributeValueTypeEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_UserAttributeValueType.ValueType], builtins.type): - DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor - USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED: _UserAttributeValueType.ValueType # 0 - USER_ATTRIBUTE_VALUE_TYPE_STRING: _UserAttributeValueType.ValueType # 1 - USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN: _UserAttributeValueType.ValueType # 2 - USER_ATTRIBUTE_VALUE_TYPE_NUMBER: _UserAttributeValueType.ValueType # 3 - USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING: _UserAttributeValueType.ValueType # 4 - -class UserAttributeValueType(_UserAttributeValueType, metaclass=_UserAttributeValueTypeEnumTypeWrapper): - """UserAttributeValueType enumerates the supported value types for a user attribute key.""" - -USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED: UserAttributeValueType.ValueType # 0 -USER_ATTRIBUTE_VALUE_TYPE_STRING: UserAttributeValueType.ValueType # 1 -USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN: UserAttributeValueType.ValueType # 2 -USER_ATTRIBUTE_VALUE_TYPE_NUMBER: UserAttributeValueType.ValueType # 3 -USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING: UserAttributeValueType.ValueType # 4 -global___UserAttributeValueType = UserAttributeValueType - -@typing.final -class UserAttributeKey(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - MODIFIED_DATE_FIELD_NUMBER: builtins.int - MODIFIED_BY_USER_ID_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - IS_ARCHIVED_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - organization_id: builtins.str - name: builtins.str - description: builtins.str - type: global___UserAttributeValueType.ValueType - created_by_user_id: builtins.str - modified_by_user_id: builtins.str - is_archived: builtins.bool - """Whether or not the user attribute key is archived. This is inferred from whether archived_date is set.""" - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def modified_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - organization_id: builtins.str = ..., - name: builtins.str = ..., - description: builtins.str = ..., - type: global___UserAttributeValueType.ValueType = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - created_by_user_id: builtins.str = ..., - modified_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - modified_by_user_id: builtins.str = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - is_archived: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_date", b"created_date", "modified_date", b"modified_date"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "description", b"description", "is_archived", b"is_archived", "modified_by_user_id", b"modified_by_user_id", "modified_date", b"modified_date", "name", b"name", "organization_id", b"organization_id", "type", b"type", "user_attribute_key_id", b"user_attribute_key_id"]) -> None: ... - -global___UserAttributeKey = UserAttributeKey - -@typing.final -class CreateUserAttributeKeyRequest(google.protobuf.message.Message): - """CreateUserAttributeKeyRequest is used to create a new user attribute key.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - TYPE_FIELD_NUMBER: builtins.int - name: builtins.str - description: builtins.str - type: global___UserAttributeValueType.ValueType - def __init__( - self, - *, - name: builtins.str = ..., - description: builtins.str = ..., - type: global___UserAttributeValueType.ValueType = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "name", b"name", "type", b"type"]) -> None: ... - -global___CreateUserAttributeKeyRequest = CreateUserAttributeKeyRequest - -@typing.final -class CreateUserAttributeKeyResponse(google.protobuf.message.Message): - """CreateUserAttributeKeyResponse returns the user attribute key from a CreateUserAttributeKey call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - @property - def user_attribute_key(self) -> global___UserAttributeKey: ... - def __init__( - self, - *, - user_attribute_key: global___UserAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> None: ... - -global___CreateUserAttributeKeyResponse = CreateUserAttributeKeyResponse - -@typing.final -class UpdateUserAttributeKeyRequest(google.protobuf.message.Message): - """UpdateUserAttributeKeyRequest is used to update an existing user attribute key.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - NAME_FIELD_NUMBER: builtins.int - DESCRIPTION_FIELD_NUMBER: builtins.int - UPDATE_MASK_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - name: builtins.str - description: builtins.str - @property - def update_mask(self) -> google.protobuf.field_mask_pb2.FieldMask: - """The list of fields to be updated. The fields available to be updated are `name` and 'description'.""" - - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - name: builtins.str = ..., - description: builtins.str = ..., - update_mask: google.protobuf.field_mask_pb2.FieldMask | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["update_mask", b"update_mask"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["description", b"description", "name", b"name", "update_mask", b"update_mask", "user_attribute_key_id", b"user_attribute_key_id"]) -> None: ... - -global___UpdateUserAttributeKeyRequest = UpdateUserAttributeKeyRequest - -@typing.final -class UpdateUserAttributeKeyResponse(google.protobuf.message.Message): - """UpdateUserAttributeKeyResponse returns the user attribute key from a UpdateUserAttributeKey call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - @property - def user_attribute_key(self) -> global___UserAttributeKey: ... - def __init__( - self, - *, - user_attribute_key: global___UserAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> None: ... - -global___UpdateUserAttributeKeyResponse = UpdateUserAttributeKeyResponse - -@typing.final -class GetUserAttributeKeyRequest(google.protobuf.message.Message): - """GetUserAttributeKeyRequest is used to retrieve a user attribute key.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key_id", b"user_attribute_key_id"]) -> None: ... - -global___GetUserAttributeKeyRequest = GetUserAttributeKeyRequest - -@typing.final -class GetUserAttributeKeyResponse(google.protobuf.message.Message): - """GetUserAttributeKeyResponse returns a user attribute key from a GetUserAttributeKey call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_FIELD_NUMBER: builtins.int - @property - def user_attribute_key(self) -> global___UserAttributeKey: ... - def __init__( - self, - *, - user_attribute_key: global___UserAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key", b"user_attribute_key"]) -> None: ... - -global___GetUserAttributeKeyResponse = GetUserAttributeKeyResponse - -@typing.final -class ListUserAttributeKeysRequest(google.protobuf.message.Message): - """ListUserAttributeKeysRequest is used to list user attribute keys with the provided filter.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - page_size: builtins.int - """The maximum number of user attribute keys to return. The service may return fewer than this value. - If unspecified, at most 50 user attribute keys will be returned. The maximum value is 1000. Values - above 1000 will be coerced to 1000. Optional. - """ - page_token: builtins.str - """A page token, received from a previous `ListUserAttributeKeys` call. - Provide this to retrieve a subsequent page of user attribute keys. - When paginating, all other parameters provided to `ListUserAttributeKeys` must match the previous call - that provided the page token. Optional. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are: - 'user_attribute_key_id', 'name', 'value_type', 'created_by_user_id', 'created_date', 'modified_by_user_id, 'modified_date' - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - For more information about the fields used for filtering, please refer to this definition. Optional. - """ - order_by: builtins.str - """How to order the retrieved user attribute keys. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date`, 'modified_date', 'name', 'user_attribute_key_id', 'value_type', 'description' - If left empty, items are ordered by `created_date` in ascending order (oldest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "created_date desc,modified_date" - """ - organization_id: builtins.str - include_archived: builtins.bool - """If true, includes archived keys. Defaulta to false. Optional.""" - def __init__( - self, - *, - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - organization_id: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "organization_id", b"organization_id", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListUserAttributeKeysRequest = ListUserAttributeKeysRequest - -@typing.final -class ListUserAttributeKeysResponse(google.protobuf.message.Message): - """ListUserAttributeKeysResponse returns the list of user attribute keys from a ListUserAttributeKeys call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEYS_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def user_attribute_keys(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserAttributeKey]: ... - def __init__( - self, - *, - user_attribute_keys: collections.abc.Iterable[global___UserAttributeKey] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "user_attribute_keys", b"user_attribute_keys"]) -> None: ... - -global___ListUserAttributeKeysResponse = ListUserAttributeKeysResponse - -@typing.final -class ArchiveUserAttributeKeysRequest(google.protobuf.message.Message): - """ArchiveUserAttributeKeysRequest is used to batch archive user attribute keys by id.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_IDS_FIELD_NUMBER: builtins.int - @property - def user_attribute_key_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - user_attribute_key_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key_ids", b"user_attribute_key_ids"]) -> None: ... - -global___ArchiveUserAttributeKeysRequest = ArchiveUserAttributeKeysRequest - -@typing.final -class ArchiveUserAttributeKeysResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___ArchiveUserAttributeKeysResponse = ArchiveUserAttributeKeysResponse - -@typing.final -class UnarchiveUserAttributeKeysRequest(google.protobuf.message.Message): - """UnarchiveUserAttributeKeysRequest is used to batch unarchive user attribute keys by id.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_IDS_FIELD_NUMBER: builtins.int - @property - def user_attribute_key_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - user_attribute_key_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_key_ids", b"user_attribute_key_ids"]) -> None: ... - -global___UnarchiveUserAttributeKeysRequest = UnarchiveUserAttributeKeysRequest - -@typing.final -class UnarchiveUserAttributeKeysResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___UnarchiveUserAttributeKeysResponse = UnarchiveUserAttributeKeysResponse - -@typing.final -class UserAttributeValue(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_ID_FIELD_NUMBER: builtins.int - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - USER_ID_FIELD_NUMBER: builtins.int - ORGANIZATION_ID_FIELD_NUMBER: builtins.int - STRING_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - CREATED_BY_USER_ID_FIELD_NUMBER: builtins.int - CREATED_DATE_FIELD_NUMBER: builtins.int - ARCHIVED_DATE_FIELD_NUMBER: builtins.int - IS_ARCHIVED_FIELD_NUMBER: builtins.int - KEY_FIELD_NUMBER: builtins.int - user_attribute_value_id: builtins.str - user_attribute_key_id: builtins.str - user_id: builtins.str - organization_id: builtins.str - string_value: builtins.str - number_value: builtins.float - boolean_value: builtins.bool - created_by_user_id: builtins.str - is_archived: builtins.bool - """Whether or not the user attribute value is archived. This is inferred from whether archived_date is set.""" - @property - def created_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def archived_date(self) -> google.protobuf.timestamp_pb2.Timestamp: ... - @property - def key(self) -> global___UserAttributeKey: - """The full user attribute key is populated in the response.""" - - def __init__( - self, - *, - user_attribute_value_id: builtins.str = ..., - user_attribute_key_id: builtins.str = ..., - user_id: builtins.str = ..., - organization_id: builtins.str = ..., - string_value: builtins.str = ..., - number_value: builtins.float = ..., - boolean_value: builtins.bool = ..., - created_by_user_id: builtins.str = ..., - created_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - archived_date: google.protobuf.timestamp_pb2.Timestamp | None = ..., - is_archived: builtins.bool = ..., - key: global___UserAttributeKey | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["archived_date", b"archived_date", "boolean_value", b"boolean_value", "created_date", b"created_date", "key", b"key", "number_value", b"number_value", "string_value", b"string_value", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["archived_date", b"archived_date", "boolean_value", b"boolean_value", "created_by_user_id", b"created_by_user_id", "created_date", b"created_date", "is_archived", b"is_archived", "key", b"key", "number_value", b"number_value", "organization_id", b"organization_id", "string_value", b"string_value", "user_attribute_key_id", b"user_attribute_key_id", "user_attribute_value_id", b"user_attribute_value_id", "user_id", b"user_id", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["string_value", "number_value", "boolean_value"] | None: ... - -global___UserAttributeValue = UserAttributeValue - -@typing.final -class CreateUserAttributeValueRequest(google.protobuf.message.Message): - """CreateUserAttributeValueRequest is used to create a new user attribute value.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - USER_ID_FIELD_NUMBER: builtins.int - STRING_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - user_id: builtins.str - string_value: builtins.str - number_value: builtins.float - boolean_value: builtins.bool - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - user_id: builtins.str = ..., - string_value: builtins.str = ..., - number_value: builtins.float = ..., - boolean_value: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "number_value", b"number_value", "string_value", b"string_value", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "number_value", b"number_value", "string_value", b"string_value", "user_attribute_key_id", b"user_attribute_key_id", "user_id", b"user_id", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["string_value", "number_value", "boolean_value"] | None: ... - -global___CreateUserAttributeValueRequest = CreateUserAttributeValueRequest - -@typing.final -class CreateUserAttributeValueResponse(google.protobuf.message.Message): - """CreateUserAttributeValueResponse returns the user attribute value from a CreateUserAttributeValue call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_FIELD_NUMBER: builtins.int - @property - def user_attribute_value(self) -> global___UserAttributeValue: ... - def __init__( - self, - *, - user_attribute_value: global___UserAttributeValue | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["user_attribute_value", b"user_attribute_value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["user_attribute_value", b"user_attribute_value"]) -> None: ... - -global___CreateUserAttributeValueResponse = CreateUserAttributeValueResponse - -@typing.final -class BatchCreateUserAttributeValueRequest(google.protobuf.message.Message): - """BatchCreateUserAttributeValueRequest is used to batch create new user attribute values.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - USER_IDS_FIELD_NUMBER: builtins.int - STRING_VALUE_FIELD_NUMBER: builtins.int - NUMBER_VALUE_FIELD_NUMBER: builtins.int - BOOLEAN_VALUE_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - string_value: builtins.str - number_value: builtins.float - boolean_value: builtins.bool - @property - def user_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - user_ids: collections.abc.Iterable[builtins.str] | None = ..., - string_value: builtins.str = ..., - number_value: builtins.float = ..., - boolean_value: builtins.bool = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "number_value", b"number_value", "string_value", b"string_value", "value", b"value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["boolean_value", b"boolean_value", "number_value", b"number_value", "string_value", b"string_value", "user_attribute_key_id", b"user_attribute_key_id", "user_ids", b"user_ids", "value", b"value"]) -> None: ... - def WhichOneof(self, oneof_group: typing.Literal["value", b"value"]) -> typing.Literal["string_value", "number_value", "boolean_value"] | None: ... - -global___BatchCreateUserAttributeValueRequest = BatchCreateUserAttributeValueRequest - -@typing.final -class BatchCreateUserAttributeValueResponse(google.protobuf.message.Message): - """ - BatchCreateUserAttributeValueResponse returns the user attribute value from a BatchCreateUserAttributeValue call. - """ - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUES_FIELD_NUMBER: builtins.int - @property - def user_attribute_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserAttributeValue]: ... - def __init__( - self, - *, - user_attribute_values: collections.abc.Iterable[global___UserAttributeValue] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_values", b"user_attribute_values"]) -> None: ... - -global___BatchCreateUserAttributeValueResponse = BatchCreateUserAttributeValueResponse - -@typing.final -class ListUserAttributeKeyValuesRequest(google.protobuf.message.Message): - """ListUserAttributeKeyValues is used to list user attribute values for a given user attribute key with the provided filter.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_KEY_ID_FIELD_NUMBER: builtins.int - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - INCLUDE_ARCHIVED_FIELD_NUMBER: builtins.int - user_attribute_key_id: builtins.str - """The id of the user attribute key to list values for.""" - page_size: builtins.int - """The maximum number of user attribute values to return. The service may return fewer than this value. - If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - above 1000 will be coerced to 1000. Optional. - """ - page_token: builtins.str - """A page token, received from a previous `ListUserAttributeKeyValues` call. - Provide this to retrieve a subsequent page of user attribute values. - When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - that provided the page token. Optional. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are: - 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id' and 'user_id' - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - For more information about the fields used for filtering, please refer to this definition. Optional. - """ - order_by: builtins.str - """How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date` - If left empty, items are ordered by `created_date` in ascending order (oldest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "created_date desc" - """ - include_archived: builtins.bool - """If true, include archived values. Defaults to false. Optional.""" - def __init__( - self, - *, - user_attribute_key_id: builtins.str = ..., - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - include_archived: builtins.bool = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "include_archived", b"include_archived", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token", "user_attribute_key_id", b"user_attribute_key_id"]) -> None: ... - -global___ListUserAttributeKeyValuesRequest = ListUserAttributeKeyValuesRequest - -@typing.final -class ListUserAttributeKeyValuesResponse(google.protobuf.message.Message): - """ListUserAttributeKeyValuesResponse returns the list of user attribute values from a ListUserAttributeKeyValues call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def user_attribute_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserAttributeValue]: ... - def __init__( - self, - *, - user_attribute_values: collections.abc.Iterable[global___UserAttributeValue] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "user_attribute_values", b"user_attribute_values"]) -> None: ... - -global___ListUserAttributeKeyValuesResponse = ListUserAttributeKeyValuesResponse - -@typing.final -class ListUserAttributeValuesRequest(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - PAGE_SIZE_FIELD_NUMBER: builtins.int - PAGE_TOKEN_FIELD_NUMBER: builtins.int - FILTER_FIELD_NUMBER: builtins.int - ORDER_BY_FIELD_NUMBER: builtins.int - page_size: builtins.int - """The maximum number of user attribute values to return. The service may return fewer than this value. - If unspecified, at most 50 user attribute values will be returned. The maximum value is 1000. Values - above 1000 will be coerced to 1000. Optional. - """ - page_token: builtins.str - """A page token, received from a previous `ListUserAttributeValues` call. - Provide this to retrieve a subsequent page of user attribute values. - When paginating, all other parameters provided to `ListUserAttributeValues` must match the previous call - that provided the page token. Optional. - """ - filter: builtins.str - """A [Common Expression Language (CEL)](https://github.com/google/cel-spec) filter string. - Available fields to filter by are: - 'user_attribute_value_id', 'user_attribute_key_id', 'string_value', 'number_value', 'boolean_value', 'created_date', 'created_by_user_id', 'archived_date' and 'user_id' - For further information about how to use CELs, please refer to [this guide](https://github.com/google/cel-spec/blob/master/doc/langdef.md#standard-definitions). - For more information about the fields used for filtering, please refer to this definition. Optional. - """ - order_by: builtins.str - """How to order the retrieved user attribute values. Formatted as a comma-separated string i.e. "FIELD_NAME[ desc],...". - Available fields to order_by are `created_date` - If left empty, items are ordered by `created_date` in ascending order (oldest-first). - For more information about the format of this field, read [this](https://google.aip.dev/132#ordering) - Example: "created_date desc" - """ - def __init__( - self, - *, - page_size: builtins.int = ..., - page_token: builtins.str = ..., - filter: builtins.str = ..., - order_by: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["filter", b"filter", "order_by", b"order_by", "page_size", b"page_size", "page_token", b"page_token"]) -> None: ... - -global___ListUserAttributeValuesRequest = ListUserAttributeValuesRequest - -@typing.final -class ListUserAttributeValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUES_FIELD_NUMBER: builtins.int - NEXT_PAGE_TOKEN_FIELD_NUMBER: builtins.int - next_page_token: builtins.str - @property - def user_attribute_values(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___UserAttributeValue]: ... - def __init__( - self, - *, - user_attribute_values: collections.abc.Iterable[global___UserAttributeValue] | None = ..., - next_page_token: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["next_page_token", b"next_page_token", "user_attribute_values", b"user_attribute_values"]) -> None: ... - -global___ListUserAttributeValuesResponse = ListUserAttributeValuesResponse - -@typing.final -class GetUserAttributeValueRequest(google.protobuf.message.Message): - """GetUserAttributeValueRequest is used to retrieve a user attribute value.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_ID_FIELD_NUMBER: builtins.int - user_attribute_value_id: builtins.str - def __init__( - self, - *, - user_attribute_value_id: builtins.str = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_value_id", b"user_attribute_value_id"]) -> None: ... - -global___GetUserAttributeValueRequest = GetUserAttributeValueRequest - -@typing.final -class GetUserAttributeValueResponse(google.protobuf.message.Message): - """GetUserAttributeValueResponse returns a user attribute value from a GetUserAttributeValue call.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_FIELD_NUMBER: builtins.int - @property - def user_attribute_value(self) -> global___UserAttributeValue: ... - def __init__( - self, - *, - user_attribute_value: global___UserAttributeValue | None = ..., - ) -> None: ... - def HasField(self, field_name: typing.Literal["user_attribute_value", b"user_attribute_value"]) -> builtins.bool: ... - def ClearField(self, field_name: typing.Literal["user_attribute_value", b"user_attribute_value"]) -> None: ... - -global___GetUserAttributeValueResponse = GetUserAttributeValueResponse - -@typing.final -class ArchiveUserAttributeValuesRequest(google.protobuf.message.Message): - """ArchiveUserAttributeValuesRequest is used to batch archive user attribute values by id.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_IDS_FIELD_NUMBER: builtins.int - @property - def user_attribute_value_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - user_attribute_value_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_value_ids", b"user_attribute_value_ids"]) -> None: ... - -global___ArchiveUserAttributeValuesRequest = ArchiveUserAttributeValuesRequest - -@typing.final -class ArchiveUserAttributeValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___ArchiveUserAttributeValuesResponse = ArchiveUserAttributeValuesResponse - -@typing.final -class UnarchiveUserAttributeValuesRequest(google.protobuf.message.Message): - """UnarchiveUserAttributeValuesRequest is used to batch unarchive user attribute values by id.""" - - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - USER_ATTRIBUTE_VALUE_IDS_FIELD_NUMBER: builtins.int - @property - def user_attribute_value_ids(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: ... - def __init__( - self, - *, - user_attribute_value_ids: collections.abc.Iterable[builtins.str] | None = ..., - ) -> None: ... - def ClearField(self, field_name: typing.Literal["user_attribute_value_ids", b"user_attribute_value_ids"]) -> None: ... - -global___UnarchiveUserAttributeValuesRequest = UnarchiveUserAttributeValuesRequest - -@typing.final -class UnarchiveUserAttributeValuesResponse(google.protobuf.message.Message): - DESCRIPTOR: google.protobuf.descriptor.Descriptor - - def __init__( - self, - ) -> None: ... - -global___UnarchiveUserAttributeValuesResponse = UnarchiveUserAttributeValuesResponse diff --git a/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.py b/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.py deleted file mode 100644 index d9ca79e91..000000000 --- a/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.py +++ /dev/null @@ -1,475 +0,0 @@ -# Generated by the gRPC Python protocol compiler plugin. DO NOT EDIT! -"""Client and server classes corresponding to protobuf-defined services.""" -import grpc - -from sift.user_attributes.v1 import user_attributes_pb2 as sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2 - - -class UserAttributesServiceStub(object): - """Missing associated documentation comment in .proto file.""" - - def __init__(self, channel): - """Constructor. - - Args: - channel: A grpc.Channel. - """ - self.CreateUserAttributeKey = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyResponse.FromString, - ) - self.GetUserAttributeKey = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyResponse.FromString, - ) - self.ListUserAttributeKeys = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysResponse.FromString, - ) - self.UpdateUserAttributeKey = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyResponse.FromString, - ) - self.ArchiveUserAttributeKeys = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysResponse.FromString, - ) - self.UnarchiveUserAttributeKeys = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysResponse.FromString, - ) - self.CreateUserAttributeValue = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueResponse.FromString, - ) - self.BatchCreateUserAttributeValue = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueResponse.FromString, - ) - self.GetUserAttributeValue = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueResponse.FromString, - ) - self.ListUserAttributeKeyValues = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesResponse.FromString, - ) - self.ListUserAttributeValues = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesResponse.FromString, - ) - self.ArchiveUserAttributeValues = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesResponse.FromString, - ) - self.UnarchiveUserAttributeValues = channel.unary_unary( - '/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues', - request_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesRequest.SerializeToString, - response_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesResponse.FromString, - ) - - -class UserAttributesServiceServicer(object): - """Missing associated documentation comment in .proto file.""" - - def CreateUserAttributeKey(self, request, context): - """Creates a user attribute key. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetUserAttributeKey(self, request, context): - """Retrieves a user attribute key. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListUserAttributeKeys(self, request, context): - """Lists user attribute keys, respecting the provided filter. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UpdateUserAttributeKey(self, request, context): - """Updates an existing user attribute key. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchiveUserAttributeKeys(self, request, context): - """Batch archives user attribute keys AND all their associated user attribute values. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnarchiveUserAttributeKeys(self, request, context): - """Batch unarchives user attribute keys. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def CreateUserAttributeValue(self, request, context): - """Creates a user attribute value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def BatchCreateUserAttributeValue(self, request, context): - """Creates a user attribute value for multiple users in a single operation. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def GetUserAttributeValue(self, request, context): - """Retrieves a user attribute value. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListUserAttributeKeyValues(self, request, context): - """Lists user attribute values for a given user attribute key, respecting the provided filter. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ListUserAttributeValues(self, request, context): - """List user attributes values, respecting the provided filter. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def ArchiveUserAttributeValues(self, request, context): - """Batch archives user attribute values. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - def UnarchiveUserAttributeValues(self, request, context): - """Batch unarchives user attribute values. - """ - context.set_code(grpc.StatusCode.UNIMPLEMENTED) - context.set_details('Method not implemented!') - raise NotImplementedError('Method not implemented!') - - -def add_UserAttributesServiceServicer_to_server(servicer, server): - rpc_method_handlers = { - 'CreateUserAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.CreateUserAttributeKey, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyResponse.SerializeToString, - ), - 'GetUserAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.GetUserAttributeKey, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyResponse.SerializeToString, - ), - 'ListUserAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.ListUserAttributeKeys, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysResponse.SerializeToString, - ), - 'UpdateUserAttributeKey': grpc.unary_unary_rpc_method_handler( - servicer.UpdateUserAttributeKey, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyResponse.SerializeToString, - ), - 'ArchiveUserAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.ArchiveUserAttributeKeys, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysResponse.SerializeToString, - ), - 'UnarchiveUserAttributeKeys': grpc.unary_unary_rpc_method_handler( - servicer.UnarchiveUserAttributeKeys, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysResponse.SerializeToString, - ), - 'CreateUserAttributeValue': grpc.unary_unary_rpc_method_handler( - servicer.CreateUserAttributeValue, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueResponse.SerializeToString, - ), - 'BatchCreateUserAttributeValue': grpc.unary_unary_rpc_method_handler( - servicer.BatchCreateUserAttributeValue, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueResponse.SerializeToString, - ), - 'GetUserAttributeValue': grpc.unary_unary_rpc_method_handler( - servicer.GetUserAttributeValue, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueResponse.SerializeToString, - ), - 'ListUserAttributeKeyValues': grpc.unary_unary_rpc_method_handler( - servicer.ListUserAttributeKeyValues, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesResponse.SerializeToString, - ), - 'ListUserAttributeValues': grpc.unary_unary_rpc_method_handler( - servicer.ListUserAttributeValues, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesResponse.SerializeToString, - ), - 'ArchiveUserAttributeValues': grpc.unary_unary_rpc_method_handler( - servicer.ArchiveUserAttributeValues, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesResponse.SerializeToString, - ), - 'UnarchiveUserAttributeValues': grpc.unary_unary_rpc_method_handler( - servicer.UnarchiveUserAttributeValues, - request_deserializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesRequest.FromString, - response_serializer=sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesResponse.SerializeToString, - ), - } - generic_handler = grpc.method_handlers_generic_handler( - 'sift.user_attributes.v1.UserAttributesService', rpc_method_handlers) - server.add_generic_rpc_handlers((generic_handler,)) - - - # This class is part of an EXPERIMENTAL API. -class UserAttributesService(object): - """Missing associated documentation comment in .proto file.""" - - @staticmethod - def CreateUserAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetUserAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListUserAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UpdateUserAttributeKey(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UpdateUserAttributeKeyResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchiveUserAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UnarchiveUserAttributeKeys(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeKeysResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def CreateUserAttributeValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.CreateUserAttributeValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def BatchCreateUserAttributeValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.BatchCreateUserAttributeValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def GetUserAttributeValue(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.GetUserAttributeValueResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListUserAttributeKeyValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeKeyValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ListUserAttributeValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ListUserAttributeValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def ArchiveUserAttributeValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.ArchiveUserAttributeValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) - - @staticmethod - def UnarchiveUserAttributeValues(request, - target, - options=(), - channel_credentials=None, - call_credentials=None, - insecure=False, - compression=None, - wait_for_ready=None, - timeout=None, - metadata=None): - return grpc.experimental.unary_unary(request, target, '/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues', - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesRequest.SerializeToString, - sift_dot_user__attributes_dot_v1_dot_user__attributes__pb2.UnarchiveUserAttributeValuesResponse.FromString, - options, channel_credentials, - insecure, call_credentials, compression, wait_for_ready, timeout, metadata) diff --git a/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.pyi b/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.pyi deleted file mode 100644 index b9bcb5f73..000000000 --- a/python/lib/sift/user_attributes/v1/user_attributes_pb2_grpc.pyi +++ /dev/null @@ -1,284 +0,0 @@ -""" -@generated by mypy-protobuf. Do not edit manually! -isort:skip_file -""" - -import abc -import collections.abc -import grpc -import grpc.aio -import sift.user_attributes.v1.user_attributes_pb2 -import typing - -_T = typing.TypeVar("_T") - -class _MaybeAsyncIterator(collections.abc.AsyncIterator[_T], collections.abc.Iterator[_T], metaclass=abc.ABCMeta): ... - -class _ServicerContext(grpc.ServicerContext, grpc.aio.ServicerContext): # type: ignore[misc, type-arg] - ... - -class UserAttributesServiceStub: - def __init__(self, channel: typing.Union[grpc.Channel, grpc.aio.Channel]) -> None: ... - CreateUserAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyResponse, - ] - """Creates a user attribute key.""" - - GetUserAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyResponse, - ] - """Retrieves a user attribute key.""" - - ListUserAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysResponse, - ] - """Lists user attribute keys, respecting the provided filter.""" - - UpdateUserAttributeKey: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyResponse, - ] - """Updates an existing user attribute key.""" - - ArchiveUserAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysResponse, - ] - """Batch archives user attribute keys AND all their associated user attribute values.""" - - UnarchiveUserAttributeKeys: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysResponse, - ] - """Batch unarchives user attribute keys.""" - - CreateUserAttributeValue: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueResponse, - ] - """Creates a user attribute value.""" - - BatchCreateUserAttributeValue: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueResponse, - ] - """Creates a user attribute value for multiple users in a single operation.""" - - GetUserAttributeValue: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueResponse, - ] - """Retrieves a user attribute value.""" - - ListUserAttributeKeyValues: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesResponse, - ] - """Lists user attribute values for a given user attribute key, respecting the provided filter.""" - - ListUserAttributeValues: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesResponse, - ] - """List user attributes values, respecting the provided filter.""" - - ArchiveUserAttributeValues: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesResponse, - ] - """Batch archives user attribute values.""" - - UnarchiveUserAttributeValues: grpc.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesResponse, - ] - """Batch unarchives user attribute values.""" - -class UserAttributesServiceAsyncStub: - CreateUserAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyResponse, - ] - """Creates a user attribute key.""" - - GetUserAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyResponse, - ] - """Retrieves a user attribute key.""" - - ListUserAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysResponse, - ] - """Lists user attribute keys, respecting the provided filter.""" - - UpdateUserAttributeKey: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyRequest, - sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyResponse, - ] - """Updates an existing user attribute key.""" - - ArchiveUserAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysResponse, - ] - """Batch archives user attribute keys AND all their associated user attribute values.""" - - UnarchiveUserAttributeKeys: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysRequest, - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysResponse, - ] - """Batch unarchives user attribute keys.""" - - CreateUserAttributeValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueResponse, - ] - """Creates a user attribute value.""" - - BatchCreateUserAttributeValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueResponse, - ] - """Creates a user attribute value for multiple users in a single operation.""" - - GetUserAttributeValue: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueRequest, - sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueResponse, - ] - """Retrieves a user attribute value.""" - - ListUserAttributeKeyValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesResponse, - ] - """Lists user attribute values for a given user attribute key, respecting the provided filter.""" - - ListUserAttributeValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesResponse, - ] - """List user attributes values, respecting the provided filter.""" - - ArchiveUserAttributeValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesResponse, - ] - """Batch archives user attribute values.""" - - UnarchiveUserAttributeValues: grpc.aio.UnaryUnaryMultiCallable[ - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesRequest, - sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesResponse, - ] - """Batch unarchives user attribute values.""" - -class UserAttributesServiceServicer(metaclass=abc.ABCMeta): - @abc.abstractmethod - def CreateUserAttributeKey( - self, - request: sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeKeyResponse]]: - """Creates a user attribute key.""" - - @abc.abstractmethod - def GetUserAttributeKey( - self, - request: sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeKeyResponse]]: - """Retrieves a user attribute key.""" - - @abc.abstractmethod - def ListUserAttributeKeys( - self, - request: sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeysResponse]]: - """Lists user attribute keys, respecting the provided filter.""" - - @abc.abstractmethod - def UpdateUserAttributeKey( - self, - request: sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.UpdateUserAttributeKeyResponse]]: - """Updates an existing user attribute key.""" - - @abc.abstractmethod - def ArchiveUserAttributeKeys( - self, - request: sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeKeysResponse]]: - """Batch archives user attribute keys AND all their associated user attribute values.""" - - @abc.abstractmethod - def UnarchiveUserAttributeKeys( - self, - request: sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeKeysResponse]]: - """Batch unarchives user attribute keys.""" - - @abc.abstractmethod - def CreateUserAttributeValue( - self, - request: sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.CreateUserAttributeValueResponse]]: - """Creates a user attribute value.""" - - @abc.abstractmethod - def BatchCreateUserAttributeValue( - self, - request: sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.BatchCreateUserAttributeValueResponse]]: - """Creates a user attribute value for multiple users in a single operation.""" - - @abc.abstractmethod - def GetUserAttributeValue( - self, - request: sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.GetUserAttributeValueResponse]]: - """Retrieves a user attribute value.""" - - @abc.abstractmethod - def ListUserAttributeKeyValues( - self, - request: sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeKeyValuesResponse]]: - """Lists user attribute values for a given user attribute key, respecting the provided filter.""" - - @abc.abstractmethod - def ListUserAttributeValues( - self, - request: sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.ListUserAttributeValuesResponse]]: - """List user attributes values, respecting the provided filter.""" - - @abc.abstractmethod - def ArchiveUserAttributeValues( - self, - request: sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.ArchiveUserAttributeValuesResponse]]: - """Batch archives user attribute values.""" - - @abc.abstractmethod - def UnarchiveUserAttributeValues( - self, - request: sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesRequest, - context: _ServicerContext, - ) -> typing.Union[sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesResponse, collections.abc.Awaitable[sift.user_attributes.v1.user_attributes_pb2.UnarchiveUserAttributeValuesResponse]]: - """Batch unarchives user attribute values.""" - -def add_UserAttributesServiceServicer_to_server(servicer: UserAttributesServiceServicer, server: typing.Union[grpc.Server, grpc.aio.Server]) -> None: ... diff --git a/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.rs b/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.rs deleted file mode 100644 index 4ec99b50e..000000000 --- a/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.rs +++ /dev/null @@ -1,14028 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Rule { - #[prost(string, optional, tag="1")] - pub id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub expression: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MessageRules { - #[prost(string, repeated, tag="5")] - pub cel_expression: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="3")] - pub cel: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] - pub oneof: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct MessageOneofRule { - #[prost(string, repeated, tag="1")] - pub fields: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(bool, optional, tag="2")] - pub required: ::core::option::Option, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct OneofRules { - #[prost(bool, optional, tag="1")] - pub required: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FieldRules { - #[prost(string, repeated, tag="29")] - pub cel_expression: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="23")] - pub cel: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="25")] - pub required: ::core::option::Option, - #[prost(enumeration="Ignore", optional, tag="27")] - pub ignore: ::core::option::Option, - #[prost(oneof="field_rules::Type", tags="1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 28, 22")] - pub r#type: ::core::option::Option, -} -/// Nested message and enum types in `FieldRules`. -pub mod field_rules { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Type { - #[prost(message, tag="1")] - Float(super::FloatRules), - #[prost(message, tag="2")] - Double(super::DoubleRules), - #[prost(message, tag="3")] - Int32(super::Int32Rules), - #[prost(message, tag="4")] - Int64(super::Int64Rules), - #[prost(message, tag="5")] - Uint32(super::UInt32Rules), - #[prost(message, tag="6")] - Uint64(super::UInt64Rules), - #[prost(message, tag="7")] - Sint32(super::SInt32Rules), - #[prost(message, tag="8")] - Sint64(super::SInt64Rules), - #[prost(message, tag="9")] - Fixed32(super::Fixed32Rules), - #[prost(message, tag="10")] - Fixed64(super::Fixed64Rules), - #[prost(message, tag="11")] - Sfixed32(super::SFixed32Rules), - #[prost(message, tag="12")] - Sfixed64(super::SFixed64Rules), - #[prost(message, tag="13")] - Bool(super::BoolRules), - #[prost(message, tag="14")] - String(super::StringRules), - #[prost(message, tag="15")] - Bytes(super::BytesRules), - #[prost(message, tag="16")] - Enum(super::EnumRules), - #[prost(message, tag="18")] - Repeated(::prost::alloc::boxed::Box), - #[prost(message, tag="19")] - Map(::prost::alloc::boxed::Box), - #[prost(message, tag="20")] - Any(super::AnyRules), - #[prost(message, tag="21")] - Duration(super::DurationRules), - #[prost(message, tag="28")] - FieldMask(super::FieldMaskRules), - #[prost(message, tag="22")] - Timestamp(super::TimestampRules), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct PredefinedRules { - #[prost(message, repeated, tag="1")] - pub cel: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FloatRules { - #[prost(float, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(float, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(float, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="8")] - pub finite: ::core::option::Option, - #[prost(float, repeated, packed="false", tag="9")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="float_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="float_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `FloatRules`. -pub mod float_rules { - #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] - pub enum LessThan { - #[prost(float, tag="2")] - Lt(f32), - #[prost(float, tag="3")] - Lte(f32), - } - #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(float, tag="4")] - Gt(f32), - #[prost(float, tag="5")] - Gte(f32), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DoubleRules { - #[prost(double, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(double, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(double, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="8")] - pub finite: ::core::option::Option, - #[prost(double, repeated, packed="false", tag="9")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="double_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="double_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `DoubleRules`. -pub mod double_rules { - #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] - pub enum LessThan { - #[prost(double, tag="2")] - Lt(f64), - #[prost(double, tag="3")] - Lte(f64), - } - #[derive(Clone, Copy, PartialEq, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(double, tag="4")] - Gt(f64), - #[prost(double, tag="5")] - Gte(f64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Int32Rules { - #[prost(int32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(int32, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(int32, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(int32, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="int32_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="int32_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `Int32Rules`. -pub mod int32_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(int32, tag="2")] - Lt(i32), - #[prost(int32, tag="3")] - Lte(i32), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(int32, tag="4")] - Gt(i32), - #[prost(int32, tag="5")] - Gte(i32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Int64Rules { - #[prost(int64, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(int64, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(int64, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(int64, repeated, packed="false", tag="9")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="int64_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="int64_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `Int64Rules`. -pub mod int64_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(int64, tag="2")] - Lt(i64), - #[prost(int64, tag="3")] - Lte(i64), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(int64, tag="4")] - Gt(i64), - #[prost(int64, tag="5")] - Gte(i64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UInt32Rules { - #[prost(uint32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(uint32, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(uint32, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(uint32, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="u_int32_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="u_int32_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `UInt32Rules`. -pub mod u_int32_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(uint32, tag="2")] - Lt(u32), - #[prost(uint32, tag="3")] - Lte(u32), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(uint32, tag="4")] - Gt(u32), - #[prost(uint32, tag="5")] - Gte(u32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UInt64Rules { - #[prost(uint64, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(uint64, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(uint64, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(uint64, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="u_int64_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="u_int64_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `UInt64Rules`. -pub mod u_int64_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(uint64, tag="2")] - Lt(u64), - #[prost(uint64, tag="3")] - Lte(u64), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(uint64, tag="4")] - Gt(u64), - #[prost(uint64, tag="5")] - Gte(u64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SInt32Rules { - #[prost(sint32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(sint32, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(sint32, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(sint32, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="s_int32_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="s_int32_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `SInt32Rules`. -pub mod s_int32_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(sint32, tag="2")] - Lt(i32), - #[prost(sint32, tag="3")] - Lte(i32), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(sint32, tag="4")] - Gt(i32), - #[prost(sint32, tag="5")] - Gte(i32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SInt64Rules { - #[prost(sint64, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(sint64, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(sint64, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(sint64, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="s_int64_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="s_int64_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `SInt64Rules`. -pub mod s_int64_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(sint64, tag="2")] - Lt(i64), - #[prost(sint64, tag="3")] - Lte(i64), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(sint64, tag="4")] - Gt(i64), - #[prost(sint64, tag="5")] - Gte(i64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Fixed32Rules { - #[prost(fixed32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(fixed32, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(fixed32, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(fixed32, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="fixed32_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="fixed32_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `Fixed32Rules`. -pub mod fixed32_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(fixed32, tag="2")] - Lt(u32), - #[prost(fixed32, tag="3")] - Lte(u32), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(fixed32, tag="4")] - Gt(u32), - #[prost(fixed32, tag="5")] - Gte(u32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Fixed64Rules { - #[prost(fixed64, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(fixed64, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(fixed64, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(fixed64, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="fixed64_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="fixed64_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `Fixed64Rules`. -pub mod fixed64_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(fixed64, tag="2")] - Lt(u64), - #[prost(fixed64, tag="3")] - Lte(u64), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(fixed64, tag="4")] - Gt(u64), - #[prost(fixed64, tag="5")] - Gte(u64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SFixed32Rules { - #[prost(sfixed32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(sfixed32, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(sfixed32, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(sfixed32, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="s_fixed32_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="s_fixed32_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `SFixed32Rules`. -pub mod s_fixed32_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(sfixed32, tag="2")] - Lt(i32), - #[prost(sfixed32, tag="3")] - Lte(i32), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(sfixed32, tag="4")] - Gt(i32), - #[prost(sfixed32, tag="5")] - Gte(i32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct SFixed64Rules { - #[prost(sfixed64, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(sfixed64, repeated, packed="false", tag="6")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(sfixed64, repeated, packed="false", tag="7")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(sfixed64, repeated, packed="false", tag="8")] - pub example: ::prost::alloc::vec::Vec, - #[prost(oneof="s_fixed64_rules::LessThan", tags="2, 3")] - pub less_than: ::core::option::Option, - #[prost(oneof="s_fixed64_rules::GreaterThan", tags="4, 5")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `SFixed64Rules`. -pub mod s_fixed64_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(sfixed64, tag="2")] - Lt(i64), - #[prost(sfixed64, tag="3")] - Lte(i64), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(sfixed64, tag="4")] - Gt(i64), - #[prost(sfixed64, tag="5")] - Gte(i64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BoolRules { - #[prost(bool, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(bool, repeated, packed="false", tag="2")] - pub example: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct StringRules { - #[prost(string, optional, tag="1")] - pub r#const: ::core::option::Option<::prost::alloc::string::String>, - #[prost(uint64, optional, tag="19")] - pub len: ::core::option::Option, - #[prost(uint64, optional, tag="2")] - pub min_len: ::core::option::Option, - #[prost(uint64, optional, tag="3")] - pub max_len: ::core::option::Option, - #[prost(uint64, optional, tag="20")] - pub len_bytes: ::core::option::Option, - #[prost(uint64, optional, tag="4")] - pub min_bytes: ::core::option::Option, - #[prost(uint64, optional, tag="5")] - pub max_bytes: ::core::option::Option, - #[prost(string, optional, tag="6")] - pub pattern: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] - pub prefix: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] - pub suffix: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] - pub contains: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="23")] - pub not_contains: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="10")] - pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="11")] - pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(bool, optional, tag="25")] - pub strict: ::core::option::Option, - #[prost(string, repeated, tag="34")] - pub example: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(oneof="string_rules::WellKnown", tags="12, 13, 14, 15, 16, 17, 18, 21, 22, 33, 26, 27, 28, 29, 30, 31, 32, 35, 24")] - pub well_known: ::core::option::Option, -} -/// Nested message and enum types in `StringRules`. -pub mod string_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum WellKnown { - #[prost(bool, tag="12")] - Email(bool), - #[prost(bool, tag="13")] - Hostname(bool), - #[prost(bool, tag="14")] - Ip(bool), - #[prost(bool, tag="15")] - Ipv4(bool), - #[prost(bool, tag="16")] - Ipv6(bool), - #[prost(bool, tag="17")] - Uri(bool), - #[prost(bool, tag="18")] - UriRef(bool), - #[prost(bool, tag="21")] - Address(bool), - #[prost(bool, tag="22")] - Uuid(bool), - #[prost(bool, tag="33")] - Tuuid(bool), - #[prost(bool, tag="26")] - IpWithPrefixlen(bool), - #[prost(bool, tag="27")] - Ipv4WithPrefixlen(bool), - #[prost(bool, tag="28")] - Ipv6WithPrefixlen(bool), - #[prost(bool, tag="29")] - IpPrefix(bool), - #[prost(bool, tag="30")] - Ipv4Prefix(bool), - #[prost(bool, tag="31")] - Ipv6Prefix(bool), - #[prost(bool, tag="32")] - HostAndPort(bool), - #[prost(bool, tag="35")] - Ulid(bool), - #[prost(enumeration="super::KnownRegex", tag="24")] - WellKnownRegex(i32), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BytesRules { - #[prost(bytes="vec", optional, tag="1")] - pub r#const: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(uint64, optional, tag="13")] - pub len: ::core::option::Option, - #[prost(uint64, optional, tag="2")] - pub min_len: ::core::option::Option, - #[prost(uint64, optional, tag="3")] - pub max_len: ::core::option::Option, - #[prost(string, optional, tag="4")] - pub pattern: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bytes="vec", optional, tag="5")] - pub prefix: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", optional, tag="6")] - pub suffix: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", optional, tag="7")] - pub contains: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", repeated, tag="8")] - pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", repeated, tag="9")] - pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", repeated, tag="14")] - pub example: ::prost::alloc::vec::Vec<::prost::alloc::vec::Vec>, - #[prost(oneof="bytes_rules::WellKnown", tags="10, 11, 12, 15")] - pub well_known: ::core::option::Option, -} -/// Nested message and enum types in `BytesRules`. -pub mod bytes_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum WellKnown { - #[prost(bool, tag="10")] - Ip(bool), - #[prost(bool, tag="11")] - Ipv4(bool), - #[prost(bool, tag="12")] - Ipv6(bool), - #[prost(bool, tag="15")] - Uuid(bool), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct EnumRules { - #[prost(int32, optional, tag="1")] - pub r#const: ::core::option::Option, - #[prost(bool, optional, tag="2")] - pub defined_only: ::core::option::Option, - #[prost(int32, repeated, packed="false", tag="3")] - pub r#in: ::prost::alloc::vec::Vec, - #[prost(int32, repeated, packed="false", tag="4")] - pub not_in: ::prost::alloc::vec::Vec, - #[prost(int32, repeated, packed="false", tag="5")] - pub example: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RepeatedRules { - #[prost(uint64, optional, tag="1")] - pub min_items: ::core::option::Option, - #[prost(uint64, optional, tag="2")] - pub max_items: ::core::option::Option, - #[prost(bool, optional, tag="3")] - pub unique: ::core::option::Option, - #[prost(message, optional, boxed, tag="4")] - pub items: ::core::option::Option<::prost::alloc::boxed::Box>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MapRules { - #[prost(uint64, optional, tag="1")] - pub min_pairs: ::core::option::Option, - #[prost(uint64, optional, tag="2")] - pub max_pairs: ::core::option::Option, - #[prost(message, optional, boxed, tag="4")] - pub keys: ::core::option::Option<::prost::alloc::boxed::Box>, - #[prost(message, optional, boxed, tag="5")] - pub values: ::core::option::Option<::prost::alloc::boxed::Box>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct AnyRules { - #[prost(string, repeated, tag="2")] - pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="3")] - pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DurationRules { - #[prost(message, optional, tag="2")] - pub r#const: ::core::option::Option<::pbjson_types::Duration>, - #[prost(message, repeated, tag="7")] - pub r#in: ::prost::alloc::vec::Vec<::pbjson_types::Duration>, - #[prost(message, repeated, tag="8")] - pub not_in: ::prost::alloc::vec::Vec<::pbjson_types::Duration>, - #[prost(message, repeated, tag="9")] - pub example: ::prost::alloc::vec::Vec<::pbjson_types::Duration>, - #[prost(oneof="duration_rules::LessThan", tags="3, 4")] - pub less_than: ::core::option::Option, - #[prost(oneof="duration_rules::GreaterThan", tags="5, 6")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `DurationRules`. -pub mod duration_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(message, tag="3")] - Lt(::pbjson_types::Duration), - #[prost(message, tag="4")] - Lte(::pbjson_types::Duration), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(message, tag="5")] - Gt(::pbjson_types::Duration), - #[prost(message, tag="6")] - Gte(::pbjson_types::Duration), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FieldMaskRules { - #[prost(message, optional, tag="1")] - pub r#const: ::core::option::Option<::pbjson_types::FieldMask>, - #[prost(string, repeated, tag="2")] - pub r#in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="3")] - pub not_in: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="4")] - pub example: ::prost::alloc::vec::Vec<::pbjson_types::FieldMask>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TimestampRules { - #[prost(message, optional, tag="2")] - pub r#const: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(message, optional, tag="9")] - pub within: ::core::option::Option<::pbjson_types::Duration>, - #[prost(message, repeated, tag="10")] - pub example: ::prost::alloc::vec::Vec<::pbjson_types::Timestamp>, - #[prost(oneof="timestamp_rules::LessThan", tags="3, 4, 7")] - pub less_than: ::core::option::Option, - #[prost(oneof="timestamp_rules::GreaterThan", tags="5, 6, 8")] - pub greater_than: ::core::option::Option, -} -/// Nested message and enum types in `TimestampRules`. -pub mod timestamp_rules { - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum LessThan { - #[prost(message, tag="3")] - Lt(::pbjson_types::Timestamp), - #[prost(message, tag="4")] - Lte(::pbjson_types::Timestamp), - #[prost(bool, tag="7")] - LtNow(bool), - } - #[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum GreaterThan { - #[prost(message, tag="5")] - Gt(::pbjson_types::Timestamp), - #[prost(message, tag="6")] - Gte(::pbjson_types::Timestamp), - #[prost(bool, tag="8")] - GtNow(bool), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Violations { - #[prost(message, repeated, tag="1")] - pub violations: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Violation { - #[prost(message, optional, tag="5")] - pub field: ::core::option::Option, - #[prost(message, optional, tag="6")] - pub rule: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub rule_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="4")] - pub for_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FieldPath { - #[prost(message, repeated, tag="1")] - pub elements: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct FieldPathElement { - #[prost(int32, optional, tag="1")] - pub field_number: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub field_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(enumeration="::pbjson_types::field_descriptor_proto::Type", optional, tag="3")] - pub field_type: ::core::option::Option, - #[prost(enumeration="::pbjson_types::field_descriptor_proto::Type", optional, tag="4")] - pub key_type: ::core::option::Option, - #[prost(enumeration="::pbjson_types::field_descriptor_proto::Type", optional, tag="5")] - pub value_type: ::core::option::Option, - #[prost(oneof="field_path_element::Subscript", tags="6, 7, 8, 9, 10")] - pub subscript: ::core::option::Option, -} -/// Nested message and enum types in `FieldPathElement`. -pub mod field_path_element { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum Subscript { - #[prost(uint64, tag="6")] - Index(u64), - #[prost(bool, tag="7")] - BoolKey(bool), - #[prost(int64, tag="8")] - IntKey(i64), - #[prost(uint64, tag="9")] - UintKey(u64), - #[prost(string, tag="10")] - StringKey(::prost::alloc::string::String), - } -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Ignore { - Unspecified = 0, - IfZeroValue = 1, - Always = 3, -} -impl Ignore { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "IGNORE_UNSPECIFIED", - Self::IfZeroValue => "IGNORE_IF_ZERO_VALUE", - Self::Always => "IGNORE_ALWAYS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "IGNORE_UNSPECIFIED" => Some(Self::Unspecified), - "IGNORE_IF_ZERO_VALUE" => Some(Self::IfZeroValue), - "IGNORE_ALWAYS" => Some(Self::Always), - _ => None, - } - } -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum KnownRegex { - Unspecified = 0, - HttpHeaderName = 1, - HttpHeaderValue = 2, -} -impl KnownRegex { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "KNOWN_REGEX_UNSPECIFIED", - Self::HttpHeaderName => "KNOWN_REGEX_HTTP_HEADER_NAME", - Self::HttpHeaderValue => "KNOWN_REGEX_HTTP_HEADER_VALUE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "KNOWN_REGEX_UNSPECIFIED" => Some(Self::Unspecified), - "KNOWN_REGEX_HTTP_HEADER_NAME" => Some(Self::HttpHeaderName), - "KNOWN_REGEX_HTTP_HEADER_VALUE" => Some(Self::HttpHeaderValue), - _ => None, - } - } -} -/// Encoded file descriptor set for the `buf.validate` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xea, 0xee, 0x0c, 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, - 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, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 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, 0x50, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 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, 0xa1, 0x01, 0x0a, 0x0c, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x65, 0x6c, 0x5f, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0d, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, - 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x03, 0x63, 0x65, 0x6c, 0x12, 0x34, 0x0a, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, - 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0x46, 0x0a, 0x10, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x16, - 0x0a, 0x06, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x22, 0x28, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x22, 0xe3, 0x0a, 0x0a, - 0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, - 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x1d, 0x20, - 0x03, 0x28, 0x09, 0x52, 0x0d, 0x63, 0x65, 0x6c, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x24, 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, 0x17, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x12, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x52, - 0x75, 0x6c, 0x65, 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, 0x3d, 0x0a, 0x0a, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x48, 0x00, 0x52, 0x09, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 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, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x4a, - 0x04, 0x08, 0x18, 0x10, 0x19, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x52, 0x07, 0x73, 0x6b, 0x69, - 0x70, 0x70, 0x65, 0x64, 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x22, 0x5a, 0x0a, 0x0f, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x24, 0x0a, 0x03, 0x63, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x03, 0x63, 0x65, 0x6c, 0x4a, 0x04, 0x08, 0x18, 0x10, - 0x19, 0x4a, 0x04, 0x08, 0x1a, 0x10, 0x1b, 0x52, 0x07, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, - 0x52, 0x0c, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x90, - 0x18, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8a, 0x01, - 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x74, 0xc2, - 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x0b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 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, - 0x83, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, 0x42, 0x73, 0xc2, 0x48, - 0x70, 0x0a, 0x6e, 0x0a, 0x08, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 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, 0x22, 0xa2, 0x18, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x01, 0x42, 0x75, 0xc2, 0x48, 0x72, 0x0a, 0x70, 0x0a, 0x0c, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, - 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, - 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, - 0x29, 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, 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, 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x01, 0x42, 0x74, 0xc2, - 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x69, 0x6e, 0x1a, - 0x62, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, - 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xba, 0x15, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x0b, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 0x83, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x05, 0x42, 0x73, 0xc2, - 0x48, 0x70, 0x0a, 0x6e, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x62, - 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 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, 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, 0xba, 0x15, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x03, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x0b, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, - 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, - 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, - 0x29, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x83, 0x01, - 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x03, 0x42, 0x73, 0xc2, 0x48, 0x70, 0x0a, - 0x6e, 0x0a, 0x08, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xcb, 0x15, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x8b, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x75, 0xc2, 0x48, 0x72, 0x0a, 0x70, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, - 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, - 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, 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, 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, - 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, - 0x69, 0x6e, 0x27, 0x29, 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, 0xcb, - 0x15, 0x0a, 0x0b, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8b, - 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x42, 0x75, - 0xc2, 0x48, 0x72, 0x0a, 0x70, 0x0a, 0x0c, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 0x48, - 0x01, 0x52, 0x03, 0x67, 0x74, 0x65, 0x12, 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, - 0x03, 0x28, 0x04, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, - 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, - 0x27, 0x29, 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, 0xcb, 0x15, 0x0a, - 0x0b, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8b, 0x01, 0x0a, - 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x42, 0x75, 0xc2, 0x48, - 0x72, 0x0a, 0x70, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 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, 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, 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, - 0x11, 0x42, 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, - 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, - 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, - 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, 0xcb, 0x15, 0x0a, 0x0b, 0x53, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8b, 0x01, 0x0a, 0x05, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x75, 0xc2, 0x48, 0x72, 0x0a, - 0x70, 0x0a, 0x0c, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, - 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x12, 0x42, - 0x74, 0xc2, 0x48, 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x69, - 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, - 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xdc, 0x15, 0x0a, 0x0c, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x05, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x42, 0x76, 0xc2, 0x48, 0x73, 0x0a, 0x71, - 0x0a, 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, - 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 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, 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, 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, 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, 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, 0x85, - 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x07, 0x42, 0x75, 0xc2, 0x48, 0x72, - 0x0a, 0x70, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x62, - 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xdc, 0x15, 0x0a, 0x0c, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8c, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x42, 0x76, 0xc2, 0x48, 0x73, 0x0a, 0x71, 0x0a, - 0x0d, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, - 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, - 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x85, 0x01, - 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x06, 0x42, 0x75, 0xc2, 0x48, 0x72, 0x0a, - 0x70, 0x0a, 0x0a, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xee, 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0f, 0x42, 0x77, 0xc2, 0x48, 0x74, 0x0a, 0x72, 0x0a, - 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, - 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, - 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 0x86, 0x01, 0x0a, 0x02, 0x69, - 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x76, 0xc2, 0x48, 0x73, 0x0a, 0x71, 0x0a, 0x0b, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xee, 0x15, 0x0a, 0x0d, 0x53, 0x46, 0x69, 0x78, - 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x05, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x42, 0x77, 0xc2, 0x48, 0x74, 0x0a, 0x72, - 0x0a, 0x0e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, - 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, 0x86, 0x01, 0x0a, 0x02, - 0x69, 0x6e, 0x18, 0x06, 0x20, 0x03, 0x28, 0x10, 0x42, 0x76, 0xc2, 0x48, 0x73, 0x0a, 0x71, 0x0a, - 0x0b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, 0x28, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0xd7, 0x01, 0x0a, 0x09, 0x42, 0x6f, 0x6f, - 0x6c, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x89, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x73, 0xc2, 0x48, 0x70, 0x0a, 0x6e, 0x0a, 0x0a, 0x62, - 0x6f, 0x6f, 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x27, 0x29, 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, 0xcf, 0x3b, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x77, 0xc2, 0x48, 0x74, 0x0a, 0x72, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x62, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, - 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 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, 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, 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, - 0x84, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x09, 0x42, 0x74, 0xc2, 0x48, - 0x71, 0x0a, 0x6f, 0x0a, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x1a, 0x62, - 0x21, 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 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, 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, 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, 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, 0x78, 0x0a, 0x07, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, - 0x66, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x5d, 0xc2, 0x48, 0x5a, 0x0a, 0x58, 0x0a, 0x0e, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x12, 0x23, - 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, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 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, 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, 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, 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, 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, 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, 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, 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, 0xfb, 0x01, 0x0a, 0x04, 0x75, 0x6c, 0x69, 0x64, 0x18, 0x23, 0x20, 0x01, - 0x28, 0x08, 0x42, 0xe4, 0x01, 0xc2, 0x48, 0xe0, 0x01, 0x0a, 0x82, 0x01, 0x0a, 0x0b, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x6c, 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, 0x4c, 0x49, 0x44, 0x1a, 0x57, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x6c, - 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, 0x37, 0x5d, 0x5b, 0x30, 0x2d, 0x39, 0x41, 0x2d, 0x48, 0x4a, - 0x4b, 0x4d, 0x4e, 0x50, 0x2d, 0x54, 0x56, 0x2d, 0x5a, 0x61, 0x2d, 0x68, 0x6a, 0x6b, 0x6d, 0x6e, - 0x70, 0x2d, 0x74, 0x76, 0x2d, 0x7a, 0x5d, 0x7b, 0x32, 0x35, 0x7d, 0x24, 0x27, 0x29, 0x0a, 0x59, - 0x0a, 0x11, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x6c, 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, 0x4c, 0x49, 0x44, 0x1a, 0x19, - 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x6c, 0x69, 0x64, 0x20, 0x7c, 0x7c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x27, 0x27, 0x48, 0x00, 0x52, 0x04, 0x75, 0x6c, 0x69, - 0x64, 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, 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, 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, 0xac, 0x13, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x87, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0c, 0x42, 0x71, 0xc2, 0x48, 0x6e, 0x0a, 0x6c, 0x0a, 0x0b, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x5d, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, - 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, - 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 0x5d, - 0x29, 0x20, 0x3a, 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, 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, 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, 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, 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, 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, 0xab, 0x01, 0x0a, - 0x02, 0x69, 0x6e, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0c, 0x42, 0x9a, 0x01, 0xc2, 0x48, 0x96, 0x01, - 0x0a, 0x93, 0x01, 0x0a, 0x08, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x1a, 0x86, 0x01, - 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, - 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, - 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, - 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 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, 0xdb, 0x01, 0x0a, 0x04, 0x75, 0x75, 0x69, 0x64, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0xc4, 0x01, 0xc2, 0x48, 0xc0, 0x01, 0x0a, 0x5e, 0x0a, 0x0a, - 0x62, 0x79, 0x74, 0x65, 0x73, 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, 0x34, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x75, - 0x75, 0x69, 0x64, 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, 0x5e, 0x0a, 0x10, - 0x62, 0x79, 0x74, 0x65, 0x73, 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, 0x1f, 0x21, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x20, 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x73, 0x69, 0x7a, 0x65, 0x28, 0x29, 0x20, 0x21, 0x3d, 0x20, 0x30, 0x48, 0x00, 0x52, 0x04, - 0x75, 0x75, 0x69, 0x64, 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, 0xfd, 0x03, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x89, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x73, 0xc2, 0x48, 0x70, 0x0a, 0x6e, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, - 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x82, 0x01, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x72, 0xc2, - 0x48, 0x6f, 0x0a, 0x6d, 0x0a, 0x07, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x9e, 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, 0x1a, 0x6d, 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, 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, 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, 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, 0x2e, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x09, 0x08, 0xe8, 0x07, 0x10, 0x80, - 0x80, 0x80, 0x80, 0x02, 0x22, 0xac, 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, 0x2c, 0x0a, 0x04, 0x6b, 0x65, 0x79, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x04, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x30, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 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, 0xc6, 0x17, 0x0a, 0x0d, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xa8, 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, 0x77, 0xc2, 0x48, 0x74, 0x0a, 0x72, 0x0a, 0x0e, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 0xa1, 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, 0x76, 0xc2, 0x48, 0x73, 0x0a, 0x71, - 0x0a, 0x0b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x69, 0x6e, 0x1a, 0x62, 0x21, - 0x28, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 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, - 0x98, 0x06, 0x0a, 0x0e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x93, - 0x01, 0xc2, 0x48, 0x8f, 0x01, 0x0a, 0x8c, 0x01, 0x0a, 0x10, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x1a, 0x78, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x27, 0x29, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x67, - 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x5d, 0x29, 0x20, - 0x3a, 0x20, 0x27, 0x27, 0x52, 0x05, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x12, 0xdd, 0x01, 0x0a, 0x02, - 0x69, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0xcc, 0x01, 0xc2, 0x48, 0xc8, 0x01, 0x0a, - 0xc5, 0x01, 0x0a, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x69, - 0x6e, 0x1a, 0xb3, 0x01, 0x21, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, - 0x61, 0x6c, 0x6c, 0x28, 0x70, 0x2c, 0x20, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, - 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, 0x2e, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x73, 0x28, 0x66, 0x2c, 0x20, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, 0x69, 0x74, - 0x68, 0x28, 0x66, 0x2b, 0x27, 0x2e, 0x27, 0x29, 0x29, 0x29, 0x20, 0x3f, 0x20, 0x27, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x25, - 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, 0x5b, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x69, 0x6e, 0x27, 0x29, - 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, 0x27, 0x52, 0x02, 0x69, 0x6e, 0x12, 0xfa, 0x01, 0x0a, 0x06, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0xe2, 0x01, 0xc2, - 0x48, 0xde, 0x01, 0x0a, 0xdb, 0x01, 0x0a, 0x11, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x1a, 0xc5, 0x01, 0x21, 0x74, 0x68, 0x69, - 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x28, 0x70, 0x2c, 0x20, 0x21, - 0x28, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x27, 0x29, 0x20, - 0x7c, 0x7c, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2c, 0x20, 0x27, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x27, 0x29, 0x2e, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x73, 0x28, 0x66, 0x2c, 0x20, 0x70, 0x2e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x57, - 0x69, 0x74, 0x68, 0x28, 0x66, 0x2b, 0x27, 0x2e, 0x27, 0x29, 0x29, 0x29, 0x29, 0x20, 0x3f, 0x20, - 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x25, 0x73, 0x27, 0x2e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x28, - 0x5b, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, - 0x20, 0x27, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x27, 0x29, 0x5d, 0x29, 0x20, 0x3a, 0x20, 0x27, - 0x27, 0x52, 0x05, 0x6e, 0x6f, 0x74, 0x49, 0x6e, 0x12, 0x55, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x1f, 0xc2, 0x48, 0x1c, 0x0a, 0x1a, 0x0a, 0x12, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0xca, 0x18, 0x0a, 0x0e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xaa, 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, 0x78, 0xc2, 0x48, 0x75, 0x0a, 0x73, - 0x0a, 0x0f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x1a, 0x60, 0x74, 0x68, 0x69, 0x73, 0x20, 0x21, 0x3d, 0x20, 0x67, 0x65, 0x74, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x27, 0x29, 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, 0x67, 0x65, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x28, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x27, 0x29, 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, 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, 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, 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, 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, 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, 0xc5, - 0x01, 0x0a, 0x09, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x05, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x50, 0x61, 0x74, 0x68, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x2b, 0x0a, 0x04, 0x72, - 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, - 0x74, 0x68, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 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, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x52, 0x0a, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x22, 0x47, 0x0a, 0x09, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x08, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0xcc, 0x03, 0x0a, 0x10, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x45, 0x0a, 0x08, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x07, 0x6b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x49, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x04, 0x48, 0x00, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x1b, 0x0a, 0x08, 0x62, - 0x6f, 0x6f, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, - 0x07, 0x62, 0x6f, 0x6f, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x19, 0x0a, 0x07, 0x69, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x06, 0x69, 0x6e, 0x74, - 0x4b, 0x65, 0x79, 0x12, 0x1b, 0x0a, 0x08, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x07, 0x75, 0x69, 0x6e, 0x74, 0x4b, 0x65, 0x79, - 0x12, 0x1f, 0x0a, 0x0a, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4b, 0x65, - 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2a, 0xa1, - 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, 0x18, 0x0a, 0x14, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x5a, - 0x45, 0x52, 0x4f, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x49, - 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x10, 0x03, 0x22, 0x04, - 0x08, 0x02, 0x10, 0x02, 0x2a, 0x0c, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x45, 0x4d, 0x50, - 0x54, 0x59, 0x2a, 0x0e, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, - 0x4c, 0x54, 0x2a, 0x17, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x44, 0x45, - 0x46, 0x41, 0x55, 0x4c, 0x54, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x2a, 0x15, 0x49, 0x47, 0x4e, - 0x4f, 0x52, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x55, 0x4e, 0x50, 0x4f, 0x50, 0x55, 0x4c, 0x41, 0x54, - 0x45, 0x44, 0x2a, 0x6e, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, - 0x12, 0x1b, 0x0a, 0x17, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x20, 0x0a, - 0x1c, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, 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, 0x56, 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, 0x1a, 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x4e, 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, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x05, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x3a, 0x4e, 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, 0x18, 0x2e, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x3a, 0x5d, 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, 0x1d, - 0x2e, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x50, 0x72, - 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x0a, 0x70, - 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0xbb, 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, - 0x47, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x67, - 0x6f, 0x2f, 0x62, 0x75, 0x66, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, - 0x6c, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x67, 0x6f, 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, 0x4a, 0xa3, 0xb6, 0x09, 0x0a, 0x07, 0x12, 0x05, 0x0e, - 0x00, 0xc0, 0x27, 0x01, 0x0a, 0xce, 0x04, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x0e, 0x00, 0x12, 0x32, - 0xc3, 0x04, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30, 0x32, - 0x33, 0x2d, 0x32, 0x30, 0x32, 0x36, 0x20, 0x42, 0x75, 0x66, 0x20, 0x54, 0x65, 0x63, 0x68, 0x6e, - 0x6f, 0x6c, 0x6f, 0x67, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x0a, 0x0a, 0x20, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x28, - 0x74, 0x68, 0x65, 0x20, 0x22, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x3b, 0x0a, - 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x2e, 0x0a, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, - 0x6e, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x61, 0x74, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, - 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, - 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 0x30, 0x0a, 0x0a, 0x20, 0x55, - 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x77, - 0x20, 0x6f, 0x72, 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, - 0x20, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, - 0x72, 0x65, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, - 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x20, 0x42, - 0x41, 0x53, 0x49, 0x53, 0x2c, 0x0a, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, - 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, - 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, - 0x49, 0x4e, 0x44, 0x2c, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x0a, - 0x20, 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0xea, 0x0b, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x2c, 0x00, 0x15, - 0x1a, 0xdf, 0x0b, 0x20, 0x5b, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x29, 0x20, - 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x20, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, - 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x0a, 0x20, 0x49, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x73, 0x74, - 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x5b, 0x43, 0x45, 0x4c, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x63, 0x65, 0x6c, 0x2e, 0x64, 0x65, 0x76, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, - 0x20, 0x49, 0x74, 0x27, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x78, 0x74, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x5b, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 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, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x70, 0x6f, 0x77, 0x65, 0x72, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x20, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x69, - 0x74, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x79, 0x6f, - 0x75, 0x72, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, - 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, - 0x6e, 0x20, 0x3d, 0x20, 0x36, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x33, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, - 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x36, 0x34, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x63, - 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, - 0x22, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x73, 0x5f, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x22, 0x6c, - 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x66, 0x20, 0x66, 0x69, 0x72, 0x73, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x21, 0x68, 0x61, 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x29, 0x20, 0x7c, 0x7c, 0x20, 0x68, 0x61, - 0x73, 0x28, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x29, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x72, - 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x62, 0x79, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x5b, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x71, 0x75, 0x69, 0x63, 0x6b, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x73, 0x74, 0x61, 0x72, 0x74, 0x2f, 0x29, 0x20, 0x74, 0x6f, - 0x20, 0x67, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x72, - 0x20, 0x67, 0x6f, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x3a, 0x0a, 0x20, 0x5b, 0x47, 0x6f, 0x5d, 0x28, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 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, 0x2d, 0x67, 0x6f, 0x29, 0x0a, 0x20, 0x5b, 0x4a, 0x61, 0x76, - 0x61, 0x53, 0x63, 0x72, 0x69, 0x70, 0x74, 0x2f, 0x54, 0x79, 0x70, 0x65, 0x53, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 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, 0x2d, 0x65, 0x73, - 0x29, 0x2c, 0x0a, 0x20, 0x5b, 0x4a, 0x61, 0x76, 0x61, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 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, 0x2d, 0x6a, 0x61, 0x76, 0x61, 0x29, 0x2c, 0x0a, 0x20, 0x5b, 0x50, 0x79, - 0x74, 0x68, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 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, 0x2d, - 0x70, 0x79, 0x74, 0x68, 0x6f, 0x6e, 0x29, 0x2c, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x5b, 0x43, 0x2b, - 0x2b, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 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, 0x2d, 0x63, 0x63, 0x29, - 0x2e, 0x0a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x2e, 0x00, 0x2a, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x01, 0x12, 0x03, 0x2f, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, - 0x30, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x31, 0x00, 0x29, 0x0a, 0x08, - 0x0a, 0x01, 0x08, 0x12, 0x03, 0x33, 0x00, 0x5e, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, - 0x33, 0x00, 0x5e, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x34, 0x00, 0x22, 0x0a, 0x09, 0x0a, - 0x02, 0x08, 0x0a, 0x12, 0x03, 0x34, 0x00, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x35, - 0x00, 0x2e, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x08, 0x12, 0x03, 0x35, 0x00, 0x2e, 0x0a, 0x80, 0x02, - 0x0a, 0x01, 0x07, 0x12, 0x04, 0x3c, 0x00, 0x40, 0x01, 0x1a, 0xf4, 0x01, 0x20, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 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, 0x2e, 0x20, 0x49, - 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x0a, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, - 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x72, - 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x62, - 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x86, 0x01, 0x0a, 0x02, 0x07, 0x00, 0x12, 0x03, 0x3f, 0x02, 0x27, 0x1a, 0x7b, 0x20, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x42, 0x79, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x0a, 0x20, 0x6e, 0x6f, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x66, - 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02, - 0x12, 0x03, 0x3c, 0x07, 0x25, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x04, 0x12, 0x03, 0x3f, 0x02, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x06, 0x12, 0x03, 0x3f, 0x0b, 0x17, 0x0a, 0x0a, 0x0a, - 0x03, 0x07, 0x00, 0x01, 0x12, 0x03, 0x3f, 0x18, 0x1f, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, - 0x12, 0x03, 0x3f, 0x22, 0x26, 0x0a, 0xf2, 0x01, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x46, 0x00, 0x4a, - 0x01, 0x1a, 0xe6, 0x01, 0x20, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 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, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x0a, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, - 0x6e, 0x20, 0x61, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, - 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, - 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, - 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x82, 0x01, 0x0a, 0x02, 0x07, - 0x01, 0x12, 0x03, 0x49, 0x02, 0x23, 0x1a, 0x77, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x65, 0x72, - 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, - 0x6e, 0x65, 0x6f, 0x66, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x2c, 0x0a, 0x20, 0x6e, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x73, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x67, - 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x02, 0x12, 0x03, 0x46, 0x07, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, - 0x01, 0x04, 0x12, 0x03, 0x49, 0x02, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x06, 0x12, 0x03, - 0x49, 0x0b, 0x15, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x01, 0x12, 0x03, 0x49, 0x16, 0x1b, 0x0a, - 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x03, 0x12, 0x03, 0x49, 0x1e, 0x22, 0x0a, 0xfa, 0x01, 0x0a, 0x01, - 0x07, 0x12, 0x04, 0x50, 0x00, 0x66, 0x01, 0x1a, 0xee, 0x01, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 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, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, - 0x77, 0x73, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6f, 0x6d, 0x69, 0x6e, 0x67, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, 0x73, - 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x63, 0x65, - 0x72, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x63, 0x72, 0x69, 0x74, 0x65, 0x72, 0x69, 0x61, 0x20, 0x62, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, - 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x82, 0x01, 0x0a, 0x02, 0x07, 0x02, 0x12, - 0x03, 0x53, 0x02, 0x23, 0x1a, 0x77, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, - 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x0a, - 0x20, 0x6e, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, - 0x73, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, - 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x07, 0x02, 0x02, 0x12, 0x03, 0x50, 0x07, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x04, - 0x12, 0x03, 0x53, 0x02, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x06, 0x12, 0x03, 0x53, 0x0b, - 0x15, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x01, 0x12, 0x03, 0x53, 0x16, 0x1b, 0x0a, 0x0a, 0x0a, - 0x03, 0x07, 0x02, 0x03, 0x12, 0x03, 0x53, 0x1e, 0x22, 0x0a, 0xca, 0x03, 0x0a, 0x02, 0x07, 0x03, - 0x12, 0x03, 0x65, 0x02, 0x2d, 0x1a, 0xbe, 0x03, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x0a, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x61, 0x64, 0x64, 0x73, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x43, 0x45, 0x4c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x20, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x69, - 0x73, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x64, 0x3a, 0x20, 0x22, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x69, 0x73, 0x5f, 0x7a, 0x65, 0x72, - 0x6f, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x3a, 0x20, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x21, 0x72, 0x75, 0x6c, 0x65, 0x20, - 0x7c, 0x7c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3d, 0x3d, 0x20, 0x30, 0x22, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x46, 0x6f, 0x6f, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x28, 0x69, 0x73, 0x5f, 0x7a, - 0x65, 0x72, 0x6f, 0x29, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, 0x02, 0x12, 0x03, 0x50, - 0x07, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, 0x04, 0x12, 0x03, 0x65, 0x02, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x07, 0x03, 0x06, 0x12, 0x03, 0x65, 0x0b, 0x1a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, - 0x01, 0x12, 0x03, 0x65, 0x1b, 0x25, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, 0x03, 0x12, 0x03, 0x65, - 0x28, 0x2c, 0x0a, 0x81, 0x04, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x05, 0x77, 0x00, 0x87, 0x01, 0x01, - 0x1a, 0xf3, 0x03, 0x20, 0x60, 0x52, 0x75, 0x6c, 0x65, 0x60, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, - 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x45, 0x4c, - 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x0a, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, - 0x5b, 0x73, 0x65, 0x65, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2d, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2f, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x46, 0x6f, 0x6f, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, - 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, - 0x20, 0x22, 0x66, 0x6f, 0x6f, 0x2e, 0x62, 0x61, 0x72, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x22, 0x62, 0x61, 0x72, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x62, 0x61, 0x72, - 0x20, 0x3e, 0x20, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x20, 0x62, 0x61, 0x72, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x77, - 0x08, 0x0c, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x7a, 0x02, 0x19, - 0x1a, 0x9b, 0x01, 0x20, 0x60, 0x69, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x65, - 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x69, 0x74, 0x73, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x7a, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x7a, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x7a, 0x12, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x7a, 0x17, 0x18, 0x0a, 0x83, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, - 0x04, 0x80, 0x01, 0x02, 0x1e, 0x1a, 0xf4, 0x01, 0x20, 0x60, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, 0x72, 0x65, - 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x52, - 0x75, 0x6c, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x45, 0x4c, - 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x61, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x0a, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x80, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x80, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x03, 0x12, 0x04, 0x80, 0x01, 0x1c, 0x1d, 0x0a, 0xa2, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x02, 0x12, 0x04, 0x86, 0x01, 0x02, 0x21, 0x1a, 0x93, 0x02, 0x20, 0x60, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x43, 0x45, 0x4c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x0a, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x61, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, - 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x2c, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x65, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0x86, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x86, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x03, 0x12, 0x04, 0x86, 0x01, 0x1f, 0x20, 0x0a, 0xdc, 0x01, 0x0a, 0x02, 0x04, 0x01, - 0x12, 0x06, 0x8b, 0x01, 0x00, 0xd7, 0x01, 0x01, 0x1a, 0xcd, 0x01, 0x20, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x74, - 0x69, 0x72, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x74, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x69, 0x6e, 0x67, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, - 0x28, 0x43, 0x45, 0x4c, 0x29, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, - 0x04, 0x8b, 0x01, 0x08, 0x14, 0x0a, 0xd4, 0x06, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, - 0x9e, 0x01, 0x02, 0x25, 0x1a, 0xc5, 0x06, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, - 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x43, 0x45, 0x4c, - 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x45, 0x61, - 0x63, 0x68, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, - 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, - 0x28, 0x43, 0x45, 0x4c, 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x0a, 0x0a, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x60, 0x63, 0x65, 0x6c, 0x60, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x60, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, - 0x74, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x0a, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x73, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x6e, 0x67, - 0x20, 0x43, 0x45, 0x4c, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, - 0x20, 0x60, 0x69, 0x64, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x60, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x60, 0x2e, 0x20, 0x60, 0x69, 0x64, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, - 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x65, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2c, 0x20, 0x5b, 0x73, 0x65, 0x65, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, 0x63, - 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2d, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x66, 0x6f, 0x6f, 0x60, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x34, 0x32, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x66, - 0x6f, 0x6f, 0x20, 0x3e, 0x20, 0x34, 0x32, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x66, 0x6f, 0x6f, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x38, 0x34, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x66, 0x6f, - 0x6f, 0x20, 0x3c, 0x20, 0x38, 0x34, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x66, 0x6f, 0x6f, 0x20, 0x3d, - 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9e, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x9e, 0x01, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x9e, 0x01, 0x23, 0x24, 0x0a, 0xbe, 0x04, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x01, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x18, 0x1a, 0xaf, 0x04, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x52, 0x75, 0x6c, - 0x65, 0x2e, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, - 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, - 0x43, 0x45, 0x4c, 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2c, 0x0a, 0x20, 0x5b, 0x73, 0x65, 0x65, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2d, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x29, 0x2e, 0x0a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x66, 0x6f, 0x6f, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x34, 0x32, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x6d, 0x79, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x22, 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, 0x34, 0x32, 0x22, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, - 0x74, 0x68, 0x69, 0x73, 0x2e, 0x66, 0x6f, 0x6f, 0x20, 0x3e, 0x20, 0x34, 0x32, 0x22, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x66, 0x6f, 0x6f, 0x20, 0x3d, 0x20, 0x31, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x01, 0x04, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x06, 0x12, 0x04, 0xaf, 0x01, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xaf, 0x01, 0x10, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xaf, 0x01, 0x16, 0x17, 0x0a, 0xc9, 0x0e, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, - 0xd3, 0x01, 0x02, 0x26, 0x1a, 0xba, 0x0e, 0x20, 0x60, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x60, 0x20, - 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x6f, 0x66, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, - 0x20, 0x6f, 0x6e, 0x65, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x5f, 0x6d, - 0x75, 0x73, 0x74, 0x5f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x2e, - 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x6e, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2d, 0x6c, 0x69, 0x6b, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x61, 0x20, 0x66, 0x65, 0x77, 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, - 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x31, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x20, - 0x20, 0x32, 0x2e, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, - 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x20, 0x49, - 0x6e, 0x20, 0x61, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x6f, 0x6e, 0x65, - 0x6f, 0x66, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, - 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x63, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, - 0x6e, 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, - 0x74, 0x2c, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x20, 0x73, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x73, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, - 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x74, 0x20, 0x61, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x33, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x77, - 0x61, 0x79, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x75, 0x6e, 0x6d, - 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x65, 0x74, 0x73, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x20, 0x57, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x69, 0x61, 0x6c, 0x69, - 0x7a, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x20, 0x65, 0x61, 0x72, 0x6c, 0x69, 0x65, - 0x72, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x75, - 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6c, 0x65, 0x6e, - 0x74, 0x6c, 0x79, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2c, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, - 0x73, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x73, - 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, - 0x6d, 0x61, 0x72, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x60, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x60, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x49, 0x46, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x5f, - 0x56, 0x41, 0x4c, 0x55, 0x45, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x73, 0x0a, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, - 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x64, 0x65, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x60, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x60, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, - 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4f, - 0x6e, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x31, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x60, 0x20, - 0x5f, 0x63, 0x61, 0x6e, 0x5f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x29, 0x2e, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x31, 0x22, 0x2c, 0x20, - 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x22, 0x5d, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x45, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x33, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x34, 0x60, 0x20, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, 0x20, 0x62, 0x65, - 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x2e, 0x6f, 0x6e, 0x65, 0x6f, 0x66, - 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x33, 0x22, 0x2c, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x34, 0x22, - 0x5d, 0x2c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3a, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x31, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x32, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x33, 0x20, 0x3d, - 0x20, 0x33, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x34, 0x20, 0x3d, 0x20, 0x34, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x04, 0xd3, 0x01, 0x0b, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd3, 0x01, 0x1c, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd3, 0x01, 0x24, 0x25, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x01, 0x09, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, - 0x09, 0x00, 0x12, 0x04, 0xd5, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x09, 0x00, - 0x01, 0x12, 0x04, 0xd5, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x09, 0x00, 0x02, - 0x12, 0x04, 0xd5, 0x01, 0x0b, 0x0c, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x0a, 0x12, 0x04, 0xd6, - 0x01, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x0a, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x0b, - 0x15, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xd9, 0x01, 0x00, 0xe0, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x08, 0x18, 0x0a, 0xb9, 0x01, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x1d, 0x1a, 0xaa, 0x01, 0x20, 0x41, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x2e, 0x20, 0x41, 0x6c, - 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x41, - 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xdd, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xdd, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xdd, 0x01, 0x1b, 0x1c, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x01, - 0x02, 0x1d, 0x1a, 0x35, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x5f, 0x6d, 0x75, 0x73, 0x74, 0x5f, - 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x04, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xdf, 0x01, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xdf, 0x01, 0x10, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xdf, 0x01, 0x1b, 0x1c, 0x0a, 0x76, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0xe4, 0x01, 0x00, - 0xf6, 0x01, 0x01, 0x1a, 0x68, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x4f, 0x6e, 0x65, 0x6f, 0x66, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x79, 0x6f, 0x75, 0x20, - 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0xe4, 0x01, 0x08, 0x12, 0x0a, 0xdd, 0x04, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x00, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x1d, 0x1a, 0xce, 0x04, 0x20, 0x49, 0x66, 0x20, - 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x2c, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, - 0x6f, 0x66, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x20, - 0x41, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, - 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, - 0x74, 0x2e, 0x20, 0x46, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x0a, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x6e, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x0a, 0x20, 0x73, 0x75, - 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x60, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x60, 0x20, - 0x6f, 0x72, 0x20, 0x60, 0x67, 0x74, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x6f, - 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x45, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x60, 0x61, 0x60, 0x20, 0x6f, 0x72, 0x20, - 0x60, 0x62, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x60, 0x61, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, - 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x3b, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x61, 0x73, 0x20, 0x69, 0x66, 0x20, 0x60, 0x62, - 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x29, 0x2e, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, - 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xf5, 0x01, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xf5, 0x01, 0x10, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xf5, 0x01, 0x1b, 0x1c, 0x0a, 0xa0, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xfa, - 0x01, 0x00, 0x81, 0x03, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x63, 0x61, 0x70, 0x73, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, - 0x61, 0x63, 0x68, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x0a, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6f, 0x72, 0x72, 0x65, 0x63, 0x74, 0x20, 0x73, 0x65, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x6e, - 0x73, 0x75, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, - 0x12, 0x04, 0xfa, 0x01, 0x08, 0x12, 0x0a, 0xda, 0x05, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, - 0x04, 0x8a, 0x02, 0x02, 0x26, 0x1a, 0xcb, 0x05, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x5f, 0x65, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x43, 0x45, - 0x4c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x45, - 0x61, 0x63, 0x68, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x77, 0x72, 0x69, 0x74, 0x74, - 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x0a, 0x0a, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x60, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x60, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, - 0x65, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x73, 0x79, 0x6e, - 0x74, 0x61, 0x78, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x20, 0x43, 0x45, 0x4c, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, - 0x65, 0x20, 0x60, 0x69, 0x64, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x60, 0x20, 0x64, 0x65, 0x72, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x60, 0x2e, 0x20, 0x60, 0x69, 0x64, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, - 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x6f, - 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2c, 0x20, 0x5b, 0x73, 0x65, 0x65, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2d, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x34, 0x32, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x5f, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x3e, 0x20, 0x34, 0x32, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8a, 0x02, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x02, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x12, 0x20, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x02, 0x23, 0x25, 0x0a, - 0xf2, 0x03, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0x99, 0x02, 0x02, 0x19, 0x1a, 0xe3, - 0x03, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x0a, 0x20, 0x5b, 0x73, 0x65, 0x65, 0x20, - 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x62, 0x75, 0x66, 0x2e, 0x62, - 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x29, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x34, 0x32, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x69, 0x64, 0x3a, 0x20, 0x22, 0x6d, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x3a, 0x20, 0x22, 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, 0x34, 0x32, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, - 0x34, 0x32, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x04, 0x12, 0x04, 0x99, - 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x04, 0x99, 0x02, - 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0x99, 0x02, 0x10, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x99, 0x02, 0x16, 0x18, - 0x0a, 0xe1, 0x0e, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0xd2, 0x02, 0x02, 0x1e, 0x1a, - 0xd2, 0x0e, 0x20, 0x49, 0x66, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, - 0x20, 0x41, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x0a, - 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3d, 0x22, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, 0x22, 0x3b, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x50, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, - 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x61, 0x6c, 0x73, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, - 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x2c, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x20, - 0x20, 0x53, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6d, 0x73, 0x67, - 0x20, 0x3d, 0x20, 0x34, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, - 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x0a, 0x20, 0x69, 0x67, 0x6e, 0x6f, - 0x72, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x6f, - 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x20, 0x60, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x77, 0x61, - 0x79, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2c, 0x0a, 0x20, - 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x2e, 0x20, 0x49, 0x74, 0x20, - 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, - 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x60, 0x2e, 0x20, 0x49, 0x74, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x61, - 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3d, 0x22, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, 0x22, 0x3b, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x57, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x50, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x60, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x60, 0x20, 0x61, 0x6c, - 0x77, 0x61, 0x79, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x76, - 0x65, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x60, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x60, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, - 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x20, 0x3d, 0x20, 0x32, 0x20, - 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3d, - 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x60, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, - 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2c, - 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x27, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, - 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x20, 0x54, 0x6f, 0x20, 0x6c, 0x65, 0x61, 0x72, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x73, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, - 0x5b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, - 0x63, 0x68, 0x65, 0x61, 0x74, 0x20, 0x73, 0x68, 0x65, 0x65, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2d, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x73, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x63, 0x65, 0x2f, 0x23, 0x63, 0x68, 0x65, 0x61, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x4e, - 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2c, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, 0x65, 0x79, - 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, - 0x2e, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x0a, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x72, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x64, 0x75, 0x6e, 0x64, 0x61, - 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0xd2, - 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd2, 0x02, - 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd2, 0x02, 0x10, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd2, 0x02, 0x1b, 0x1d, - 0x0a, 0xf6, 0x02, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x1e, 0x1a, - 0xe7, 0x02, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x66, 0x20, 0x69, 0x74, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x63, 0x72, 0x69, 0x74, - 0x65, 0x72, 0x69, 0x61, 0x2e, 0x20, 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x49, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x60, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x72, 0x69, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, - 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x72, 0x6c, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x3d, 0x20, 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x5f, - 0x49, 0x46, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x75, 0x72, 0x69, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x03, 0x04, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x06, 0x12, 0x04, 0xdf, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xdf, 0x02, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xdf, 0x02, 0x1b, 0x1d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x04, 0x08, 0x00, 0x12, 0x06, 0xe1, - 0x02, 0x02, 0xfd, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x01, 0x12, 0x04, - 0xe1, 0x02, 0x08, 0x0c, 0x0a, 0x22, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x04, 0xe3, 0x02, - 0x04, 0x19, 0x1a, 0x14, 0x20, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x20, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, - 0x06, 0x12, 0x04, 0xe3, 0x02, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, - 0x12, 0x04, 0xe3, 0x02, 0x0f, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, - 0x04, 0xe3, 0x02, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x05, 0x12, 0x04, 0xe4, - 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x06, 0x12, 0x04, 0xe4, 0x02, - 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe4, 0x02, 0x10, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe4, 0x02, 0x19, 0x1a, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x06, 0x12, 0x04, 0xe5, 0x02, 0x04, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x06, 0x12, 0x04, 0xe5, 0x02, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x06, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x0f, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x06, 0x03, 0x12, 0x04, 0xe5, 0x02, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x07, 0x12, 0x04, 0xe6, 0x02, 0x04, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x07, 0x06, 0x12, 0x04, 0xe6, 0x02, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, - 0x01, 0x12, 0x04, 0xe6, 0x02, 0x0f, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x03, - 0x12, 0x04, 0xe6, 0x02, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x08, 0x12, 0x04, - 0xe7, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x06, 0x12, 0x04, 0xe7, - 0x02, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x01, 0x12, 0x04, 0xe7, 0x02, - 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x03, 0x12, 0x04, 0xe7, 0x02, 0x19, - 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x09, 0x12, 0x04, 0xe8, 0x02, 0x04, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x06, 0x12, 0x04, 0xe8, 0x02, 0x04, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x01, 0x12, 0x04, 0xe8, 0x02, 0x10, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x09, 0x03, 0x12, 0x04, 0xe8, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x0a, 0x12, 0x04, 0xe9, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x0a, 0x06, 0x12, 0x04, 0xe9, 0x02, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x0a, 0x01, 0x12, 0x04, 0xe9, 0x02, 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, - 0x03, 0x12, 0x04, 0xe9, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0b, 0x12, - 0x04, 0xea, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0b, 0x06, 0x12, 0x04, - 0xea, 0x02, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xea, - 0x02, 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xea, 0x02, - 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0c, 0x12, 0x04, 0xeb, 0x02, 0x04, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xeb, 0x02, 0x04, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xeb, 0x02, 0x11, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xeb, 0x02, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x04, 0x02, 0x0d, 0x12, 0x04, 0xec, 0x02, 0x04, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xec, 0x02, 0x04, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x0d, 0x01, 0x12, 0x04, 0xec, 0x02, 0x11, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x0d, 0x03, 0x12, 0x04, 0xec, 0x02, 0x1b, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0e, - 0x12, 0x04, 0xed, 0x02, 0x04, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0e, 0x06, 0x12, - 0x04, 0xed, 0x02, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0e, 0x01, 0x12, 0x04, - 0xed, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xed, - 0x02, 0x1d, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0f, 0x12, 0x04, 0xee, 0x02, 0x04, - 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x06, 0x12, 0x04, 0xee, 0x02, 0x04, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xee, 0x02, 0x12, 0x1a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xee, 0x02, 0x1d, 0x1f, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x04, 0x02, 0x10, 0x12, 0x04, 0xef, 0x02, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x10, 0x06, 0x12, 0x04, 0xef, 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x10, 0x01, 0x12, 0x04, 0xef, 0x02, 0x0e, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x10, 0x03, 0x12, 0x04, 0xef, 0x02, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x11, 0x12, 0x04, 0xf0, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x11, 0x06, - 0x12, 0x04, 0xf0, 0x02, 0x04, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x11, 0x01, 0x12, - 0x04, 0xf0, 0x02, 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x11, 0x03, 0x12, 0x04, - 0xf0, 0x02, 0x19, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x12, 0x12, 0x04, 0xf1, 0x02, - 0x04, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x12, 0x06, 0x12, 0x04, 0xf1, 0x02, 0x04, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x12, 0x01, 0x12, 0x04, 0xf1, 0x02, 0x0f, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x12, 0x03, 0x12, 0x04, 0xf1, 0x02, 0x17, 0x19, 0x0a, - 0x23, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x13, 0x12, 0x04, 0xf4, 0x02, 0x04, 0x18, 0x1a, 0x15, 0x20, - 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x13, 0x06, 0x12, 0x04, 0xf4, - 0x02, 0x04, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x13, 0x01, 0x12, 0x04, 0xf4, 0x02, - 0x0e, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x13, 0x03, 0x12, 0x04, 0xf4, 0x02, 0x15, - 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x14, 0x12, 0x04, 0xf5, 0x02, 0x04, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x14, 0x06, 0x12, 0x04, 0xf5, 0x02, 0x04, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x14, 0x01, 0x12, 0x04, 0xf5, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x14, 0x03, 0x12, 0x04, 0xf5, 0x02, 0x1d, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x15, 0x12, 0x04, 0xf6, 0x02, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x15, 0x06, 0x12, 0x04, 0xf6, 0x02, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x15, 0x01, 0x12, 0x04, 0xf6, 0x02, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x15, - 0x03, 0x12, 0x04, 0xf6, 0x02, 0x13, 0x15, 0x0a, 0x26, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x16, 0x12, - 0x04, 0xf9, 0x02, 0x04, 0x16, 0x1a, 0x18, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, - 0x77, 0x6e, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x16, 0x06, 0x12, 0x04, 0xf9, 0x02, 0x04, 0x0c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x16, 0x01, 0x12, 0x04, 0xf9, 0x02, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x16, 0x03, 0x12, 0x04, 0xf9, 0x02, 0x13, 0x15, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x17, 0x12, 0x04, 0xfa, 0x02, 0x04, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x17, 0x06, 0x12, 0x04, 0xfa, 0x02, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x17, 0x01, 0x12, 0x04, 0xfa, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x17, - 0x03, 0x12, 0x04, 0xfa, 0x02, 0x1d, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x18, 0x12, - 0x04, 0xfb, 0x02, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x18, 0x06, 0x12, 0x04, - 0xfb, 0x02, 0x04, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x18, 0x01, 0x12, 0x04, 0xfb, - 0x02, 0x13, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x18, 0x03, 0x12, 0x04, 0xfb, 0x02, - 0x20, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x19, 0x12, 0x04, 0xfc, 0x02, 0x04, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x19, 0x06, 0x12, 0x04, 0xfc, 0x02, 0x04, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x19, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x13, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x19, 0x03, 0x12, 0x04, 0xfc, 0x02, 0x1f, 0x21, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xff, 0x02, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, - 0x09, 0x00, 0x12, 0x04, 0xff, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x00, - 0x01, 0x12, 0x04, 0xff, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x00, 0x02, - 0x12, 0x04, 0xff, 0x02, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x01, 0x12, 0x04, - 0xff, 0x02, 0x0f, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, 0x01, 0x12, 0x04, 0xff, - 0x02, 0x0f, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x01, 0x02, 0x12, 0x04, 0xff, 0x02, - 0x0f, 0x11, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x0a, 0x12, 0x04, 0x80, 0x03, 0x02, 0x25, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x0a, 0x00, 0x12, 0x04, 0x80, 0x03, 0x0b, 0x14, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x80, 0x03, 0x16, 0x24, 0x0a, 0x5b, 0x0a, 0x02, 0x04, - 0x05, 0x12, 0x06, 0x85, 0x03, 0x00, 0x98, 0x03, 0x01, 0x1a, 0x4d, 0x20, 0x50, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x2d, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x0a, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, - 0x04, 0x85, 0x03, 0x08, 0x17, 0x0a, 0xfb, 0x03, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, - 0x94, 0x03, 0x02, 0x18, 0x1a, 0xec, 0x03, 0x20, 0x60, 0x63, 0x65, 0x6c, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x20, 0x61, 0x20, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x65, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, - 0x29, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x0a, - 0x20, 0x5b, 0x73, 0x65, 0x65, 0x20, 0x6f, 0x75, 0x72, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x62, 0x75, 0x66, 0x2e, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x34, 0x32, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x64, 0x3a, 0x20, 0x22, 0x6d, 0x79, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x3a, 0x20, 0x22, 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, 0x34, 0x32, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3e, 0x20, 0x34, - 0x32, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, 0x04, 0x94, 0x03, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, 0x03, 0x0b, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x03, 0x10, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x03, 0x16, 0x17, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x09, 0x12, 0x04, 0x96, 0x03, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x05, 0x09, 0x00, 0x12, 0x04, 0x96, 0x03, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x09, 0x00, 0x01, 0x12, 0x04, 0x96, 0x03, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, - 0x00, 0x02, 0x12, 0x04, 0x96, 0x03, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x09, 0x01, - 0x12, 0x04, 0x96, 0x03, 0x0f, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, 0x01, 0x01, 0x12, - 0x04, 0x96, 0x03, 0x0f, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, 0x01, 0x02, 0x12, 0x04, - 0x96, 0x03, 0x0f, 0x11, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x0a, 0x12, 0x04, 0x97, 0x03, 0x02, - 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x0a, 0x00, 0x12, 0x04, 0x97, 0x03, 0x0b, 0x14, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x0a, 0x01, 0x12, 0x04, 0x97, 0x03, 0x16, 0x24, 0x0a, 0x82, 0x01, - 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0x9c, 0x03, 0x00, 0xf4, 0x03, 0x01, 0x1a, 0x74, 0x20, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x60, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x60, - 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x65, 0x73, 0x2c, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x77, - 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x03, 0x05, 0x0b, 0x0a, - 0x94, 0x0a, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x03, 0x02, 0x19, 0x1a, 0x85, - 0x0a, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x69, 0x73, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x0a, 0x20, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, 0x6d, 0x65, 0x6d, 0x62, 0x65, - 0x72, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x20, 0x60, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x60, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2e, 0x20, - 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x0a, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, - 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3d, 0x22, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, 0x22, 0x3b, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x61, 0x73, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, - 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, - 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x69, 0x66, 0x0a, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x73, 0x65, 0x74, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x3d, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x22, - 0x3b, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x49, 0x66, 0x53, 0x65, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x66, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, - 0x75, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, - 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x53, 0x6f, 0x6d, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x6d, 0x73, 0x67, 0x20, 0x3d, 0x20, 0x34, 0x20, 0x5b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, - 0x2f, 0x2a, 0x20, 0x2e, 0x2e, 0x2e, 0x20, 0x2a, 0x2f, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x54, 0x6f, 0x20, 0x65, 0x6e, - 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x61, - 0x64, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x60, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x6f, 0x20, 0x6c, 0x65, 0x61, - 0x72, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, - 0x73, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x5b, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x50, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x63, 0x68, 0x65, 0x61, 0x74, 0x20, 0x73, - 0x68, 0x65, 0x65, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x2d, 0x67, 0x75, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x23, 0x63, 0x68, - 0x65, 0x61, 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xd0, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, - 0xd0, 0x03, 0x17, 0x18, 0x0a, 0xc9, 0x05, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xe0, - 0x03, 0x02, 0x1b, 0x1a, 0xba, 0x05, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3a, - 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2c, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6e, - 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x7a, 0x65, 0x72, 0x6f, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x6e, 0x75, - 0x6d, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x61, - 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x7a, 0x65, - 0x72, 0x6f, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6d, - 0x61, 0x70, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, 0x61, 0x62, 0x73, 0x65, 0x6e, - 0x63, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x28, 0x74, 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x20, 0x6e, - 0x75, 0x6c, 0x6c, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x20, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x61, 0x64, 0x64, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x60, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, 0x29, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x2d, 0x6f, - 0x70, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x69, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x60, 0x49, 0x47, 0x4e, 0x4f, 0x52, - 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x60, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe0, 0x03, 0x02, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xe0, 0x03, 0x19, 0x1a, 0x0a, 0x99, - 0x03, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x14, 0x1a, 0x8a, 0x03, - 0x20, 0x41, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x74, 0x65, 0x6d, - 0x70, 0x6f, 0x72, 0x61, 0x72, 0x69, 0x6c, 0x79, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x76, - 0x65, 0x6c, 0x6f, 0x70, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x27, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x4d, 0x79, 0x4f, 0x74, 0x68, 0x65, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x3d, 0x20, 0x49, 0x47, - 0x4e, 0x4f, 0x52, 0x45, 0x5f, 0x41, 0x4c, 0x57, 0x41, 0x59, 0x53, 0x0a, 0x20, 0x20, 0x20, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x02, 0x02, 0x12, 0x04, 0xf0, 0x03, 0x12, 0x13, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x04, 0x12, - 0x04, 0xf2, 0x03, 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x04, 0x00, 0x12, 0x04, 0xf2, - 0x03, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x04, 0x00, 0x01, 0x12, 0x04, 0xf2, 0x03, - 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x04, 0x00, 0x02, 0x12, 0x04, 0xf2, 0x03, 0x0b, - 0x0c, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x05, 0x12, 0x04, 0xf3, 0x03, 0x02, 0x60, 0x0a, 0x0c, - 0x0a, 0x04, 0x05, 0x00, 0x05, 0x00, 0x12, 0x04, 0xf3, 0x03, 0x0b, 0x19, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x00, 0x05, 0x01, 0x12, 0x04, 0xf3, 0x03, 0x1b, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, - 0x05, 0x02, 0x12, 0x04, 0xf3, 0x03, 0x2d, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x05, 0x03, - 0x12, 0x04, 0xf3, 0x03, 0x48, 0x5f, 0x0a, 0xa0, 0x01, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xf8, - 0x03, 0x00, 0xcd, 0x05, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, - 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, - 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, - 0x12, 0x04, 0xf8, 0x03, 0x08, 0x12, 0x0a, 0x9b, 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, - 0x06, 0x82, 0x04, 0x02, 0x85, 0x04, 0x05, 0x1a, 0x8a, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x2e, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x04, 0x82, - 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0x82, 0x04, - 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x82, 0x04, 0x11, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x82, 0x04, 0x19, 0x1a, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x06, 0x82, 0x04, 0x1b, 0x85, 0x04, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0x82, 0x04, 0x1c, 0x85, 0x04, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x83, 0x04, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x84, 0x04, 0x04, 0x72, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x06, 0x08, 0x00, 0x12, 0x06, 0x87, 0x04, 0x02, 0xa9, 0x04, 0x03, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x08, 0x00, 0x01, 0x12, 0x04, 0x87, 0x04, 0x08, 0x11, 0x0a, 0xce, 0x02, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x06, 0x92, 0x04, 0x04, 0x97, 0x04, 0x07, 0x1a, 0xbd, - 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, - 0x30, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x92, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x92, 0x04, 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x92, 0x04, 0x0f, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x01, 0x08, 0x12, 0x06, 0x92, 0x04, 0x11, 0x97, 0x04, 0x06, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x06, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x92, 0x04, 0x12, 0x97, 0x04, - 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0x93, 0x04, 0x06, 0x14, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x01, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x06, 0x94, 0x04, 0x06, 0x96, 0x04, 0x40, 0x0a, 0xdd, 0x02, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x02, 0x12, 0x06, 0xa3, 0x04, 0x04, 0xa8, 0x04, 0x07, 0x1a, 0xcc, 0x02, 0x20, - 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x2e, 0x30, - 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa3, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xa3, 0x04, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, - 0x08, 0x12, 0x06, 0xa3, 0x04, 0x12, 0xa8, 0x04, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, - 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa3, 0x04, 0x13, 0xa8, 0x04, 0x05, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa4, 0x04, - 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x06, 0xa5, 0x04, 0x06, 0xa7, 0x04, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x06, 0x08, 0x01, - 0x12, 0x06, 0xab, 0x04, 0x02, 0x91, 0x05, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x08, 0x01, - 0x01, 0x12, 0x04, 0xab, 0x04, 0x08, 0x14, 0x0a, 0x92, 0x06, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, - 0x12, 0x06, 0xbe, 0x04, 0x04, 0xdd, 0x04, 0x06, 0x1a, 0x81, 0x06, 0x20, 0x60, 0x67, 0x74, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, - 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, - 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, - 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x5d, 0x3b, - 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x20, 0x5b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, - 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x3a, 0x20, 0x35, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x66, 0x6c, 0x6f, 0x61, - 0x74, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, - 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x2e, 0x30, 0x20, - 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbe, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbe, 0x04, 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xbe, 0x04, 0x0f, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x03, 0x08, 0x12, 0x06, 0xbe, 0x04, 0x11, 0xdd, 0x04, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xbf, 0x04, 0x06, 0xc4, 0x04, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc0, - 0x04, 0x08, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x06, 0xc1, 0x04, 0x08, 0xc3, 0x04, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xc5, 0x04, 0x06, 0xca, 0x04, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x04, - 0x08, 0x19, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, - 0x12, 0x06, 0xc7, 0x04, 0x08, 0xc9, 0x04, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xcb, 0x04, 0x06, 0xd0, 0x04, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xcc, 0x04, 0x08, - 0x23, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, - 0x06, 0xcd, 0x04, 0x08, 0xcf, 0x04, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xd1, 0x04, 0x06, 0xd6, 0x04, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x04, 0x08, 0x1a, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, - 0xd3, 0x04, 0x08, 0xd5, 0x04, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x04, 0x12, 0x06, 0xd7, 0x04, 0x06, 0xdc, 0x04, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xd8, 0x04, 0x08, 0x24, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xd9, - 0x04, 0x08, 0xdb, 0x04, 0x6c, 0x0a, 0xce, 0x06, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x06, - 0xf1, 0x04, 0x04, 0x90, 0x05, 0x06, 0x1a, 0xbd, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, - 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, - 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, - 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, - 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, - 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, - 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, - 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x35, 0x2e, 0x30, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x20, - 0x5b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2e, 0x30, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x2e, - 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, - 0x2e, 0x30, 0x20, 0x5b, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, - 0x61, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x2e, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x05, 0x12, - 0x04, 0xf1, 0x04, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, 0x04, - 0xf1, 0x04, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf1, - 0x04, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x08, 0x12, 0x06, 0xf1, 0x04, - 0x12, 0x90, 0x05, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xf2, 0x04, 0x06, 0xf7, 0x04, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x04, 0x08, 0x17, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xf4, 0x04, 0x08, - 0xf6, 0x04, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x12, 0x06, 0xf8, 0x04, 0x06, 0xfd, 0x04, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xf9, 0x04, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xfa, 0x04, 0x08, 0xfc, - 0x04, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, - 0x06, 0xfe, 0x04, 0x06, 0x83, 0x05, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xff, 0x04, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0x80, 0x05, 0x08, 0x82, 0x05, - 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, - 0x84, 0x05, 0x06, 0x89, 0x05, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0x85, 0x05, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0x86, 0x05, 0x08, 0x88, 0x05, 0x7a, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0x8a, - 0x05, 0x06, 0x8f, 0x05, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x04, 0x01, 0x12, 0x04, 0x8b, 0x05, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x06, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0x8c, 0x05, 0x08, 0x8e, 0x05, 0x79, 0x0a, - 0xd0, 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, 0x12, 0x06, 0x9d, 0x05, 0x02, 0xa0, 0x05, 0x05, - 0x1a, 0xbf, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, - 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, 0x2e, 0x30, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, - 0x20, 0x33, 0x2e, 0x30, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x04, 0x12, 0x04, 0x9d, 0x05, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x05, 0x12, 0x04, 0x9d, 0x05, 0x0b, 0x10, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x05, 0x11, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9d, 0x05, 0x16, 0x17, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x08, 0x12, 0x06, 0x9d, 0x05, 0x18, 0xa0, 0x05, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9d, 0x05, - 0x19, 0xa0, 0x05, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x9e, 0x05, 0x04, 0x12, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x9f, 0x05, 0x04, 0x74, 0x0a, 0xd9, 0x02, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x06, 0xac, 0x05, 0x02, 0xaf, 0x05, 0x05, 0x1a, 0xc8, 0x02, - 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, 0x2e, 0x30, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2e, 0x30, - 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, 0x2e, 0x30, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, - 0x04, 0x12, 0x04, 0xac, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, - 0x12, 0x04, 0xac, 0x05, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xac, 0x05, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xac, 0x05, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x08, 0x12, 0x06, 0xac, - 0x05, 0x1c, 0xaf, 0x05, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x06, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xac, 0x05, 0x1d, 0xaf, 0x05, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xad, 0x05, 0x04, 0x16, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xae, 0x05, - 0x04, 0x63, 0x0a, 0x88, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x06, 0xb3, 0x05, 0x02, - 0xb6, 0x05, 0x05, 0x1a, 0x78, 0x20, 0x60, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x60, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x69, 0x6e, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x4e, 0x61, 0x4e, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x07, 0x04, 0x12, 0x04, 0xb3, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x07, 0x05, 0x12, 0x04, 0xb3, 0x05, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x07, 0x01, 0x12, 0x04, 0xb3, 0x05, 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x07, 0x03, 0x12, 0x04, 0xb3, 0x05, 0x19, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x07, 0x08, 0x12, 0x06, 0xb3, 0x05, 0x1b, 0xb6, 0x05, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x06, - 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb3, 0x05, 0x1c, 0xb6, 0x05, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb4, - 0x05, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xb5, 0x05, 0x04, 0x62, 0x0a, 0x86, 0x03, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x08, - 0x12, 0x06, 0xc4, 0x05, 0x02, 0xc7, 0x05, 0x05, 0x1a, 0xf5, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, - 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, - 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, - 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x6c, 0x6f, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x2e, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x6c, - 0x6f, 0x61, 0x74, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6e, - 0x66, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x04, 0x12, 0x04, 0xc4, 0x05, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x05, 0x12, 0x04, 0xc4, 0x05, 0x0b, 0x10, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x01, 0x12, 0x04, 0xc4, 0x05, 0x11, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x08, 0x03, 0x12, 0x04, 0xc4, 0x05, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x08, 0x08, 0x12, 0x06, 0xc4, 0x05, 0x1d, 0xc7, 0x05, 0x04, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x06, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc4, 0x05, 0x1e, 0xc7, - 0x05, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xc5, 0x05, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x06, 0x02, 0x08, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x05, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, - 0x06, 0x05, 0x12, 0x04, 0xcc, 0x05, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x05, 0x00, 0x12, 0x04, 0xcc, - 0x05, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x05, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x05, - 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x05, 0x00, 0x02, 0x12, 0x04, 0xcc, 0x05, 0x15, - 0x18, 0x0a, 0xa3, 0x01, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xd1, 0x05, 0x00, 0xa3, 0x07, 0x01, - 0x1a, 0x94, 0x01, 0x20, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, - 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, - 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, - 0xd1, 0x05, 0x08, 0x13, 0x0a, 0x9e, 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x06, 0xdb, - 0x05, 0x02, 0xde, 0x05, 0x05, 0x1a, 0x8d, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, - 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, - 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x04, - 0xdb, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdb, - 0x05, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x05, - 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x05, 0x1a, - 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x06, 0xdb, 0x05, 0x1c, 0xde, - 0x05, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xdb, 0x05, 0x1d, 0xde, 0x05, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x05, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x07, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x05, 0x04, 0x72, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x07, 0x08, 0x00, 0x12, 0x06, 0xdf, 0x05, 0x02, 0x81, 0x06, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x08, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x05, 0x08, 0x11, 0x0a, 0xd1, - 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x06, 0xea, 0x05, 0x04, 0xef, 0x05, 0x07, 0x1a, - 0xc0, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x74, - 0x20, 0x3d, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xea, 0x05, 0x04, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xea, 0x05, 0x0b, 0x0d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xea, 0x05, 0x10, 0x11, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x06, 0xea, 0x05, 0x12, 0xef, 0x05, 0x06, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xea, - 0x05, 0x13, 0xef, 0x05, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x01, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x05, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, - 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xec, 0x05, 0x06, 0xee, 0x05, 0x40, 0x0a, - 0xe0, 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x06, 0xfb, 0x05, 0x04, 0x80, 0x06, 0x07, - 0x1a, 0xcf, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x0a, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x2e, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x64, - 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x04, 0xfb, 0x05, 0x04, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x05, 0x0b, 0x0e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfb, 0x05, 0x11, 0x12, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, 0x06, 0xfb, 0x05, 0x13, 0x80, 0x06, 0x06, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xfb, - 0x05, 0x14, 0x80, 0x06, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x02, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xfc, 0x05, 0x06, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, - 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xfd, 0x05, 0x06, 0xff, 0x05, 0x4d, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x07, 0x08, 0x01, 0x12, 0x06, 0x82, 0x06, 0x02, 0xe8, 0x06, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x08, 0x01, 0x01, 0x12, 0x04, 0x82, 0x06, 0x08, 0x14, 0x0a, 0x9c, - 0x06, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x06, 0x95, 0x06, 0x04, 0xb4, 0x06, 0x06, 0x1a, - 0x8b, 0x06, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, - 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, - 0x74, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, - 0x20, 0x35, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x20, 0x7d, - 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x6e, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x2e, 0x30, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x04, 0x95, 0x06, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0x95, 0x06, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x03, 0x03, 0x12, 0x04, 0x95, 0x06, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x03, 0x08, 0x12, 0x06, 0x95, 0x06, 0x12, 0xb4, 0x06, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x96, 0x06, 0x06, 0x9b, 0x06, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0x97, 0x06, 0x08, 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x06, 0x98, 0x06, 0x08, 0x9a, 0x06, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x9c, 0x06, 0x06, 0xa1, 0x06, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x9d, - 0x06, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x03, 0x12, 0x06, 0x9e, 0x06, 0x08, 0xa0, 0x06, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xa2, 0x06, 0x06, 0xa7, 0x06, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x06, - 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, - 0x12, 0x06, 0xa4, 0x06, 0x08, 0xa6, 0x06, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xa8, 0x06, 0x06, 0xad, 0x06, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xa9, 0x06, 0x08, - 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, - 0x06, 0xaa, 0x06, 0x08, 0xac, 0x06, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xae, 0x06, 0x06, 0xb3, 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xaf, 0x06, 0x08, 0x25, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, - 0xb0, 0x06, 0x08, 0xb2, 0x06, 0x6c, 0x0a, 0xd8, 0x06, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x04, 0x12, - 0x06, 0xc8, 0x06, 0x04, 0xe7, 0x06, 0x06, 0x1a, 0xc7, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, - 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, - 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, - 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x2e, 0x30, 0x5d, 0x3b, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x2e, - 0x30, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x31, 0x30, 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, - 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x2e, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x2e, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x2e, 0x30, 0x20, 0x5b, 0x64, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x61, - 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2e, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, - 0x20, 0x35, 0x2e, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc8, 0x06, 0x04, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc8, 0x06, 0x0b, 0x0e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc8, 0x06, 0x11, 0x12, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x08, 0x12, 0x06, 0xc8, 0x06, 0x13, 0xe7, 0x06, 0x05, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc9, 0x06, - 0x06, 0xce, 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xca, 0x06, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xcb, 0x06, 0x08, 0xcd, 0x06, 0x52, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xcf, 0x06, 0x06, - 0xd4, 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x01, 0x12, 0x04, 0xd0, 0x06, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xd1, 0x06, 0x08, 0xd3, 0x06, 0x6d, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xd5, 0x06, 0x06, 0xda, - 0x06, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, - 0x12, 0x04, 0xd6, 0x06, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xd7, 0x06, 0x08, 0xd9, 0x06, 0x6c, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xdb, 0x06, 0x06, 0xe0, 0x06, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, - 0x04, 0xdc, 0x06, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x03, 0x12, 0x06, 0xdd, 0x06, 0x08, 0xdf, 0x06, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xe1, 0x06, 0x06, 0xe6, 0x06, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, - 0xe2, 0x06, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x03, 0x12, 0x06, 0xe3, 0x06, 0x08, 0xe5, 0x06, 0x79, 0x0a, 0xd3, 0x02, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x05, 0x12, 0x06, 0xf3, 0x06, 0x02, 0xf6, 0x06, 0x05, 0x1a, 0xc2, 0x02, 0x20, 0x60, - 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, - 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2e, 0x30, 0x2c, - 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, 0x2e, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, - 0x2e, 0x30, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x04, 0x12, 0x04, 0xf3, 0x06, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x05, 0x12, 0x04, 0xf3, 0x06, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x01, 0x12, 0x04, 0xf3, 0x06, 0x12, 0x14, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x05, 0x03, 0x12, 0x04, 0xf3, 0x06, 0x17, 0x18, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x05, 0x08, 0x12, 0x06, 0xf3, 0x06, 0x19, 0xf6, 0x06, 0x04, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x07, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf3, 0x06, 0x1a, 0xf6, - 0x06, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xf4, 0x06, 0x04, 0x13, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x05, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf5, 0x06, 0x04, 0x74, 0x0a, 0xe0, 0x02, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x06, 0x12, 0x06, 0x82, 0x07, 0x02, 0x85, 0x07, 0x05, 0x1a, 0xcf, 0x02, 0x20, 0x60, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, 0x62, 0x6c, - 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, - 0x2e, 0x30, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, - 0x75, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, - 0x20, 0x5b, 0x31, 0x2e, 0x30, 0x2c, 0x20, 0x32, 0x2e, 0x30, 0x2c, 0x20, 0x33, 0x2e, 0x30, 0x5d, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x06, 0x04, 0x12, 0x04, 0x82, 0x07, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x06, 0x05, 0x12, 0x04, 0x82, 0x07, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x06, 0x01, 0x12, 0x04, 0x82, 0x07, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x06, 0x03, 0x12, 0x04, 0x82, 0x07, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x06, 0x08, 0x12, 0x06, 0x82, 0x07, 0x1d, 0x85, 0x07, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x82, 0x07, 0x1e, 0x85, 0x07, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x83, - 0x07, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0x84, 0x07, 0x04, 0x63, 0x0a, 0x88, 0x01, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x07, - 0x12, 0x06, 0x89, 0x07, 0x02, 0x8c, 0x07, 0x05, 0x1a, 0x78, 0x20, 0x60, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x0a, 0x20, 0x69, 0x6e, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x4e, 0x61, - 0x4e, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x04, 0x12, 0x04, 0x89, 0x07, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x05, 0x12, 0x04, 0x89, 0x07, 0x0b, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x01, 0x12, 0x04, 0x89, 0x07, 0x10, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x03, 0x12, 0x04, 0x89, 0x07, 0x19, 0x1a, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x08, 0x12, 0x06, 0x89, 0x07, 0x1b, 0x8c, 0x07, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x89, 0x07, - 0x1c, 0x8c, 0x07, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x8a, 0x07, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x8b, 0x07, 0x04, 0x62, 0x0a, 0x8a, 0x03, 0x0a, - 0x04, 0x04, 0x07, 0x02, 0x08, 0x12, 0x06, 0x9a, 0x07, 0x02, 0x9d, 0x07, 0x05, 0x1a, 0xf9, 0x02, - 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, - 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, - 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, - 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x6f, 0x75, - 0x62, 0x6c, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2e, 0x30, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x69, 0x6e, 0x66, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x08, 0x04, 0x12, 0x04, 0x9a, 0x07, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x08, - 0x05, 0x12, 0x04, 0x9a, 0x07, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x08, 0x01, - 0x12, 0x04, 0x9a, 0x07, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x08, 0x03, 0x12, - 0x04, 0x9a, 0x07, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x08, 0x08, 0x12, 0x06, - 0x9a, 0x07, 0x1e, 0x9d, 0x07, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x08, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0x9a, 0x07, 0x1f, 0x9d, 0x07, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x07, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x07, 0x04, 0x18, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x9c, - 0x07, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x07, 0x05, 0x12, 0x04, 0xa2, 0x07, 0x02, - 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x07, 0x05, 0x00, 0x12, 0x04, 0xa2, 0x07, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x05, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x07, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x05, 0x00, 0x02, 0x12, 0x04, 0xa2, 0x07, 0x15, 0x18, 0x0a, 0xa0, 0x01, 0x0a, 0x02, 0x04, - 0x08, 0x12, 0x06, 0xa7, 0x07, 0x00, 0xf3, 0x08, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x60, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, - 0x2d, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xa7, 0x07, 0x08, 0x12, 0x0a, 0x97, 0x02, 0x0a, 0x04, 0x04, - 0x08, 0x02, 0x00, 0x12, 0x06, 0xb1, 0x07, 0x02, 0xb4, 0x07, 0x05, 0x1a, 0x86, 0x02, 0x20, 0x60, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, - 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x04, 0x12, 0x04, 0xb1, - 0x07, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb1, 0x07, - 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb1, 0x07, 0x11, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb1, 0x07, 0x19, 0x1a, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb1, 0x07, 0x1b, 0xb4, 0x07, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xb1, 0x07, 0x1c, 0xb4, 0x07, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x07, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xb3, 0x07, 0x04, 0x72, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x08, 0x08, 0x00, 0x12, 0x06, 0xb5, 0x07, 0x02, 0xd7, 0x07, 0x03, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x08, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x07, 0x08, 0x11, 0x0a, 0xca, 0x02, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x06, 0xc0, 0x07, 0x04, 0xc5, 0x07, 0x07, 0x1a, 0xb9, - 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x3c, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xc0, 0x07, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xc0, 0x07, 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xc0, 0x07, 0x0f, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, - 0x12, 0x06, 0xc0, 0x07, 0x11, 0xc5, 0x07, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc0, 0x07, 0x12, 0xc5, 0x07, 0x05, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x08, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x07, 0x06, - 0x14, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0xc2, 0x07, 0x06, 0xc4, 0x07, 0x40, 0x0a, 0xd9, 0x02, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, - 0x12, 0x06, 0xd1, 0x07, 0x04, 0xd6, 0x07, 0x07, 0x1a, 0xc8, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd1, 0x07, - 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x07, 0x0a, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd1, 0x07, 0x10, 0x11, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x08, 0x12, 0x06, 0xd1, 0x07, 0x12, 0xd6, 0x07, - 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xd1, 0x07, 0x13, 0xd6, 0x07, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd2, 0x07, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, - 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xd3, 0x07, 0x06, 0xd5, 0x07, 0x4d, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x01, 0x12, 0x06, 0xd8, 0x07, 0x02, 0xbe, 0x08, 0x03, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x01, 0x01, 0x12, 0x04, 0xd8, 0x07, 0x08, 0x14, 0x0a, - 0x82, 0x06, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x06, 0xeb, 0x07, 0x04, 0x8a, 0x08, 0x06, - 0x1a, 0xf1, 0x05, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, - 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, - 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, - 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x20, 0x3d, - 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, - 0x20, 0x67, 0x74, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, - 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, - 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xeb, - 0x07, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xeb, 0x07, - 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xeb, 0x07, 0x0f, - 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x08, 0x12, 0x06, 0xeb, 0x07, 0x11, 0x8a, - 0x08, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xec, 0x07, 0x06, 0xf1, 0x07, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xed, 0x07, 0x08, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xee, 0x07, 0x08, 0xf0, 0x07, - 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, - 0xf2, 0x07, 0x06, 0xf7, 0x07, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xf3, 0x07, 0x08, 0x19, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xf4, 0x07, 0x08, 0xf6, 0x07, 0x60, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xf8, - 0x07, 0x06, 0xfd, 0x07, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x01, 0x12, 0x04, 0xf9, 0x07, 0x08, 0x23, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xfa, 0x07, 0x08, 0xfc, 0x07, 0x5f, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xfe, 0x07, - 0x06, 0x83, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x01, 0x12, 0x04, 0xff, 0x07, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0x80, 0x08, 0x08, 0x82, 0x08, 0x6d, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0x84, 0x08, 0x06, - 0x89, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x01, 0x12, 0x04, 0x85, 0x08, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0x86, 0x08, 0x08, 0x88, 0x08, 0x6c, 0x0a, 0xba, 0x06, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x06, 0x9e, 0x08, 0x04, 0xbd, 0x08, 0x06, 0x1a, 0xa9, - 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 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, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, - 0x5b, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, - 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x04, 0x05, 0x12, 0x04, 0x9e, 0x08, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x04, 0x01, 0x12, 0x04, 0x9e, 0x08, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, - 0x03, 0x12, 0x04, 0x9e, 0x08, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x08, - 0x12, 0x06, 0x9e, 0x08, 0x12, 0xbd, 0x08, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9f, 0x08, 0x06, 0xa4, 0x08, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa0, 0x08, 0x08, - 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0xa1, 0x08, 0x08, 0xa3, 0x08, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xa5, 0x08, 0x06, 0xaa, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x08, 0x08, 0x1a, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, - 0xa7, 0x08, 0x08, 0xa9, 0x08, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x12, 0x06, 0xab, 0x08, 0x06, 0xb0, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xac, 0x08, 0x08, 0x24, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xad, - 0x08, 0x08, 0xaf, 0x08, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x12, 0x06, 0xb1, 0x08, 0x06, 0xb6, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xb2, 0x08, 0x08, 0x1b, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xb3, 0x08, - 0x08, 0xb5, 0x08, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x12, 0x06, 0xb7, 0x08, 0x06, 0xbc, 0x08, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xb8, 0x08, 0x08, 0x25, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x08, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xb9, 0x08, 0x08, - 0xbb, 0x08, 0x79, 0x0a, 0xc4, 0x02, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, 0x12, 0x06, 0xca, 0x08, - 0x02, 0xcd, 0x08, 0x05, 0x1a, 0xb3, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x05, 0x04, 0x12, 0x04, 0xca, 0x08, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x05, 0x05, 0x12, 0x04, 0xca, 0x08, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, - 0x01, 0x12, 0x04, 0xca, 0x08, 0x11, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x03, - 0x12, 0x04, 0xca, 0x08, 0x16, 0x17, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x08, 0x12, - 0x06, 0xca, 0x08, 0x18, 0xcd, 0x08, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x05, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xca, 0x08, 0x19, 0xcd, 0x08, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x08, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x08, 0x04, 0x12, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xcc, 0x08, 0x04, 0x74, 0x0a, 0xd1, 0x02, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x06, 0x12, 0x06, 0xd9, - 0x08, 0x02, 0xdc, 0x08, 0x05, 0x1a, 0xc0, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, - 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, - 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, - 0x04, 0x12, 0x04, 0xd9, 0x08, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x05, - 0x12, 0x04, 0xd9, 0x08, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xd9, 0x08, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xd9, 0x08, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, 0x12, 0x06, 0xd9, - 0x08, 0x1c, 0xdc, 0x08, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x06, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xd9, 0x08, 0x1d, 0xdc, 0x08, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x08, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xda, 0x08, 0x04, 0x16, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x08, - 0x04, 0x63, 0x0a, 0x84, 0x03, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x07, 0x12, 0x06, 0xea, 0x08, 0x02, - 0xed, 0x08, 0x05, 0x1a, 0xf3, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, - 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, - 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x07, 0x04, 0x12, 0x04, 0xea, 0x08, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, - 0x05, 0x12, 0x04, 0xea, 0x08, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x01, - 0x12, 0x04, 0xea, 0x08, 0x11, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x03, 0x12, - 0x04, 0xea, 0x08, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x08, 0x12, 0x06, - 0xea, 0x08, 0x1d, 0xed, 0x08, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x08, 0x02, 0x07, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xea, 0x08, 0x1e, 0xed, 0x08, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x08, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x08, 0x04, 0x17, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x08, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xec, - 0x08, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x08, 0x05, 0x12, 0x04, 0xf2, 0x08, 0x02, - 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x08, 0x05, 0x00, 0x12, 0x04, 0xf2, 0x08, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x05, 0x00, 0x01, 0x12, 0x04, 0xf2, 0x08, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x05, 0x00, 0x02, 0x12, 0x04, 0xf2, 0x08, 0x15, 0x18, 0x0a, 0xa0, 0x01, 0x0a, 0x02, 0x04, - 0x09, 0x12, 0x06, 0xf7, 0x08, 0x00, 0xc3, 0x0a, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x60, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, - 0x2d, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xf7, 0x08, 0x08, 0x12, 0x0a, 0x97, 0x02, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x00, 0x12, 0x06, 0x81, 0x09, 0x02, 0x84, 0x09, 0x05, 0x1a, 0x86, 0x02, 0x20, 0x60, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, - 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x81, - 0x09, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0x81, 0x09, - 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x81, 0x09, 0x11, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x81, 0x09, 0x19, 0x1a, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x06, 0x81, 0x09, 0x1b, 0x84, 0x09, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0x81, 0x09, 0x1c, 0x84, 0x09, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x82, 0x09, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x83, 0x09, 0x04, 0x72, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x09, 0x08, 0x00, 0x12, 0x06, 0x85, 0x09, 0x02, 0xa7, 0x09, 0x03, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x08, 0x00, 0x01, 0x12, 0x04, 0x85, 0x09, 0x08, 0x11, 0x0a, 0xca, 0x02, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x06, 0x90, 0x09, 0x04, 0x95, 0x09, 0x07, 0x1a, 0xb9, - 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x90, 0x09, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x90, 0x09, 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x90, 0x09, 0x0f, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, - 0x12, 0x06, 0x90, 0x09, 0x11, 0x95, 0x09, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x90, 0x09, 0x12, 0x95, 0x09, 0x05, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x91, 0x09, 0x06, - 0x14, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0x92, 0x09, 0x06, 0x94, 0x09, 0x40, 0x0a, 0xd9, 0x02, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, - 0x12, 0x06, 0xa1, 0x09, 0x04, 0xa6, 0x09, 0x07, 0x1a, 0xc8, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa1, 0x09, - 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x09, 0x0a, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa1, 0x09, 0x10, 0x11, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x08, 0x12, 0x06, 0xa1, 0x09, 0x12, 0xa6, 0x09, - 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xa1, 0x09, 0x13, 0xa6, 0x09, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x09, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, - 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xa3, 0x09, 0x06, 0xa5, 0x09, 0x4d, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x09, 0x08, 0x01, 0x12, 0x06, 0xa8, 0x09, 0x02, 0x8e, 0x0a, 0x03, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x08, 0x01, 0x01, 0x12, 0x04, 0xa8, 0x09, 0x08, 0x14, 0x0a, - 0x82, 0x06, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x06, 0xbb, 0x09, 0x04, 0xda, 0x09, 0x06, - 0x1a, 0xf1, 0x05, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, - 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, - 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, - 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, - 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x20, 0x3d, - 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, - 0x20, 0x67, 0x74, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, - 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, - 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbb, - 0x09, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbb, 0x09, - 0x0a, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xbb, 0x09, 0x0f, - 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x08, 0x12, 0x06, 0xbb, 0x09, 0x11, 0xda, - 0x09, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xbc, 0x09, 0x06, 0xc1, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbd, 0x09, 0x08, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xbe, 0x09, 0x08, 0xc0, 0x09, - 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, - 0xc2, 0x09, 0x06, 0xc7, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc3, 0x09, 0x08, 0x19, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xc4, 0x09, 0x08, 0xc6, 0x09, 0x60, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xc8, - 0x09, 0x06, 0xcd, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x01, 0x12, 0x04, 0xc9, 0x09, 0x08, 0x23, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xca, 0x09, 0x08, 0xcc, 0x09, 0x5f, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xce, 0x09, - 0x06, 0xd3, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x01, 0x12, 0x04, 0xcf, 0x09, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xd0, 0x09, 0x08, 0xd2, 0x09, 0x6d, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xd4, 0x09, 0x06, - 0xd9, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x01, 0x12, 0x04, 0xd5, 0x09, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xd6, 0x09, 0x08, 0xd8, 0x09, 0x6c, 0x0a, 0xba, 0x06, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x04, 0x12, 0x06, 0xee, 0x09, 0x04, 0x8d, 0x0a, 0x06, 0x1a, 0xa9, - 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 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, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, - 0x5b, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, - 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x04, 0x05, 0x12, 0x04, 0xee, 0x09, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xee, 0x09, 0x0a, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xee, 0x09, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x08, - 0x12, 0x06, 0xee, 0x09, 0x12, 0x8d, 0x0a, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xef, 0x09, 0x06, 0xf4, 0x09, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x09, 0x08, - 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0xf1, 0x09, 0x08, 0xf3, 0x09, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xf5, 0x09, 0x06, 0xfa, 0x09, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xf6, 0x09, 0x08, 0x1a, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, - 0xf7, 0x09, 0x08, 0xf9, 0x09, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x12, 0x06, 0xfb, 0x09, 0x06, 0x80, 0x0a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xfc, 0x09, 0x08, 0x24, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xfd, - 0x09, 0x08, 0xff, 0x09, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x12, 0x06, 0x81, 0x0a, 0x06, 0x86, 0x0a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0x82, 0x0a, 0x08, 0x1b, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0x83, 0x0a, - 0x08, 0x85, 0x0a, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x12, 0x06, 0x87, 0x0a, 0x06, 0x8c, 0x0a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0x88, 0x0a, 0x08, 0x25, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x09, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0x89, 0x0a, 0x08, - 0x8b, 0x0a, 0x79, 0x0a, 0xc4, 0x02, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x05, 0x12, 0x06, 0x9a, 0x0a, - 0x02, 0x9d, 0x0a, 0x05, 0x1a, 0xb3, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x05, 0x04, 0x12, 0x04, 0x9a, 0x0a, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x05, 0x05, 0x12, 0x04, 0x9a, 0x0a, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, - 0x01, 0x12, 0x04, 0x9a, 0x0a, 0x11, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x03, - 0x12, 0x04, 0x9a, 0x0a, 0x16, 0x17, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x05, 0x08, 0x12, - 0x06, 0x9a, 0x0a, 0x18, 0x9d, 0x0a, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x05, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9a, 0x0a, 0x19, 0x9d, 0x0a, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x09, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x0a, 0x04, 0x12, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0x9c, 0x0a, 0x04, 0x74, 0x0a, 0xd1, 0x02, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x06, 0x12, 0x06, 0xa9, - 0x0a, 0x02, 0xac, 0x0a, 0x05, 0x1a, 0xc0, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, - 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, - 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, - 0x04, 0x12, 0x04, 0xa9, 0x0a, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x05, - 0x12, 0x04, 0xa9, 0x0a, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xa9, 0x0a, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xa9, 0x0a, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x08, 0x12, 0x06, 0xa9, - 0x0a, 0x1c, 0xac, 0x0a, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x06, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xa9, 0x0a, 0x1d, 0xac, 0x0a, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x0a, 0x04, 0x16, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xab, 0x0a, - 0x04, 0x63, 0x0a, 0x84, 0x03, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x07, 0x12, 0x06, 0xba, 0x0a, 0x02, - 0xbd, 0x0a, 0x05, 0x1a, 0xf3, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, - 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, - 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x07, 0x04, 0x12, 0x04, 0xba, 0x0a, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, - 0x05, 0x12, 0x04, 0xba, 0x0a, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x01, - 0x12, 0x04, 0xba, 0x0a, 0x11, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x03, 0x12, - 0x04, 0xba, 0x0a, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x07, 0x08, 0x12, 0x06, - 0xba, 0x0a, 0x1d, 0xbd, 0x0a, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x07, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xba, 0x0a, 0x1e, 0xbd, 0x0a, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x09, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x0a, 0x04, 0x17, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xbc, - 0x0a, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x09, 0x05, 0x12, 0x04, 0xc2, 0x0a, 0x02, - 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x09, 0x05, 0x00, 0x12, 0x04, 0xc2, 0x0a, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x05, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x0a, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x05, 0x00, 0x02, 0x12, 0x04, 0xc2, 0x0a, 0x15, 0x18, 0x0a, 0xa3, 0x01, 0x0a, 0x02, 0x04, - 0x0a, 0x12, 0x06, 0xc7, 0x0a, 0x00, 0x93, 0x0c, 0x01, 0x1a, 0x94, 0x01, 0x20, 0x55, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, - 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xc7, 0x0a, 0x08, 0x13, 0x0a, 0x9a, 0x02, - 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x06, 0xd1, 0x0a, 0x02, 0xd4, 0x0a, 0x05, 0x1a, 0x89, - 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xd1, 0x0a, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xd1, 0x0a, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd1, 0x0a, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd1, 0x0a, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, - 0x06, 0xd1, 0x0a, 0x1c, 0xd4, 0x0a, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd1, 0x0a, 0x1d, 0xd4, 0x0a, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0a, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd2, 0x0a, 0x04, 0x16, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xd3, 0x0a, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0a, 0x08, 0x00, 0x12, 0x06, 0xd5, 0x0a, - 0x02, 0xf7, 0x0a, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x08, 0x00, 0x01, 0x12, 0x04, 0xd5, - 0x0a, 0x08, 0x11, 0x0a, 0xcd, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x06, 0xe0, 0x0a, - 0x04, 0xe5, 0x0a, 0x07, 0x1a, 0xbc, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x3c, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe0, 0x0a, - 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe0, 0x0a, 0x0b, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe0, 0x0a, 0x10, 0x11, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x06, 0xe0, 0x0a, 0x12, 0xe5, 0x0a, - 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xe0, 0x0a, 0x13, 0xe5, 0x0a, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe1, 0x0a, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, - 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xe2, 0x0a, 0x06, 0xe4, 0x0a, 0x40, - 0x0a, 0xdc, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x06, 0xf1, 0x0a, 0x04, 0xf6, 0x0a, - 0x07, 0x1a, 0xcb, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xf1, 0x0a, 0x04, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf1, 0x0a, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf1, 0x0a, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x02, 0x08, 0x12, 0x06, 0xf1, 0x0a, 0x13, 0xf6, 0x0a, 0x06, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf1, 0x0a, 0x14, 0xf6, - 0x0a, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xf2, 0x0a, 0x06, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xf3, 0x0a, 0x06, 0xf5, 0x0a, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x0a, 0x08, 0x01, 0x12, 0x06, 0xf8, 0x0a, 0x02, 0xde, 0x0b, 0x03, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x08, 0x01, 0x01, 0x12, 0x04, 0xf8, 0x0a, 0x08, 0x14, 0x0a, 0x8c, 0x06, 0x0a, 0x04, - 0x04, 0x0a, 0x02, 0x03, 0x12, 0x06, 0x8b, 0x0b, 0x04, 0xaa, 0x0b, 0x06, 0x1a, 0xfb, 0x05, 0x20, - 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, - 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x20, 0x3d, - 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, - 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x03, 0x05, 0x12, 0x04, 0x8b, 0x0b, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x03, 0x01, 0x12, 0x04, 0x8b, 0x0b, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, - 0x03, 0x12, 0x04, 0x8b, 0x0b, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, - 0x12, 0x06, 0x8b, 0x0b, 0x12, 0xaa, 0x0b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x8c, 0x0b, 0x06, 0x91, 0x0b, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x0b, 0x08, - 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0x8e, 0x0b, 0x08, 0x90, 0x0b, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x92, 0x0b, 0x06, 0x97, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x93, 0x0b, 0x08, 0x1a, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, - 0x94, 0x0b, 0x08, 0x96, 0x0b, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x12, 0x06, 0x98, 0x0b, 0x06, 0x9d, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0x99, 0x0b, 0x08, 0x24, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0x9a, - 0x0b, 0x08, 0x9c, 0x0b, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x12, 0x06, 0x9e, 0x0b, 0x06, 0xa3, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0x9f, 0x0b, 0x08, 0x1b, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xa0, 0x0b, - 0x08, 0xa2, 0x0b, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x12, 0x06, 0xa4, 0x0b, 0x06, 0xa9, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xa5, 0x0b, 0x08, 0x25, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xa6, 0x0b, 0x08, - 0xa8, 0x0b, 0x6c, 0x0a, 0xc4, 0x06, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x06, 0xbe, 0x0b, - 0x04, 0xdd, 0x0b, 0x06, 0x1a, 0xb3, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, - 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, - 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, - 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, - 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, - 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x04, 0x05, 0x12, 0x04, 0xbe, 0x0b, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xbe, 0x0b, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xbe, 0x0b, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x08, - 0x12, 0x06, 0xbe, 0x0b, 0x13, 0xdd, 0x0b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xbf, 0x0b, 0x06, 0xc4, 0x0b, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc0, 0x0b, 0x08, - 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0xc1, 0x0b, 0x08, 0xc3, 0x0b, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xc5, 0x0b, 0x06, 0xca, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x0b, 0x08, 0x1b, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, - 0xc7, 0x0b, 0x08, 0xc9, 0x0b, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x12, 0x06, 0xcb, 0x0b, 0x06, 0xd0, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xcc, 0x0b, 0x08, 0x25, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xcd, - 0x0b, 0x08, 0xcf, 0x0b, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x12, 0x06, 0xd1, 0x0b, 0x06, 0xd6, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x0b, 0x08, 0x1c, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xd3, 0x0b, - 0x08, 0xd5, 0x0b, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x12, 0x06, 0xd7, 0x0b, 0x06, 0xdc, 0x0b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xd8, 0x0b, 0x08, 0x26, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xd9, 0x0b, 0x08, - 0xdb, 0x0b, 0x79, 0x0a, 0xc7, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, 0x12, 0x06, 0xea, 0x0b, - 0x02, 0xed, 0x0b, 0x05, 0x1a, 0xb6, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, - 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x05, 0x04, 0x12, 0x04, 0xea, 0x0b, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x05, 0x05, 0x12, 0x04, 0xea, 0x0b, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0xea, 0x0b, 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x05, 0x03, 0x12, 0x04, 0xea, 0x0b, 0x17, 0x18, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x05, 0x08, 0x12, 0x06, 0xea, 0x0b, 0x19, 0xed, 0x0b, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0a, - 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xea, 0x0b, 0x1a, 0xed, 0x0b, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xeb, - 0x0b, 0x04, 0x13, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xec, 0x0b, 0x04, 0x74, 0x0a, 0xd4, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x06, - 0x12, 0x06, 0xf9, 0x0b, 0x02, 0xfc, 0x0b, 0x05, 0x1a, 0xc3, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, - 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x06, 0x04, 0x12, 0x04, 0xf9, 0x0b, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x06, 0x05, 0x12, 0x04, 0xf9, 0x0b, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x06, 0x01, 0x12, 0x04, 0xf9, 0x0b, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x06, 0x03, 0x12, 0x04, 0xf9, 0x0b, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x06, 0x08, 0x12, 0x06, 0xf9, 0x0b, 0x1d, 0xfc, 0x0b, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0a, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf9, 0x0b, 0x1e, 0xfc, 0x0b, 0x03, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xfa, 0x0b, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x04, 0xfb, 0x0b, 0x04, 0x63, 0x0a, 0x87, 0x03, 0x0a, 0x04, 0x04, 0x0a, 0x02, - 0x07, 0x12, 0x06, 0x8a, 0x0c, 0x02, 0x8d, 0x0c, 0x05, 0x1a, 0xf6, 0x02, 0x20, 0x60, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, - 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, - 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, - 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, - 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, - 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x07, 0x04, 0x12, 0x04, 0x8a, 0x0c, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x07, 0x05, 0x12, 0x04, 0x8a, 0x0c, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x07, 0x01, 0x12, 0x04, 0x8a, 0x0c, 0x12, 0x19, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x07, 0x03, 0x12, 0x04, 0x8a, 0x0c, 0x1c, 0x1d, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x07, 0x08, 0x12, 0x06, 0x8a, 0x0c, 0x1e, 0x8d, 0x0c, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x8a, 0x0c, - 0x1f, 0x8d, 0x0c, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x8b, 0x0c, 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0a, 0x02, 0x07, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x8c, 0x0c, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, - 0x03, 0x04, 0x0a, 0x05, 0x12, 0x04, 0x92, 0x0c, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, - 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x05, 0x00, 0x12, - 0x04, 0x92, 0x0c, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x05, 0x00, 0x01, 0x12, 0x04, - 0x92, 0x0c, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x05, 0x00, 0x02, 0x12, 0x04, 0x92, - 0x0c, 0x15, 0x18, 0x0a, 0xa3, 0x01, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0x97, 0x0c, 0x00, 0xe2, - 0x0d, 0x01, 0x1a, 0x94, 0x01, 0x20, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6d, - 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, - 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, - 0x12, 0x04, 0x97, 0x0c, 0x08, 0x13, 0x0a, 0x9a, 0x02, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, - 0x06, 0xa1, 0x0c, 0x02, 0xa4, 0x0c, 0x05, 0x1a, 0x89, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, 0x20, - 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa1, 0x0c, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa1, 0x0c, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x0c, 0x12, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x0c, 0x1a, 0x1b, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x06, 0xa1, 0x0c, 0x1c, 0xa4, 0x0c, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa1, - 0x0c, 0x1d, 0xa4, 0x0c, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x0c, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, - 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xa3, 0x0c, 0x04, 0x72, 0x0a, 0x0e, 0x0a, - 0x04, 0x04, 0x0b, 0x08, 0x00, 0x12, 0x06, 0xa5, 0x0c, 0x02, 0xc7, 0x0c, 0x03, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x08, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x0c, 0x08, 0x11, 0x0a, 0xcd, 0x02, 0x0a, - 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x06, 0xb0, 0x0c, 0x04, 0xb5, 0x0c, 0x07, 0x1a, 0xbc, 0x02, - 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, - 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, - 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb0, 0x0c, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb0, 0x0c, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xb0, 0x0c, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x01, 0x08, 0x12, 0x06, 0xb0, 0x0c, 0x12, 0xb5, 0x0c, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, - 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb0, 0x0c, 0x13, 0xb5, 0x0c, 0x05, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb1, - 0x0c, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x06, 0xb2, 0x0c, 0x06, 0xb4, 0x0c, 0x40, 0x0a, 0xdc, 0x02, 0x0a, 0x04, 0x04, 0x0b, - 0x02, 0x02, 0x12, 0x06, 0xc1, 0x0c, 0x04, 0xc6, 0x0c, 0x07, 0x1a, 0xcb, 0x02, 0x20, 0x60, 0x6c, - 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xc1, 0x0c, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xc1, 0x0c, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xc1, 0x0c, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x08, 0x12, 0x06, - 0xc1, 0x0c, 0x13, 0xc6, 0x0c, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xc1, 0x0c, 0x14, 0xc6, 0x0c, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0b, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x0c, 0x06, 0x16, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xc3, - 0x0c, 0x06, 0xc5, 0x0c, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0b, 0x08, 0x01, 0x12, 0x06, 0xc8, - 0x0c, 0x02, 0xae, 0x0d, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x08, 0x01, 0x01, 0x12, 0x04, - 0xc8, 0x0c, 0x08, 0x14, 0x0a, 0x8c, 0x06, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x03, 0x12, 0x06, 0xdb, - 0x0c, 0x04, 0xfa, 0x0c, 0x06, 0x1a, 0xfb, 0x05, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, - 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, - 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, - 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x31, 0x30, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, - 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x35, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, - 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x05, 0x12, 0x04, 0xdb, 0x0c, - 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x01, 0x12, 0x04, 0xdb, 0x0c, 0x0b, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x03, 0x12, 0x04, 0xdb, 0x0c, 0x10, 0x11, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x12, 0x06, 0xdb, 0x0c, 0x12, 0xfa, 0x0c, - 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xdc, 0x0c, 0x06, 0xe1, 0x0c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x0c, 0x08, 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xde, 0x0c, 0x08, 0xe0, 0x0c, 0x45, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xe2, - 0x0c, 0x06, 0xe7, 0x0c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0xe3, 0x0c, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xe4, 0x0c, 0x08, 0xe6, 0x0c, 0x60, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xe8, 0x0c, - 0x06, 0xed, 0x0c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x01, 0x12, 0x04, 0xe9, 0x0c, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xea, 0x0c, 0x08, 0xec, 0x0c, 0x5f, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xee, 0x0c, 0x06, - 0xf3, 0x0c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x01, 0x12, 0x04, 0xef, 0x0c, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xf0, 0x0c, 0x08, 0xf2, 0x0c, 0x6d, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xf4, 0x0c, 0x06, 0xf9, - 0x0c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, - 0x12, 0x04, 0xf5, 0x0c, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xf6, 0x0c, 0x08, 0xf8, 0x0c, 0x6c, 0x0a, 0xc4, 0x06, 0x0a, - 0x04, 0x04, 0x0b, 0x02, 0x04, 0x12, 0x06, 0x8e, 0x0d, 0x04, 0xad, 0x0d, 0x06, 0x1a, 0xb3, 0x06, - 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 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, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, - 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, - 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x31, 0x30, 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, - 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, - 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, - 0x20, 0x5b, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, - 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x05, 0x12, 0x04, 0x8e, 0x0d, - 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x01, 0x12, 0x04, 0x8e, 0x0d, 0x0b, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x03, 0x12, 0x04, 0x8e, 0x0d, 0x11, 0x12, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x12, 0x06, 0x8e, 0x0d, 0x13, 0xad, 0x0d, - 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0x8f, 0x0d, 0x06, 0x94, 0x0d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x90, 0x0d, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0x91, 0x0d, 0x08, 0x93, 0x0d, 0x52, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x95, - 0x0d, 0x06, 0x9a, 0x0d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0x96, 0x0d, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0x97, 0x0d, 0x08, 0x99, 0x0d, 0x6d, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0x9b, 0x0d, - 0x06, 0xa0, 0x0d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x01, 0x12, 0x04, 0x9c, 0x0d, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0x9d, 0x0d, 0x08, 0x9f, 0x0d, 0x6c, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xa1, 0x0d, 0x06, - 0xa6, 0x0d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x01, 0x12, 0x04, 0xa2, 0x0d, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xa3, 0x0d, 0x08, 0xa5, 0x0d, 0x7a, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xa7, 0x0d, 0x06, 0xac, - 0x0d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, - 0x12, 0x04, 0xa8, 0x0d, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xa9, 0x0d, 0x08, 0xab, 0x0d, 0x79, 0x0a, 0xc7, 0x02, 0x0a, - 0x04, 0x04, 0x0b, 0x02, 0x05, 0x12, 0x06, 0xb9, 0x0d, 0x02, 0xbc, 0x0d, 0x05, 0x1a, 0xb6, 0x02, - 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, - 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, - 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x05, 0x04, 0x12, - 0x04, 0xb9, 0x0d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x05, 0x05, 0x12, 0x04, - 0xb9, 0x0d, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x05, 0x01, 0x12, 0x04, 0xb9, - 0x0d, 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb9, 0x0d, - 0x17, 0x18, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x05, 0x08, 0x12, 0x06, 0xb9, 0x0d, 0x19, - 0xbc, 0x0d, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xb9, 0x0d, 0x1a, 0xbc, 0x0d, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xba, 0x0d, 0x04, 0x13, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x0d, 0x04, 0x74, - 0x0a, 0xd4, 0x02, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x06, 0x12, 0x06, 0xc8, 0x0d, 0x02, 0xcb, 0x0d, - 0x05, 0x1a, 0xc3, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, - 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, - 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x04, - 0x12, 0x04, 0xc8, 0x0d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x05, 0x12, - 0x04, 0xc8, 0x0d, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x01, 0x12, 0x04, - 0xc8, 0x0d, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x03, 0x12, 0x04, 0xc8, - 0x0d, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x08, 0x12, 0x06, 0xc8, 0x0d, - 0x1d, 0xcb, 0x0d, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xc8, 0x0d, 0x1e, 0xcb, 0x0d, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, - 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x0d, 0x04, 0x17, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0b, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xca, 0x0d, 0x04, - 0x63, 0x0a, 0x88, 0x03, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x07, 0x12, 0x06, 0xd9, 0x0d, 0x02, 0xdc, - 0x0d, 0x05, 0x1a, 0xf7, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, - 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x30, 0x0a, 0x20, 0x20, - 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x07, 0x04, 0x12, 0x04, 0xd9, 0x0d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x07, 0x05, 0x12, 0x04, 0xd9, 0x0d, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x07, 0x01, 0x12, 0x04, 0xd9, 0x0d, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x07, 0x03, 0x12, 0x04, 0xd9, 0x0d, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x07, - 0x08, 0x12, 0x06, 0xd9, 0x0d, 0x1e, 0xdc, 0x0d, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0b, 0x02, - 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd9, 0x0d, 0x1f, 0xdc, 0x0d, 0x03, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xda, 0x0d, - 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0b, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x04, 0xdb, 0x0d, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x0b, 0x05, 0x12, 0x04, - 0xe1, 0x0d, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, - 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x05, 0x00, 0x12, 0x04, 0xe1, 0x0d, 0x0d, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x05, 0x00, 0x01, 0x12, 0x04, 0xe1, 0x0d, 0x0d, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x05, 0x00, 0x02, 0x12, 0x04, 0xe1, 0x0d, 0x15, 0x18, 0x0a, 0x4b, 0x0a, - 0x02, 0x04, 0x0c, 0x12, 0x06, 0xe5, 0x0d, 0x00, 0xb1, 0x0f, 0x01, 0x1a, 0x3d, 0x20, 0x53, 0x49, - 0x6e, 0x74, 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, - 0x01, 0x12, 0x04, 0xe5, 0x0d, 0x08, 0x13, 0x0a, 0x9a, 0x02, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, - 0x12, 0x06, 0xef, 0x0d, 0x02, 0xf2, 0x0d, 0x05, 0x1a, 0x89, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xef, - 0x0d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xef, 0x0d, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xef, 0x0d, 0x12, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xef, 0x0d, 0x1a, 0x1b, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x06, 0xef, 0x0d, 0x1c, 0xf2, 0x0d, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xef, 0x0d, 0x1d, 0xf2, 0x0d, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x0d, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x0d, 0x04, 0x72, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x0c, 0x08, 0x00, 0x12, 0x06, 0xf3, 0x0d, 0x02, 0x95, 0x0e, 0x03, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x08, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x0d, 0x08, 0x11, 0x0a, 0xcd, 0x02, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x06, 0xfe, 0x0d, 0x04, 0x83, 0x0e, 0x07, 0x1a, 0xbc, - 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x3c, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, - 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfe, 0x0d, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfe, 0x0d, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfe, 0x0d, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x01, 0x08, 0x12, 0x06, 0xfe, 0x0d, 0x12, 0x83, 0x0e, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0c, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xfe, 0x0d, 0x13, 0x83, 0x0e, 0x05, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xff, 0x0d, 0x06, 0x15, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x06, 0x80, 0x0e, 0x06, 0x82, 0x0e, 0x40, 0x0a, 0xdc, 0x02, 0x0a, 0x04, 0x04, - 0x0c, 0x02, 0x02, 0x12, 0x06, 0x8f, 0x0e, 0x04, 0x94, 0x0e, 0x07, 0x1a, 0xcb, 0x02, 0x20, 0x60, - 0x6c, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, - 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x02, 0x05, 0x12, 0x04, 0x8f, 0x0e, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, - 0x01, 0x12, 0x04, 0x8f, 0x0e, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x03, - 0x12, 0x04, 0x8f, 0x0e, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x08, 0x12, - 0x06, 0x8f, 0x0e, 0x13, 0x94, 0x0e, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x02, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x8f, 0x0e, 0x14, 0x94, 0x0e, 0x05, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0c, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x90, 0x0e, 0x06, 0x16, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, - 0x91, 0x0e, 0x06, 0x93, 0x0e, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0c, 0x08, 0x01, 0x12, 0x06, - 0x96, 0x0e, 0x02, 0xfc, 0x0e, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x08, 0x01, 0x01, 0x12, - 0x04, 0x96, 0x0e, 0x08, 0x14, 0x0a, 0x8c, 0x06, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x03, 0x12, 0x06, - 0xa9, 0x0e, 0x04, 0xc8, 0x0e, 0x06, 0x1a, 0xfb, 0x05, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, - 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, - 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, - 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x31, 0x30, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, - 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, - 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x05, 0x12, 0x04, 0xa9, - 0x0e, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa9, 0x0e, - 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa9, 0x0e, 0x10, - 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x12, 0x06, 0xa9, 0x0e, 0x12, 0xc8, - 0x0e, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xaa, 0x0e, 0x06, 0xaf, 0x0e, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xab, 0x0e, 0x08, 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xac, 0x0e, 0x08, 0xae, 0x0e, - 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, - 0xb0, 0x0e, 0x06, 0xb5, 0x0e, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xb1, 0x0e, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xb2, 0x0e, 0x08, 0xb4, 0x0e, 0x60, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xb6, - 0x0e, 0x06, 0xbb, 0x0e, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x01, 0x12, 0x04, 0xb7, 0x0e, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xb8, 0x0e, 0x08, 0xba, 0x0e, 0x5f, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xbc, 0x0e, - 0x06, 0xc1, 0x0e, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x01, 0x12, 0x04, 0xbd, 0x0e, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xbe, 0x0e, 0x08, 0xc0, 0x0e, 0x6d, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xc2, 0x0e, 0x06, - 0xc7, 0x0e, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x01, 0x12, 0x04, 0xc3, 0x0e, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xc4, 0x0e, 0x08, 0xc6, 0x0e, 0x6c, 0x0a, 0xbe, 0x06, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x04, 0x12, 0x06, 0xdc, 0x0e, 0x04, 0xfb, 0x0e, 0x06, 0x1a, 0xad, - 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 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, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, - 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, - 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, - 0x0a, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, - 0x0a, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, - 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x73, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x3d, - 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, - 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x05, 0x12, 0x04, 0xdc, 0x0e, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x04, 0x01, 0x12, 0x04, 0xdc, 0x0e, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x04, 0x03, 0x12, 0x04, 0xdc, 0x0e, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x04, 0x08, 0x12, 0x06, 0xdc, 0x0e, 0x13, 0xfb, 0x0e, 0x05, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xdd, 0x0e, 0x06, 0xe2, 0x0e, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xde, 0x0e, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x06, 0xdf, 0x0e, 0x08, 0xe1, 0x0e, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xe3, 0x0e, 0x06, 0xe8, 0x0e, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, - 0xe4, 0x0e, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x03, 0x12, 0x06, 0xe5, 0x0e, 0x08, 0xe7, 0x0e, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xe9, 0x0e, 0x06, 0xee, 0x0e, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xea, - 0x0e, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, - 0x03, 0x12, 0x06, 0xeb, 0x0e, 0x08, 0xed, 0x0e, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xef, 0x0e, 0x06, 0xf4, 0x0e, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xf0, 0x0e, - 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, - 0x12, 0x06, 0xf1, 0x0e, 0x08, 0xf3, 0x0e, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xf5, 0x0e, 0x06, 0xfa, 0x0e, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xf6, 0x0e, 0x08, - 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, - 0x06, 0xf7, 0x0e, 0x08, 0xf9, 0x0e, 0x79, 0x0a, 0xc7, 0x02, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x05, - 0x12, 0x06, 0x88, 0x0f, 0x02, 0x8b, 0x0f, 0x05, 0x1a, 0xb6, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, - 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, - 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, - 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x04, 0x12, 0x04, 0x88, 0x0f, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x05, 0x12, 0x04, 0x88, 0x0f, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x01, 0x12, 0x04, 0x88, 0x0f, 0x12, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x03, 0x12, 0x04, 0x88, 0x0f, 0x17, 0x18, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x05, 0x08, 0x12, 0x06, 0x88, 0x0f, 0x19, 0x8b, 0x0f, 0x04, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x88, 0x0f, 0x1a, - 0x8b, 0x0f, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0x89, 0x0f, 0x04, 0x13, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x05, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x0f, 0x04, 0x74, 0x0a, 0xd4, 0x02, 0x0a, 0x04, - 0x04, 0x0c, 0x02, 0x06, 0x12, 0x06, 0x97, 0x0f, 0x02, 0x9a, 0x0f, 0x05, 0x1a, 0xc3, 0x02, 0x20, - 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, - 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, - 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x04, 0x12, 0x04, 0x97, 0x0f, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x05, 0x12, 0x04, 0x97, 0x0f, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x01, 0x12, 0x04, 0x97, 0x0f, 0x12, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x03, 0x12, 0x04, 0x97, 0x0f, 0x1b, 0x1c, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x08, 0x12, 0x06, 0x97, 0x0f, 0x1d, 0x9a, 0x0f, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x97, 0x0f, - 0x1e, 0x9a, 0x0f, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x98, 0x0f, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, 0x06, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x99, 0x0f, 0x04, 0x63, 0x0a, 0x88, 0x03, 0x0a, - 0x04, 0x04, 0x0c, 0x02, 0x07, 0x12, 0x06, 0xa8, 0x0f, 0x02, 0xab, 0x0f, 0x05, 0x1a, 0xf7, 0x02, - 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, - 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, - 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, - 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, - 0x74, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x04, - 0x12, 0x04, 0xa8, 0x0f, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x05, 0x12, - 0x04, 0xa8, 0x0f, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x01, 0x12, 0x04, - 0xa8, 0x0f, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x03, 0x12, 0x04, 0xa8, - 0x0f, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x08, 0x12, 0x06, 0xa8, 0x0f, - 0x1e, 0xab, 0x0f, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0c, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xa8, 0x0f, 0x1f, 0xab, 0x0f, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0c, 0x02, - 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x0f, 0x04, 0x18, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0c, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xaa, 0x0f, 0x04, - 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x0c, 0x05, 0x12, 0x04, 0xb0, 0x0f, 0x02, 0x19, 0x1a, - 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, - 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0c, 0x05, 0x00, 0x12, 0x04, 0xb0, 0x0f, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x05, 0x00, 0x01, 0x12, 0x04, 0xb0, 0x0f, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x05, - 0x00, 0x02, 0x12, 0x04, 0xb0, 0x0f, 0x15, 0x18, 0x0a, 0x4b, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, - 0xb4, 0x0f, 0x00, 0x80, 0x11, 0x01, 0x1a, 0x3d, 0x20, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x60, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xb4, 0x0f, - 0x08, 0x13, 0x0a, 0x9a, 0x02, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x06, 0xbe, 0x0f, 0x02, - 0xc1, 0x0f, 0x05, 0x1a, 0x89, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, - 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, - 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbe, 0x0f, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbe, 0x0f, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x0f, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x0f, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x00, 0x08, 0x12, 0x06, 0xbe, 0x0f, 0x1c, 0xc1, 0x0f, 0x04, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x0d, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xbe, 0x0f, 0x1d, 0xc1, 0x0f, - 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xbf, 0x0f, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x04, 0xc0, 0x0f, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x08, - 0x00, 0x12, 0x06, 0xc2, 0x0f, 0x02, 0xe4, 0x0f, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x08, - 0x00, 0x01, 0x12, 0x04, 0xc2, 0x0f, 0x08, 0x11, 0x0a, 0xcd, 0x02, 0x0a, 0x04, 0x04, 0x0d, 0x02, - 0x01, 0x12, 0x06, 0xcd, 0x0f, 0x04, 0xd2, 0x0f, 0x07, 0x1a, 0xbc, 0x02, 0x20, 0x60, 0x6c, 0x74, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x3c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x36, - 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xcd, 0x0f, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xcd, 0x0f, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xcd, 0x0f, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x12, 0x06, - 0xcd, 0x0f, 0x12, 0xd2, 0x0f, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xcd, 0x0f, 0x13, 0xd2, 0x0f, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0d, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xce, 0x0f, 0x06, 0x15, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xcf, - 0x0f, 0x06, 0xd1, 0x0f, 0x40, 0x0a, 0xdc, 0x02, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x06, - 0xde, 0x0f, 0x04, 0xe3, 0x0f, 0x07, 0x1a, 0xcb, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x0a, - 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x05, 0x12, 0x04, 0xde, - 0x0f, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xde, 0x0f, - 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xde, 0x0f, 0x11, - 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x12, 0x06, 0xde, 0x0f, 0x13, 0xe3, - 0x0f, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xde, 0x0f, 0x14, 0xe3, 0x0f, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x02, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x0f, 0x06, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x0d, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xe0, 0x0f, 0x06, 0xe2, 0x0f, - 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x08, 0x01, 0x12, 0x06, 0xe5, 0x0f, 0x02, 0xcb, 0x10, - 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x08, 0x01, 0x01, 0x12, 0x04, 0xe5, 0x0f, 0x08, 0x14, - 0x0a, 0x8c, 0x06, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x06, 0xf8, 0x0f, 0x04, 0x97, 0x10, - 0x06, 0x1a, 0xfb, 0x05, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, - 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, - 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, - 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x35, 0x2c, 0x20, - 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x31, 0x30, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, - 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, - 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf8, 0x0f, 0x04, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf8, 0x0f, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf8, 0x0f, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x03, 0x08, 0x12, 0x06, 0xf8, 0x0f, 0x12, 0x97, 0x10, 0x05, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf9, 0x0f, 0x06, 0xfe, - 0x0f, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xfa, 0x0f, 0x08, 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xfb, 0x0f, 0x08, 0xfd, 0x0f, 0x45, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xff, 0x0f, 0x06, 0x84, 0x10, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, - 0x04, 0x80, 0x10, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x03, 0x12, 0x06, 0x81, 0x10, 0x08, 0x83, 0x10, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0x85, 0x10, 0x06, 0x8a, 0x10, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, - 0x86, 0x10, 0x08, 0x24, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x03, 0x12, 0x06, 0x87, 0x10, 0x08, 0x89, 0x10, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0x8b, 0x10, 0x06, 0x90, 0x10, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0x8c, - 0x10, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x03, 0x12, 0x06, 0x8d, 0x10, 0x08, 0x8f, 0x10, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0x91, 0x10, 0x06, 0x96, 0x10, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0x92, 0x10, - 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, - 0x12, 0x06, 0x93, 0x10, 0x08, 0x95, 0x10, 0x6c, 0x0a, 0xc4, 0x06, 0x0a, 0x04, 0x04, 0x0d, 0x02, - 0x04, 0x12, 0x06, 0xab, 0x10, 0x04, 0xca, 0x10, 0x06, 0x1a, 0xb3, 0x06, 0x20, 0x60, 0x67, 0x74, - 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, - 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, - 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, - 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, - 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, - 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x73, 0x69, - 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, - 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x05, 0x12, 0x04, 0xab, 0x10, 0x04, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x01, 0x12, 0x04, 0xab, 0x10, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x04, 0x03, 0x12, 0x04, 0xab, 0x10, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x04, 0x08, 0x12, 0x06, 0xab, 0x10, 0x13, 0xca, 0x10, 0x05, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xac, 0x10, 0x06, 0xb1, - 0x10, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xad, 0x10, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xae, 0x10, 0x08, 0xb0, 0x10, 0x52, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xb2, 0x10, 0x06, 0xb7, 0x10, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, - 0x04, 0xb3, 0x10, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x03, 0x12, 0x06, 0xb4, 0x10, 0x08, 0xb6, 0x10, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xb8, 0x10, 0x06, 0xbd, 0x10, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, - 0xb9, 0x10, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x03, 0x12, 0x06, 0xba, 0x10, 0x08, 0xbc, 0x10, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xbe, 0x10, 0x06, 0xc3, 0x10, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xbf, - 0x10, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x03, 0x12, 0x06, 0xc0, 0x10, 0x08, 0xc2, 0x10, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xc4, 0x10, 0x06, 0xc9, 0x10, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xc5, 0x10, - 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, - 0x12, 0x06, 0xc6, 0x10, 0x08, 0xc8, 0x10, 0x79, 0x0a, 0xc7, 0x02, 0x0a, 0x04, 0x04, 0x0d, 0x02, - 0x05, 0x12, 0x06, 0xd7, 0x10, 0x02, 0xda, 0x10, 0x05, 0x1a, 0xb6, 0x02, 0x20, 0x60, 0x69, 0x6e, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, - 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, - 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x04, 0x12, 0x04, 0xd7, 0x10, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x05, 0x12, 0x04, 0xd7, 0x10, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x01, 0x12, 0x04, 0xd7, 0x10, 0x12, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x03, 0x12, 0x04, 0xd7, 0x10, 0x17, 0x18, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x08, 0x12, 0x06, 0xd7, 0x10, 0x19, 0xda, 0x10, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd7, 0x10, - 0x1a, 0xda, 0x10, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xd8, 0x10, 0x04, 0x13, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xd9, 0x10, 0x04, 0x74, 0x0a, 0xd4, 0x02, 0x0a, - 0x04, 0x04, 0x0d, 0x02, 0x06, 0x12, 0x06, 0xe6, 0x10, 0x02, 0xe9, 0x10, 0x05, 0x1a, 0xc3, 0x02, - 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, 0x6e, - 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, - 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, 0x04, 0x12, 0x04, 0xe6, 0x10, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, 0x05, 0x12, 0x04, 0xe6, 0x10, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, 0x01, 0x12, 0x04, 0xe6, 0x10, 0x12, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, 0x03, 0x12, 0x04, 0xe6, 0x10, 0x1b, 0x1c, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, 0x08, 0x12, 0x06, 0xe6, 0x10, 0x1d, 0xe9, 0x10, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe6, - 0x10, 0x1e, 0xe9, 0x10, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x06, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xe7, 0x10, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, 0x02, - 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe8, 0x10, 0x04, 0x63, 0x0a, 0x88, 0x03, - 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x07, 0x12, 0x06, 0xf7, 0x10, 0x02, 0xfa, 0x10, 0x05, 0x1a, 0xf7, - 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, - 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, - 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, - 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, - 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x49, - 0x6e, 0x74, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2e, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x2d, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, - 0x04, 0x12, 0x04, 0xf7, 0x10, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x05, - 0x12, 0x04, 0xf7, 0x10, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x01, 0x12, - 0x04, 0xf7, 0x10, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x03, 0x12, 0x04, - 0xf7, 0x10, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x08, 0x12, 0x06, 0xf7, - 0x10, 0x1e, 0xfa, 0x10, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x07, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xf7, 0x10, 0x1f, 0xfa, 0x10, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0d, - 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x10, 0x04, 0x18, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0d, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf9, 0x10, - 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x0d, 0x05, 0x12, 0x04, 0xff, 0x10, 0x02, 0x19, - 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0d, 0x05, 0x00, 0x12, 0x04, 0xff, 0x10, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x05, 0x00, 0x01, 0x12, 0x04, 0xff, 0x10, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x05, 0x00, 0x02, 0x12, 0x04, 0xff, 0x10, 0x15, 0x18, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x0e, 0x12, - 0x06, 0x83, 0x11, 0x00, 0xcf, 0x12, 0x01, 0x1a, 0x3f, 0x20, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x60, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, - 0x04, 0x83, 0x11, 0x08, 0x14, 0x0a, 0x9d, 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x06, - 0x8d, 0x11, 0x02, 0x90, 0x11, 0x05, 0x1a, 0x8c, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, - 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, 0x20, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x04, 0x12, 0x04, - 0x8d, 0x11, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8d, - 0x11, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x11, - 0x13, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x11, 0x1b, - 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x06, 0x8d, 0x11, 0x1d, 0x90, - 0x11, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0x8d, 0x11, 0x1e, 0x90, 0x11, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x11, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0e, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x8f, 0x11, 0x04, 0x72, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x0e, 0x08, 0x00, 0x12, 0x06, 0x91, 0x11, 0x02, 0xb3, 0x11, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x08, 0x00, 0x01, 0x12, 0x04, 0x91, 0x11, 0x08, 0x11, 0x0a, 0xd0, - 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x06, 0x9c, 0x11, 0x04, 0xa1, 0x11, 0x07, 0x1a, - 0xbf, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, - 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9c, 0x11, 0x04, 0x0b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9c, 0x11, 0x0c, 0x0e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9c, 0x11, 0x11, 0x12, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x06, 0x9c, 0x11, 0x13, 0xa1, 0x11, 0x06, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9c, 0x11, - 0x14, 0xa1, 0x11, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x9d, 0x11, 0x06, 0x16, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0x9e, 0x11, 0x06, 0xa0, 0x11, 0x40, 0x0a, 0xdf, - 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x02, 0x12, 0x06, 0xad, 0x11, 0x04, 0xb2, 0x11, 0x07, 0x1a, - 0xce, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x05, 0x12, 0x04, 0xad, 0x11, 0x04, 0x0b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xad, 0x11, 0x0c, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xad, 0x11, 0x12, 0x13, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x12, 0x06, 0xad, 0x11, 0x14, 0xb2, 0x11, 0x06, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xad, 0x11, 0x15, - 0xb2, 0x11, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0xae, 0x11, 0x06, 0x17, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x02, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xaf, 0x11, 0x06, 0xb1, 0x11, 0x4d, 0x0a, 0x0e, 0x0a, - 0x04, 0x04, 0x0e, 0x08, 0x01, 0x12, 0x06, 0xb4, 0x11, 0x02, 0x9a, 0x12, 0x03, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x08, 0x01, 0x01, 0x12, 0x04, 0xb4, 0x11, 0x08, 0x14, 0x0a, 0x96, 0x06, 0x0a, - 0x04, 0x04, 0x0e, 0x02, 0x03, 0x12, 0x06, 0xc7, 0x11, 0x04, 0xe6, 0x11, 0x06, 0x1a, 0x85, 0x06, - 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, - 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, - 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x35, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, - 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, - 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, - 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x05, 0x12, 0x04, - 0xc7, 0x11, 0x04, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc7, - 0x11, 0x0c, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc7, 0x11, - 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x12, 0x06, 0xc7, 0x11, 0x13, - 0xe6, 0x11, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xc8, 0x11, 0x06, 0xcd, 0x11, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x11, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xca, 0x11, 0x08, 0xcc, - 0x11, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, - 0x06, 0xce, 0x11, 0x06, 0xd3, 0x11, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xcf, 0x11, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xd0, 0x11, 0x08, 0xd2, 0x11, - 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, - 0xd4, 0x11, 0x06, 0xd9, 0x11, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xd5, 0x11, 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xd6, 0x11, 0x08, 0xd8, 0x11, 0x5f, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xda, - 0x11, 0x06, 0xdf, 0x11, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x01, 0x12, 0x04, 0xdb, 0x11, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xdc, 0x11, 0x08, 0xde, 0x11, 0x6d, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xe0, 0x11, - 0x06, 0xe5, 0x11, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x01, 0x12, 0x04, 0xe1, 0x11, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xe2, 0x11, 0x08, 0xe4, 0x11, 0x6c, 0x0a, 0xce, - 0x06, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x04, 0x12, 0x06, 0xfa, 0x11, 0x04, 0x99, 0x12, 0x06, 0x1a, - 0xbd, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, - 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, - 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, - 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, - 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, - 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, - 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x05, 0x12, 0x04, 0xfa, 0x11, 0x04, 0x0b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x01, 0x12, 0x04, 0xfa, 0x11, 0x0c, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x04, 0x03, 0x12, 0x04, 0xfa, 0x11, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x04, 0x08, 0x12, 0x06, 0xfa, 0x11, 0x14, 0x99, 0x12, 0x05, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xfb, 0x11, 0x06, 0x80, - 0x12, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xfc, 0x11, 0x08, 0x19, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xfd, 0x11, 0x08, 0xff, 0x11, 0x52, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x81, 0x12, 0x06, 0x86, 0x12, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, - 0x04, 0x82, 0x12, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x03, 0x12, 0x06, 0x83, 0x12, 0x08, 0x85, 0x12, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0x87, 0x12, 0x06, 0x8c, 0x12, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, - 0x88, 0x12, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x03, 0x12, 0x06, 0x89, 0x12, 0x08, 0x8b, 0x12, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0x8d, 0x12, 0x06, 0x92, 0x12, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0x8e, - 0x12, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x03, 0x12, 0x06, 0x8f, 0x12, 0x08, 0x91, 0x12, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0x93, 0x12, 0x06, 0x98, 0x12, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0x94, 0x12, - 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, - 0x12, 0x06, 0x95, 0x12, 0x08, 0x97, 0x12, 0x79, 0x0a, 0xca, 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, - 0x05, 0x12, 0x06, 0xa6, 0x12, 0x02, 0xa9, 0x12, 0x05, 0x1a, 0xb9, 0x02, 0x20, 0x60, 0x69, 0x6e, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, - 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, - 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x04, 0x12, 0x04, - 0xa6, 0x12, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x05, 0x12, 0x04, 0xa6, - 0x12, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa6, 0x12, - 0x13, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x03, 0x12, 0x04, 0xa6, 0x12, 0x18, - 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x12, 0x06, 0xa6, 0x12, 0x1a, 0xa9, - 0x12, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xa6, 0x12, 0x1b, 0xa9, 0x12, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x05, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x12, 0x04, 0x14, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0e, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xa8, 0x12, 0x04, 0x74, 0x0a, - 0xd7, 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x06, 0x12, 0x06, 0xb5, 0x12, 0x02, 0xb8, 0x12, 0x05, - 0x1a, 0xc6, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, - 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x06, 0x04, 0x12, 0x04, 0xb5, 0x12, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, - 0x05, 0x12, 0x04, 0xb5, 0x12, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x01, - 0x12, 0x04, 0xb5, 0x12, 0x13, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x03, 0x12, - 0x04, 0xb5, 0x12, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x08, 0x12, 0x06, - 0xb5, 0x12, 0x1e, 0xb8, 0x12, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x06, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xb5, 0x12, 0x1f, 0xb8, 0x12, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0e, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x12, 0x04, 0x18, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xb7, - 0x12, 0x04, 0x63, 0x0a, 0x8a, 0x03, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x07, 0x12, 0x06, 0xc6, 0x12, - 0x02, 0xc9, 0x12, 0x05, 0x1a, 0xf9, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, - 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, - 0x32, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x04, 0x12, 0x04, 0xc6, 0x12, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x05, 0x12, 0x04, 0xc6, 0x12, 0x0b, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc6, 0x12, 0x13, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc6, 0x12, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x07, 0x08, 0x12, 0x06, 0xc6, 0x12, 0x1f, 0xc9, 0x12, 0x04, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x0e, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc6, 0x12, 0x20, 0xc9, - 0x12, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xc7, 0x12, 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0e, 0x02, 0x07, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc8, 0x12, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, - 0x0e, 0x05, 0x12, 0x04, 0xce, 0x12, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x05, 0x00, 0x12, 0x04, 0xce, - 0x12, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x05, 0x00, 0x01, 0x12, 0x04, 0xce, 0x12, - 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x05, 0x00, 0x02, 0x12, 0x04, 0xce, 0x12, 0x15, - 0x18, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xd2, 0x12, 0x00, 0x9e, 0x14, 0x01, 0x1a, - 0x3f, 0x20, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xd2, 0x12, 0x08, 0x14, 0x0a, 0x9d, 0x02, - 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x06, 0xdc, 0x12, 0x02, 0xdf, 0x12, 0x05, 0x1a, 0x8c, - 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, - 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, - 0x34, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xdc, 0x12, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdc, 0x12, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x12, 0x13, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xdc, 0x12, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x00, 0x08, 0x12, 0x06, 0xdc, 0x12, 0x1d, 0xdf, 0x12, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xdc, 0x12, 0x1e, 0xdf, 0x12, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdd, - 0x12, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xde, 0x12, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0f, 0x08, 0x00, 0x12, - 0x06, 0xe0, 0x12, 0x02, 0x82, 0x13, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x08, 0x00, 0x01, - 0x12, 0x04, 0xe0, 0x12, 0x08, 0x11, 0x0a, 0xd0, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, - 0x06, 0xeb, 0x12, 0x04, 0xf0, 0x12, 0x07, 0x1a, 0xbf, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xeb, 0x12, 0x04, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xeb, 0x12, 0x0c, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xeb, 0x12, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, - 0x06, 0xeb, 0x12, 0x13, 0xf0, 0x12, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x01, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xeb, 0x12, 0x14, 0xf0, 0x12, 0x05, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0f, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xec, 0x12, 0x06, 0x16, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, - 0xed, 0x12, 0x06, 0xef, 0x12, 0x40, 0x0a, 0xdf, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x02, 0x12, - 0x06, 0xfc, 0x12, 0x04, 0x81, 0x13, 0x07, 0x1a, 0xce, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, - 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xfc, 0x12, 0x04, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xfc, 0x12, 0x0c, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xfc, 0x12, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x12, 0x06, - 0xfc, 0x12, 0x14, 0x81, 0x13, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xfc, 0x12, 0x15, 0x81, 0x13, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x0f, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xfd, 0x12, 0x06, 0x17, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xfe, - 0x12, 0x06, 0x80, 0x13, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0f, 0x08, 0x01, 0x12, 0x06, 0x83, - 0x13, 0x02, 0xe9, 0x13, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x08, 0x01, 0x01, 0x12, 0x04, - 0x83, 0x13, 0x08, 0x14, 0x0a, 0x96, 0x06, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x03, 0x12, 0x06, 0x96, - 0x13, 0x04, 0xb5, 0x13, 0x06, 0x1a, 0x85, 0x06, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x28, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, - 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, - 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, - 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, - 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, - 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x61, - 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, - 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x03, 0x05, 0x12, 0x04, 0x96, 0x13, 0x04, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x03, 0x01, 0x12, 0x04, 0x96, 0x13, 0x0c, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x03, 0x03, 0x12, 0x04, 0x96, 0x13, 0x11, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x03, 0x08, 0x12, 0x06, 0x96, 0x13, 0x13, 0xb5, 0x13, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x97, 0x13, 0x06, 0x9c, 0x13, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0x98, 0x13, 0x08, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x06, 0x99, 0x13, 0x08, 0x9b, 0x13, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x9d, 0x13, 0x06, 0xa2, 0x13, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x9e, - 0x13, 0x08, 0x1b, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x03, 0x12, 0x06, 0x9f, 0x13, 0x08, 0xa1, 0x13, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xa3, 0x13, 0x06, 0xa8, 0x13, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x13, - 0x08, 0x25, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, - 0x12, 0x06, 0xa5, 0x13, 0x08, 0xa7, 0x13, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xa9, 0x13, 0x06, 0xae, 0x13, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xaa, 0x13, 0x08, - 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, - 0x06, 0xab, 0x13, 0x08, 0xad, 0x13, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xaf, 0x13, 0x06, 0xb4, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xb0, 0x13, 0x08, 0x26, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, - 0xb1, 0x13, 0x08, 0xb3, 0x13, 0x6c, 0x0a, 0xce, 0x06, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x04, 0x12, - 0x06, 0xc9, 0x13, 0x04, 0xe8, 0x13, 0x06, 0x1a, 0xbd, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, - 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, - 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, - 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, - 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, - 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, 0x74, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, - 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x35, 0x20, 0x5b, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, - 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x05, - 0x12, 0x04, 0xc9, 0x13, 0x04, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x01, 0x12, - 0x04, 0xc9, 0x13, 0x0c, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x03, 0x12, 0x04, - 0xc9, 0x13, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x12, 0x06, 0xc9, - 0x13, 0x14, 0xe8, 0x13, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xca, 0x13, 0x06, 0xcf, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x13, 0x08, 0x19, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xcc, 0x13, - 0x08, 0xce, 0x13, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x12, 0x06, 0xd0, 0x13, 0x06, 0xd5, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xd1, 0x13, 0x08, 0x1c, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xd2, 0x13, 0x08, - 0xd4, 0x13, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, - 0x12, 0x06, 0xd6, 0x13, 0x06, 0xdb, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xd7, 0x13, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xd8, 0x13, 0x08, 0xda, - 0x13, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, - 0x06, 0xdc, 0x13, 0x06, 0xe1, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xdd, 0x13, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xde, 0x13, 0x08, 0xe0, 0x13, - 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, - 0xe2, 0x13, 0x06, 0xe7, 0x13, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xe3, 0x13, 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x0f, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xe4, 0x13, 0x08, 0xe6, 0x13, 0x79, - 0x0a, 0xca, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x05, 0x12, 0x06, 0xf5, 0x13, 0x02, 0xf8, 0x13, - 0x05, 0x1a, 0xb9, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, - 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x05, 0x04, 0x12, 0x04, 0xf5, 0x13, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x05, 0x05, 0x12, 0x04, 0xf5, 0x13, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x05, 0x01, 0x12, 0x04, 0xf5, 0x13, 0x13, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x05, 0x03, 0x12, 0x04, 0xf5, 0x13, 0x18, 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x05, 0x08, 0x12, 0x06, 0xf5, 0x13, 0x1a, 0xf8, 0x13, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, - 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf5, 0x13, 0x1b, 0xf8, 0x13, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf6, - 0x13, 0x04, 0x14, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xf7, 0x13, 0x04, 0x74, 0x0a, 0xd7, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x06, - 0x12, 0x06, 0x84, 0x14, 0x02, 0x87, 0x14, 0x05, 0x1a, 0xc6, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, - 0x20, 0x7b, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, - 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x04, 0x12, 0x04, 0x84, 0x14, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x05, 0x12, 0x04, 0x84, 0x14, 0x0b, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x01, 0x12, 0x04, 0x84, 0x14, 0x13, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x03, 0x12, 0x04, 0x84, 0x14, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x06, 0x08, 0x12, 0x06, 0x84, 0x14, 0x1e, 0x87, 0x14, 0x04, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x84, 0x14, 0x1f, - 0x87, 0x14, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0x85, 0x14, 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x06, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x86, 0x14, 0x04, 0x63, 0x0a, 0x8a, 0x03, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x07, 0x12, 0x06, 0x95, 0x14, 0x02, 0x98, 0x14, 0x05, 0x1a, 0xf9, 0x02, 0x20, - 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, - 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, - 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, - 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x07, - 0x04, 0x12, 0x04, 0x95, 0x14, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x07, 0x05, - 0x12, 0x04, 0x95, 0x14, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x07, 0x01, 0x12, - 0x04, 0x95, 0x14, 0x13, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x07, 0x03, 0x12, 0x04, - 0x95, 0x14, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x07, 0x08, 0x12, 0x06, 0x95, - 0x14, 0x1f, 0x98, 0x14, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x07, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0x95, 0x14, 0x20, 0x98, 0x14, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x0f, - 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x96, 0x14, 0x04, 0x19, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x0f, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x97, 0x14, - 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x0f, 0x05, 0x12, 0x04, 0x9d, 0x14, 0x02, 0x19, - 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0f, 0x05, 0x00, 0x12, 0x04, 0x9d, 0x14, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x05, 0x00, 0x01, 0x12, 0x04, 0x9d, 0x14, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x05, 0x00, 0x02, 0x12, 0x04, 0x9d, 0x14, 0x15, 0x18, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x10, 0x12, - 0x06, 0xa1, 0x14, 0x00, 0xed, 0x15, 0x01, 0x1a, 0x40, 0x20, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, - 0x12, 0x04, 0xa1, 0x14, 0x08, 0x15, 0x0a, 0xa0, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, - 0x06, 0xab, 0x14, 0x02, 0xae, 0x14, 0x05, 0x1a, 0x8f, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x33, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xab, 0x14, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xab, 0x14, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xab, 0x14, 0x14, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xab, 0x14, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x06, - 0xab, 0x14, 0x1e, 0xae, 0x14, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xab, 0x14, 0x1f, 0xae, 0x14, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x10, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xac, 0x14, 0x04, 0x18, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xad, - 0x14, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, 0x08, 0x00, 0x12, 0x06, 0xaf, 0x14, 0x02, - 0xd1, 0x14, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x08, 0x00, 0x01, 0x12, 0x04, 0xaf, 0x14, - 0x08, 0x11, 0x0a, 0xd3, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x06, 0xba, 0x14, 0x04, - 0xbf, 0x14, 0x07, 0x1a, 0xc2, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x3c, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xba, 0x14, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xba, 0x14, 0x0d, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xba, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x06, - 0xba, 0x14, 0x14, 0xbf, 0x14, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xba, 0x14, 0x15, 0xbf, 0x14, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x10, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x14, 0x06, 0x17, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xbc, - 0x14, 0x06, 0xbe, 0x14, 0x40, 0x0a, 0xe2, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x06, - 0xcb, 0x14, 0x04, 0xd0, 0x14, 0x07, 0x1a, 0xd1, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x02, 0x05, 0x12, 0x04, 0xcb, 0x14, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xcb, 0x14, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xcb, 0x14, 0x13, 0x14, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x08, - 0x12, 0x06, 0xcb, 0x14, 0x15, 0xd0, 0x14, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x02, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xcb, 0x14, 0x16, 0xd0, 0x14, 0x05, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x10, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x14, 0x06, - 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0xcd, 0x14, 0x06, 0xcf, 0x14, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, 0x08, 0x01, 0x12, - 0x06, 0xd2, 0x14, 0x02, 0xb8, 0x15, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x08, 0x01, 0x01, - 0x12, 0x04, 0xd2, 0x14, 0x08, 0x14, 0x0a, 0xa0, 0x06, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x03, 0x12, - 0x06, 0xe5, 0x14, 0x04, 0x84, 0x15, 0x06, 0x1a, 0x8f, 0x06, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, - 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, - 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, - 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, - 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x73, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, - 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x5f, - 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xe5, 0x14, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xe5, 0x14, 0x0d, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xe5, 0x14, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x08, 0x12, - 0x06, 0xe5, 0x14, 0x14, 0x84, 0x15, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe6, 0x14, 0x06, 0xeb, 0x14, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe7, 0x14, 0x08, 0x19, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, - 0xe8, 0x14, 0x08, 0xea, 0x14, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x12, 0x06, 0xec, 0x14, 0x06, 0xf1, 0x14, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xed, 0x14, 0x08, 0x1c, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xee, - 0x14, 0x08, 0xf0, 0x14, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x12, 0x06, 0xf2, 0x14, 0x06, 0xf7, 0x14, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xf3, 0x14, 0x08, 0x26, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xf4, 0x14, - 0x08, 0xf6, 0x14, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x12, 0x06, 0xf8, 0x14, 0x06, 0xfd, 0x14, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xf9, 0x14, 0x08, 0x1d, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xfa, 0x14, 0x08, - 0xfc, 0x14, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x12, 0x06, 0xfe, 0x14, 0x06, 0x83, 0x15, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xff, 0x14, 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x10, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0x80, 0x15, 0x08, 0x82, - 0x15, 0x6c, 0x0a, 0xd8, 0x06, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x04, 0x12, 0x06, 0x98, 0x15, 0x04, - 0xb7, 0x15, 0x06, 0x1a, 0xc7, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, - 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, - 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 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, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x61, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x04, 0x05, 0x12, 0x04, 0x98, 0x15, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x04, 0x01, 0x12, 0x04, 0x98, 0x15, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x04, 0x03, 0x12, 0x04, 0x98, 0x15, 0x13, 0x14, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x04, 0x08, 0x12, 0x06, 0x98, 0x15, 0x15, 0xb7, 0x15, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x99, 0x15, 0x06, 0x9e, 0x15, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0x9a, 0x15, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x06, 0x9b, 0x15, 0x08, 0x9d, 0x15, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x9f, 0x15, 0x06, 0xa4, 0x15, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xa0, - 0x15, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x03, 0x12, 0x06, 0xa1, 0x15, 0x08, 0xa3, 0x15, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xa5, 0x15, 0x06, 0xaa, 0x15, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x15, - 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, - 0x12, 0x06, 0xa7, 0x15, 0x08, 0xa9, 0x15, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xab, 0x15, 0x06, 0xb0, 0x15, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xac, 0x15, 0x08, - 0x1e, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, - 0x06, 0xad, 0x15, 0x08, 0xaf, 0x15, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xb1, 0x15, 0x06, 0xb6, 0x15, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xb2, 0x15, 0x08, 0x28, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, - 0xb3, 0x15, 0x08, 0xb5, 0x15, 0x79, 0x0a, 0xcd, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x05, 0x12, - 0x06, 0xc4, 0x15, 0x02, 0xc7, 0x15, 0x05, 0x1a, 0xbc, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, - 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, - 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x04, 0x12, - 0x04, 0xc4, 0x15, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x05, 0x12, 0x04, - 0xc4, 0x15, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc4, - 0x15, 0x14, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc4, 0x15, - 0x19, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x08, 0x12, 0x06, 0xc4, 0x15, 0x1b, - 0xc7, 0x15, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xc4, 0x15, 0x1c, 0xc7, 0x15, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x15, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x10, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x15, 0x04, 0x74, - 0x0a, 0xda, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x06, 0x12, 0x06, 0xd3, 0x15, 0x02, 0xd6, 0x15, - 0x05, 0x1a, 0xc9, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, - 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, - 0x32, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x06, 0x04, 0x12, 0x04, 0xd3, 0x15, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x06, 0x05, 0x12, 0x04, 0xd3, 0x15, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x06, 0x01, 0x12, 0x04, 0xd3, 0x15, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x06, 0x03, 0x12, 0x04, 0xd3, 0x15, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x06, 0x08, 0x12, 0x06, 0xd3, 0x15, 0x1f, 0xd6, 0x15, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd3, 0x15, 0x20, 0xd6, 0x15, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd4, - 0x15, 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xd5, 0x15, 0x04, 0x63, 0x0a, 0x8e, 0x03, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x07, - 0x12, 0x06, 0xe4, 0x15, 0x02, 0xe7, 0x15, 0x05, 0x1a, 0xfd, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, - 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, - 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, - 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, - 0x04, 0x12, 0x04, 0xe4, 0x15, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x05, - 0x12, 0x04, 0xe4, 0x15, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x01, 0x12, - 0x04, 0xe4, 0x15, 0x14, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x03, 0x12, 0x04, - 0xe4, 0x15, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x08, 0x12, 0x06, 0xe4, - 0x15, 0x20, 0xe7, 0x15, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x07, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xe4, 0x15, 0x21, 0xe7, 0x15, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x10, - 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x15, 0x04, 0x1a, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x10, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x15, - 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x10, 0x05, 0x12, 0x04, 0xec, 0x15, 0x02, 0x19, - 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x10, 0x05, 0x00, 0x12, 0x04, 0xec, 0x15, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x05, 0x00, 0x01, 0x12, 0x04, 0xec, 0x15, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x05, 0x00, 0x02, 0x12, 0x04, 0xec, 0x15, 0x15, 0x18, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x11, 0x12, - 0x06, 0xf0, 0x15, 0x00, 0xbc, 0x17, 0x01, 0x1a, 0x40, 0x20, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, - 0x12, 0x04, 0xf0, 0x15, 0x08, 0x15, 0x0a, 0xa0, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, - 0x06, 0xfa, 0x15, 0x02, 0xfd, 0x15, 0x05, 0x1a, 0x8f, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x34, 0x32, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, - 0x64, 0x36, 0x34, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x34, 0x32, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xfa, 0x15, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xfa, 0x15, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xfa, 0x15, 0x14, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xfa, 0x15, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x06, - 0xfa, 0x15, 0x1e, 0xfd, 0x15, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xfa, 0x15, 0x1f, 0xfd, 0x15, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x11, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xfb, 0x15, 0x04, 0x18, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xfc, - 0x15, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x11, 0x08, 0x00, 0x12, 0x06, 0xfe, 0x15, 0x02, - 0xa0, 0x16, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x08, 0x00, 0x01, 0x12, 0x04, 0xfe, 0x15, - 0x08, 0x11, 0x0a, 0xd3, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x06, 0x89, 0x16, 0x04, - 0x8e, 0x16, 0x07, 0x1a, 0xc2, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x3c, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x67, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x89, 0x16, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x89, 0x16, 0x0d, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x89, 0x16, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x06, - 0x89, 0x16, 0x14, 0x8e, 0x16, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0x89, 0x16, 0x15, 0x8e, 0x16, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x11, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x16, 0x06, 0x17, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0x8b, - 0x16, 0x06, 0x8d, 0x16, 0x40, 0x0a, 0xe2, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x06, - 0x9a, 0x16, 0x04, 0x9f, 0x16, 0x07, 0x1a, 0xd1, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x3c, 0x3d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, - 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x30, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x02, 0x05, 0x12, 0x04, 0x9a, 0x16, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x02, 0x01, 0x12, 0x04, 0x9a, 0x16, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, - 0x03, 0x12, 0x04, 0x9a, 0x16, 0x13, 0x14, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x08, - 0x12, 0x06, 0x9a, 0x16, 0x15, 0x9f, 0x16, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x02, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9a, 0x16, 0x16, 0x9f, 0x16, 0x05, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x11, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x16, 0x06, - 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x06, 0x9c, 0x16, 0x06, 0x9e, 0x16, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x11, 0x08, 0x01, 0x12, - 0x06, 0xa1, 0x16, 0x02, 0x87, 0x17, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x08, 0x01, 0x01, - 0x12, 0x04, 0xa1, 0x16, 0x08, 0x14, 0x0a, 0xa0, 0x06, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, - 0x06, 0xb4, 0x16, 0x04, 0xd3, 0x16, 0x06, 0x1a, 0x8f, 0x06, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, - 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, - 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, - 0x74, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, - 0x74, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x20, 0x5b, 0x73, 0x66, - 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, - 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x5f, - 0x6c, 0x74, 0x5f, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xb4, 0x16, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xb4, 0x16, 0x0d, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xb4, 0x16, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x08, 0x12, - 0x06, 0xb4, 0x16, 0x14, 0xd3, 0x16, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x03, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb5, 0x16, 0x06, 0xba, 0x16, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x16, 0x08, 0x19, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, - 0xb7, 0x16, 0x08, 0xb9, 0x16, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x12, 0x06, 0xbb, 0x16, 0x06, 0xc0, 0x16, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xbc, 0x16, 0x08, 0x1c, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xbd, - 0x16, 0x08, 0xbf, 0x16, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x12, 0x06, 0xc1, 0x16, 0x06, 0xc6, 0x16, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x16, 0x08, 0x26, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xc3, 0x16, - 0x08, 0xc5, 0x16, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x12, 0x06, 0xc7, 0x16, 0x06, 0xcc, 0x16, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xc8, 0x16, 0x08, 0x1d, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xc9, 0x16, 0x08, - 0xcb, 0x16, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x12, 0x06, 0xcd, 0x16, 0x06, 0xd2, 0x16, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xce, 0x16, 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x11, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xcf, 0x16, 0x08, 0xd1, - 0x16, 0x6c, 0x0a, 0xd8, 0x06, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x04, 0x12, 0x06, 0xe7, 0x16, 0x04, - 0x86, 0x17, 0x06, 0x1a, 0xc7, 0x06, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, - 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, - 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, - 0x35, 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x35, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x20, 0x5b, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x67, 0x74, 0x65, 0x5f, 0x6c, - 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x35, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x31, 0x30, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x35, 0x20, 0x5b, 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, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x61, 0x6e, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x31, 0x30, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x35, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe7, 0x16, 0x04, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe7, 0x16, 0x0d, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe7, 0x16, 0x13, 0x14, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x04, 0x08, 0x12, 0x06, 0xe7, 0x16, 0x15, 0x86, 0x17, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe8, 0x16, 0x06, 0xed, 0x16, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xe9, 0x16, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x06, 0xea, 0x16, 0x08, 0xec, 0x16, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xee, 0x16, 0x06, 0xf3, 0x16, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xef, - 0x16, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x03, 0x12, 0x06, 0xf0, 0x16, 0x08, 0xf2, 0x16, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xf4, 0x16, 0x06, 0xf9, 0x16, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xf5, 0x16, - 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, - 0x12, 0x06, 0xf6, 0x16, 0x08, 0xf8, 0x16, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xfa, 0x16, 0x06, 0xff, 0x16, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xfb, 0x16, 0x08, - 0x1e, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, - 0x06, 0xfc, 0x16, 0x08, 0xfe, 0x16, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0x80, 0x17, 0x06, 0x85, 0x17, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0x81, 0x17, 0x08, 0x28, - 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, - 0x82, 0x17, 0x08, 0x84, 0x17, 0x79, 0x0a, 0xcd, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x05, 0x12, - 0x06, 0x93, 0x17, 0x02, 0x96, 0x17, 0x05, 0x1a, 0xbc, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, - 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x69, 0x6e, 0x3a, 0x20, - 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x04, 0x12, - 0x04, 0x93, 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x05, 0x12, 0x04, - 0x93, 0x17, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x01, 0x12, 0x04, 0x93, - 0x17, 0x14, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x03, 0x12, 0x04, 0x93, 0x17, - 0x19, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x05, 0x08, 0x12, 0x06, 0x93, 0x17, 0x1b, - 0x96, 0x17, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0x93, 0x17, 0x1c, 0x96, 0x17, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x94, 0x17, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x11, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x95, 0x17, 0x04, 0x74, - 0x0a, 0xda, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x06, 0x12, 0x06, 0xa2, 0x17, 0x02, 0xa5, 0x17, - 0x05, 0x1a, 0xc9, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x5b, 0x31, 0x2c, 0x20, - 0x32, 0x2c, 0x20, 0x33, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, - 0x34, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x2c, 0x20, 0x33, 0x5d, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x06, 0x04, 0x12, 0x04, 0xa2, 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa2, 0x17, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa2, 0x17, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x06, 0x03, 0x12, 0x04, 0xa2, 0x17, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x06, 0x08, 0x12, 0x06, 0xa2, 0x17, 0x1f, 0xa5, 0x17, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa2, 0x17, 0x20, 0xa5, 0x17, 0x03, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa3, - 0x17, 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x03, 0x12, 0x04, 0xa4, 0x17, 0x04, 0x63, 0x0a, 0x8e, 0x03, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x07, - 0x12, 0x06, 0xb3, 0x17, 0x02, 0xb6, 0x17, 0x05, 0x1a, 0xfd, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, - 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, - 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, - 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, - 0x04, 0x12, 0x04, 0xb3, 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x05, - 0x12, 0x04, 0xb3, 0x17, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x01, 0x12, - 0x04, 0xb3, 0x17, 0x14, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x03, 0x12, 0x04, - 0xb3, 0x17, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x07, 0x08, 0x12, 0x06, 0xb3, - 0x17, 0x20, 0xb6, 0x17, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x11, 0x02, 0x07, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xb3, 0x17, 0x21, 0xb6, 0x17, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x11, - 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb4, 0x17, 0x04, 0x1a, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x11, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xb5, 0x17, - 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x11, 0x05, 0x12, 0x04, 0xbb, 0x17, 0x02, 0x19, - 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x11, 0x05, 0x00, 0x12, 0x04, 0xbb, 0x17, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x05, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x17, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x05, 0x00, 0x02, 0x12, 0x04, 0xbb, 0x17, 0x15, 0x18, 0x0a, 0x9d, 0x01, 0x0a, 0x02, 0x04, 0x12, - 0x12, 0x06, 0xc0, 0x17, 0x00, 0xe4, 0x17, 0x01, 0x1a, 0x8e, 0x01, 0x20, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x62, 0x6f, 0x6f, 0x6c, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x0a, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, - 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, - 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, - 0x12, 0x04, 0xc0, 0x17, 0x08, 0x11, 0x0a, 0xa0, 0x02, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, - 0x06, 0xca, 0x17, 0x02, 0xcd, 0x17, 0x05, 0x1a, 0x8f, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, - 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, - 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x65, - 0x61, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x42, 0x6f, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x6f, 0x6f, - 0x6c, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xca, 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xca, 0x17, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xca, 0x17, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xca, 0x17, 0x18, 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x06, - 0xca, 0x17, 0x1a, 0xcd, 0x17, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x12, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xca, 0x17, 0x1b, 0xcd, 0x17, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x12, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x17, 0x04, 0x14, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x12, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xcc, - 0x17, 0x04, 0x72, 0x0a, 0xfe, 0x02, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x06, 0xdb, 0x17, - 0x02, 0xde, 0x17, 0x05, 0x1a, 0xed, 0x02, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, - 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x42, 0x6f, 0x6f, 0x6c, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x6f, - 0x6f, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x20, 0x3d, 0x20, 0x32, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x04, 0x12, 0x04, 0xdb, - 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdb, 0x17, - 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdb, 0x17, 0x10, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdb, 0x17, 0x1a, 0x1b, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x06, 0xdb, 0x17, 0x1c, 0xde, 0x17, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x12, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xdb, 0x17, 0x1d, 0xde, 0x17, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x12, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x17, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x12, - 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x17, 0x04, 0x16, 0x0a, 0xb8, - 0x01, 0x0a, 0x03, 0x04, 0x12, 0x05, 0x12, 0x04, 0xe3, 0x17, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, - 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x05, - 0x00, 0x12, 0x04, 0xe3, 0x17, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x05, 0x00, 0x01, - 0x12, 0x04, 0xe3, 0x17, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x05, 0x00, 0x02, 0x12, - 0x04, 0xe3, 0x17, 0x15, 0x18, 0x0a, 0xa2, 0x01, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xe8, 0x17, - 0x00, 0xe2, 0x1d, 0x01, 0x1a, 0x93, 0x01, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x0a, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x2d, 0x4b, 0x6e, - 0x6f, 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, - 0x01, 0x12, 0x04, 0xe8, 0x17, 0x08, 0x13, 0x0a, 0xa4, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, - 0x12, 0x06, 0xf2, 0x17, 0x02, 0xf5, 0x17, 0x05, 0x1a, 0x93, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x60, 0x68, 0x65, 0x6c, 0x6c, - 0x6f, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x68, 0x65, 0x6c, - 0x6c, 0x6f, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf2, 0x17, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf2, 0x17, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf2, 0x17, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x17, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x00, 0x08, 0x12, 0x06, 0xf2, 0x17, 0x1c, 0xf5, 0x17, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x13, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf2, 0x17, 0x1d, 0xf5, 0x17, 0x03, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xf3, 0x17, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x04, 0xf4, 0x17, 0x04, 0x74, 0x0a, 0x9b, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, - 0x01, 0x12, 0x06, 0x82, 0x18, 0x02, 0x85, 0x18, 0x05, 0x1a, 0x8a, 0x03, 0x20, 0x60, 0x6c, 0x65, - 0x6e, 0x60, 0x20, 0x64, 0x69, 0x63, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x28, - 0x55, 0x6e, 0x69, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x70, 0x6f, 0x69, - 0x6e, 0x74, 0x73, 0x29, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x6d, 0x61, 0x79, 0x20, - 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x35, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, - 0x72, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x35, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x04, 0x12, - 0x04, 0x82, 0x18, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x82, 0x18, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0x82, - 0x18, 0x12, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0x82, 0x18, - 0x18, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x08, 0x12, 0x06, 0x82, 0x18, 0x1b, - 0x85, 0x18, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0x82, 0x18, 0x1c, 0x85, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x83, 0x18, 0x04, 0x14, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x84, 0x18, 0x04, 0x70, - 0x0a, 0xad, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x02, 0x12, 0x06, 0x92, 0x18, 0x02, 0x95, 0x18, - 0x05, 0x1a, 0x9c, 0x03, 0x20, 0x60, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, - 0x74, 0x65, 0x72, 0x73, 0x20, 0x28, 0x55, 0x6e, 0x69, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x63, 0x6f, - 0x64, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x29, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, - 0x68, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x0a, 0x20, 0x6f, 0x66, - 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x73, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, - 0x72, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x33, 0x20, 0x63, 0x68, - 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, - 0x6e, 0x20, 0x3d, 0x20, 0x33, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x04, 0x12, 0x04, 0x92, 0x18, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x05, 0x12, 0x04, 0x92, 0x18, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, 0x12, 0x04, 0x92, 0x18, 0x12, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, 0x04, 0x92, 0x18, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x02, 0x08, 0x12, 0x06, 0x92, 0x18, 0x1e, 0x95, 0x18, 0x04, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x13, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x92, 0x18, 0x1f, 0x95, - 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0x93, 0x18, 0x04, 0x18, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0x94, 0x18, 0x04, 0x80, 0x01, 0x0a, 0xb1, 0x03, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x03, 0x12, 0x06, 0xa2, 0x18, 0x02, 0xa5, 0x18, 0x05, 0x1a, 0xa0, 0x03, 0x20, - 0x60, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x28, 0x55, 0x6e, 0x69, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x63, 0x6f, 0x64, - 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x29, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, - 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x20, 0x63, 0x68, 0x61, 0x72, - 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x20, - 0x3d, 0x20, 0x31, 0x30, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x03, 0x04, 0x12, 0x04, 0xa2, 0x18, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x03, 0x05, 0x12, 0x04, 0xa2, 0x18, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa2, 0x18, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa2, 0x18, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x03, 0x08, 0x12, 0x06, 0xa2, 0x18, 0x1e, 0xa5, 0x18, 0x04, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x13, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa2, 0x18, 0x1f, 0xa5, 0x18, - 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xa3, 0x18, 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x18, 0x04, 0x7f, 0x0a, 0xd7, 0x02, 0x0a, 0x04, 0x04, 0x13, - 0x02, 0x04, 0x12, 0x06, 0xb1, 0x18, 0x02, 0xb4, 0x18, 0x05, 0x1a, 0xc6, 0x02, 0x20, 0x60, 0x6c, - 0x65, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x60, 0x20, 0x64, 0x69, 0x63, 0x74, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x36, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6c, 0x65, 0x6e, 0x5f, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x36, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x04, 0x12, 0x04, 0xb1, 0x18, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x05, 0x12, 0x04, 0xb1, 0x18, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb1, 0x18, 0x12, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb1, 0x18, 0x1e, 0x20, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x08, 0x12, 0x06, 0xb1, 0x18, 0x21, 0xb4, 0x18, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb1, - 0x18, 0x22, 0xb4, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x18, 0x04, 0x1a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xb3, 0x18, 0x04, 0x7e, 0x0a, 0xd3, 0x02, - 0x0a, 0x04, 0x04, 0x13, 0x02, 0x05, 0x12, 0x06, 0xc1, 0x18, 0x02, 0xc4, 0x18, 0x05, 0x1a, 0xc2, - 0x02, 0x20, 0x60, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x60, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x66, 0x65, 0x77, 0x65, - 0x72, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x34, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x04, 0x12, 0x04, 0xc1, 0x18, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x05, 0x12, 0x04, 0xc1, 0x18, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc1, 0x18, 0x12, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc1, 0x18, 0x1e, 0x1f, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x08, 0x12, 0x06, 0xc1, 0x18, 0x20, 0xc4, 0x18, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc1, - 0x18, 0x21, 0xc4, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x05, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x18, 0x04, 0x1a, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0xc3, 0x18, 0x04, 0x86, 0x01, 0x0a, 0xd3, - 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x06, 0x12, 0x06, 0xd0, 0x18, 0x02, 0xd3, 0x18, 0x05, 0x1a, - 0xc2, 0x02, 0x20, 0x60, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, - 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x0a, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x38, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6d, 0x61, 0x78, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x38, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x06, 0x04, 0x12, 0x04, 0xd0, - 0x18, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x06, 0x05, 0x12, 0x04, 0xd0, 0x18, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x06, 0x01, 0x12, 0x04, 0xd0, 0x18, 0x12, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x06, 0x03, 0x12, 0x04, 0xd0, 0x18, 0x1e, 0x1f, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x06, 0x08, 0x12, 0x06, 0xd0, 0x18, 0x20, 0xd3, 0x18, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0xd0, 0x18, 0x21, 0xd3, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x06, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x18, 0x04, 0x1a, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0xd2, 0x18, 0x04, 0x85, 0x01, 0x0a, - 0xb5, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x07, 0x12, 0x06, 0xe0, 0x18, 0x02, 0xe3, 0x18, 0x05, - 0x1a, 0xa4, 0x03, 0x20, 0x60, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x60, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x52, 0x45, 0x32, 0x20, 0x73, - 0x79, 0x6e, 0x74, 0x61, 0x78, 0x29, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x79, - 0x0a, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5d, 0x2f, 0x2f, - 0x24, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x5e, - 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5d, 0x2f, 0x2f, 0x24, 0x22, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x04, - 0x12, 0x04, 0xe0, 0x18, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x05, 0x12, - 0x04, 0xe0, 0x18, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x01, 0x12, 0x04, - 0xe0, 0x18, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe0, - 0x18, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x08, 0x12, 0x06, 0xe0, 0x18, - 0x1e, 0xe3, 0x18, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xe0, 0x18, 0x1f, 0xe3, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe1, 0x18, 0x04, 0x18, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe2, 0x18, 0x04, - 0x77, 0x0a, 0xee, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x08, 0x12, 0x06, 0xf0, 0x18, 0x02, 0xf3, - 0x18, 0x05, 0x1a, 0xdd, 0x02, 0x20, 0x60, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x0a, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x70, 0x72, 0x65, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, - 0x3d, 0x20, 0x22, 0x70, 0x72, 0x65, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x08, 0x04, 0x12, 0x04, 0xf0, 0x18, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x08, 0x05, 0x12, 0x04, 0xf0, 0x18, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x08, 0x01, 0x12, 0x04, 0xf0, 0x18, 0x12, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x08, 0x03, 0x12, 0x04, 0xf0, 0x18, 0x1b, 0x1c, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x08, 0x08, 0x12, 0x06, 0xf0, 0x18, 0x1d, 0xf3, 0x18, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf0, 0x18, - 0x1e, 0xf3, 0x18, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xf1, 0x18, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x08, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x18, 0x04, 0x70, 0x0a, 0xe7, 0x02, 0x0a, - 0x04, 0x04, 0x13, 0x02, 0x09, 0x12, 0x06, 0xff, 0x18, 0x02, 0x82, 0x19, 0x05, 0x1a, 0xd6, 0x02, - 0x20, 0x60, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x0a, - 0x20, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x70, 0x6f, 0x73, 0x74, 0x60, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x75, 0x66, 0x66, - 0x69, 0x78, 0x20, 0x3d, 0x20, 0x22, 0x70, 0x6f, 0x73, 0x74, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x09, 0x04, 0x12, - 0x04, 0xff, 0x18, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x09, 0x05, 0x12, 0x04, - 0xff, 0x18, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x09, 0x01, 0x12, 0x04, 0xff, - 0x18, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x09, 0x03, 0x12, 0x04, 0xff, 0x18, - 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x09, 0x08, 0x12, 0x06, 0xff, 0x18, 0x1d, - 0x82, 0x19, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x09, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xff, 0x18, 0x1e, 0x82, 0x19, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x09, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x80, 0x19, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x09, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x81, 0x19, 0x04, 0x6e, - 0x0a, 0xf6, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x0a, 0x12, 0x06, 0x8e, 0x19, 0x02, 0x91, 0x19, - 0x05, 0x1a, 0xe5, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x61, 0x6e, 0x79, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x22, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x0a, 0x04, 0x12, 0x04, 0x8e, 0x19, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0a, - 0x05, 0x12, 0x04, 0x8e, 0x19, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0a, 0x01, - 0x12, 0x04, 0x8e, 0x19, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0a, 0x03, 0x12, - 0x04, 0x8e, 0x19, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0a, 0x08, 0x12, 0x06, - 0x8e, 0x19, 0x1f, 0x91, 0x19, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0a, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0x8e, 0x19, 0x20, 0x91, 0x19, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8f, 0x19, 0x04, 0x19, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x90, - 0x19, 0x04, 0x78, 0x0a, 0xf3, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x0b, 0x12, 0x06, 0x9d, 0x19, - 0x02, 0xa0, 0x19, 0x05, 0x1a, 0xe2, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x73, 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x79, 0x77, - 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x0a, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x73, - 0x75, 0x62, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x69, 0x6e, 0x73, - 0x69, 0x64, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x22, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x22, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x0b, 0x04, 0x12, 0x04, 0x9d, 0x19, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0b, - 0x05, 0x12, 0x04, 0x9d, 0x19, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0b, 0x01, - 0x12, 0x04, 0x9d, 0x19, 0x12, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0b, 0x03, 0x12, - 0x04, 0x9d, 0x19, 0x21, 0x23, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0b, 0x08, 0x12, 0x06, - 0x9d, 0x19, 0x24, 0xa0, 0x19, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0b, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0x9d, 0x19, 0x25, 0xa0, 0x19, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x9e, 0x19, 0x04, 0x1d, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x9f, - 0x19, 0x04, 0x77, 0x0a, 0x82, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x0c, 0x12, 0x06, 0xac, 0x19, - 0x02, 0xaf, 0x19, 0x05, 0x1a, 0xf1, 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x5b, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x61, 0x6e, 0x61, - 0x6e, 0x61, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x61, 0x70, 0x70, 0x6c, - 0x65, 0x22, 0x2c, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x62, 0x61, 0x6e, 0x61, 0x6e, 0x61, 0x22, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0c, - 0x04, 0x12, 0x04, 0xac, 0x19, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0c, 0x05, - 0x12, 0x04, 0xac, 0x19, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0c, 0x01, 0x12, - 0x04, 0xac, 0x19, 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0c, 0x03, 0x12, 0x04, - 0xac, 0x19, 0x17, 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0c, 0x08, 0x12, 0x06, 0xac, - 0x19, 0x1a, 0xaf, 0x19, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0c, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xac, 0x19, 0x1b, 0xaf, 0x19, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xad, 0x19, 0x04, 0x13, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xae, 0x19, - 0x04, 0x74, 0x0a, 0x90, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x0d, 0x12, 0x06, 0xba, 0x19, 0x02, - 0xbd, 0x19, 0x05, 0x1a, 0xff, 0x02, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x22, 0x6f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x2c, - 0x20, 0x22, 0x67, 0x72, 0x61, 0x70, 0x65, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x20, 0x3d, 0x20, 0x22, 0x6f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x22, 0x2c, 0x20, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x20, 0x3d, 0x20, 0x22, 0x67, 0x72, 0x61, 0x70, 0x65, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0d, 0x04, 0x12, 0x04, - 0xba, 0x19, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0d, 0x05, 0x12, 0x04, 0xba, - 0x19, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xba, 0x19, - 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xba, 0x19, 0x1b, - 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0d, 0x08, 0x12, 0x06, 0xba, 0x19, 0x1e, 0xbd, - 0x19, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xba, 0x19, 0x1f, 0xbd, 0x19, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0d, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x19, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xbc, 0x19, 0x04, 0x63, 0x0a, - 0x5b, 0x0a, 0x04, 0x04, 0x13, 0x08, 0x00, 0x12, 0x06, 0xc1, 0x19, 0x02, 0xbd, 0x1d, 0x03, 0x1a, - 0x4b, 0x20, 0x60, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x60, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x61, 0x64, 0x76, 0x61, - 0x6e, 0x63, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, - 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x0a, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x19, 0x08, 0x12, 0x0a, 0xc9, 0x05, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x0e, 0x12, 0x06, 0xd2, 0x19, 0x04, 0xdd, 0x19, 0x06, 0x1a, 0xb8, 0x05, 0x20, - 0x60, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 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, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x20, 0x22, 0x66, 0x6f, 0x6f, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x43, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x65, - 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x5b, 0x48, 0x54, 0x4d, 0x4c, 0x20, 0x73, 0x74, 0x61, 0x6e, - 0x64, 0x61, 0x72, 0x64, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x68, 0x74, - 0x6d, 0x6c, 0x2e, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x77, 0x68, 0x61, 0x74, 0x77, 0x67, 0x2e, 0x6f, - 0x72, 0x67, 0x2f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x61, 0x67, 0x65, 0x2f, 0x69, 0x6e, 0x70, - 0x75, 0x74, 0x2e, 0x68, 0x74, 0x6d, 0x6c, 0x23, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2d, 0x65, 0x2d, - 0x6d, 0x61, 0x69, 0x6c, 0x2d, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x29, 0x2e, 0x0a, 0x20, - 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, - 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x66, 0x75, 0x6c, 0x6c, - 0x79, 0x20, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x5b, 0x52, 0x46, 0x43, 0x20, 0x35, 0x33, 0x32, 0x32, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, - 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, - 0x2f, 0x72, 0x66, 0x63, 0x35, 0x33, 0x32, 0x32, 0x29, 0x2c, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, - 0x68, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x75, 0x6e, - 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x73, 0x20, 0x6f, - 0x66, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x61, 0x73, 0x69, 0x6c, - 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x61, 0x20, 0x74, 0x79, 0x70, 0x6f, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0e, 0x05, - 0x12, 0x04, 0xd2, 0x19, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0e, 0x01, 0x12, - 0x04, 0xd2, 0x19, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0e, 0x03, 0x12, 0x04, - 0xd2, 0x19, 0x11, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x12, 0x06, 0xd2, - 0x19, 0x14, 0xdd, 0x19, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xd3, 0x19, 0x06, 0xd7, 0x19, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd4, 0x19, 0x08, 0x1a, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xd5, 0x19, - 0x08, 0x36, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x04, 0xd6, 0x19, 0x08, 0x42, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x12, 0x06, 0xd8, 0x19, 0x06, 0xdc, 0x19, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xd9, 0x19, 0x08, 0x20, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xda, - 0x19, 0x08, 0x45, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x03, 0x12, 0x04, 0xdb, 0x19, 0x08, 0x30, 0x0a, 0x95, 0x06, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x0f, - 0x12, 0x06, 0xf2, 0x19, 0x04, 0xfd, 0x19, 0x06, 0x1a, 0x84, 0x06, 0x20, 0x60, 0x68, 0x6f, 0x73, - 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 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, - 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x22, 0x66, 0x6f, - 0x6f, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2e, 0x0a, - 0x0a, 0x20, 0x41, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x3a, 0x0a, 0x20, 0x2d, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x73, 0x74, 0x73, - 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x2c, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x64, 0x6f, 0x74, 0x20, 0x28, 0x22, 0x2e, 0x22, 0x29, - 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, - 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x31, 0x20, 0x74, 0x6f, 0x20, 0x36, 0x33, 0x20, 0x61, - 0x6c, 0x70, 0x68, 0x61, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x63, 0x68, 0x61, 0x72, - 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x41, 0x20, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x68, - 0x79, 0x70, 0x68, 0x65, 0x6e, 0x73, 0x20, 0x28, 0x22, 0x2d, 0x22, 0x29, 0x2c, 0x20, 0x62, 0x75, - 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x20, 0x6f, 0x72, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x68, - 0x79, 0x70, 0x68, 0x65, 0x6e, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x2d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x67, 0x69, 0x74, - 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x20, 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x20, 0x74, - 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x74, 0xe2, 0x80, 0x94, 0x66, 0x6f, - 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x66, 0x6f, 0x6f, 0x2e, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2e, 0x22, 0x2e, 0x0a, 0x20, - 0x2d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x32, 0x35, 0x33, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, - 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x2c, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x74, 0x2e, 0x0a, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0f, 0x05, 0x12, 0x04, 0xf2, 0x19, 0x04, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xf2, 0x19, 0x09, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xf2, 0x19, 0x14, 0x16, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x0f, 0x08, 0x12, 0x06, 0xf2, 0x19, 0x17, 0xfd, 0x19, 0x05, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x13, 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf3, 0x19, 0x06, 0xf7, - 0x19, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xf4, 0x19, 0x08, 0x1d, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0f, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xf5, 0x19, 0x08, 0x31, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x19, 0x08, 0x48, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x13, 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xf8, 0x19, 0x06, - 0xfc, 0x19, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x01, 0x12, 0x04, 0xf9, 0x19, 0x08, 0x23, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x0f, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xfa, 0x19, 0x08, 0x40, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x0f, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xfb, 0x19, 0x08, 0x33, 0x0a, - 0xc9, 0x05, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x10, 0x12, 0x06, 0x91, 0x1a, 0x04, 0x9c, 0x1a, 0x06, - 0x1a, 0xb8, 0x05, 0x20, 0x60, 0x69, 0x70, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 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, 0x28, 0x76, 0x34, 0x20, 0x6f, - 0x72, 0x20, 0x76, 0x36, 0x29, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, - 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x64, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x20, 0x64, 0x65, 0x63, 0x69, 0x6d, - 0x61, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, - 0x38, 0x2e, 0x35, 0x2e, 0x32, 0x31, 0x22, 0x2e, 0x0a, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, - 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, 0x78, 0x70, - 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x74, - 0x65, 0x78, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2c, 0x20, 0x22, 0x3a, 0x3a, 0x31, 0x22, 0x2c, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x32, 0x30, - 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, 0x3a, 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, - 0x32, 0x3a, 0x3a, 0x30, 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x42, 0x6f, 0x74, 0x68, 0x20, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, - 0x5b, 0x52, 0x46, 0x43, 0x20, 0x33, 0x39, 0x38, 0x36, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, - 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, - 0x2f, 0x72, 0x66, 0x63, 0x33, 0x39, 0x38, 0x36, 0x29, 0x2e, 0x0a, 0x20, 0x5a, 0x6f, 0x6e, 0x65, - 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x65, 0x73, 0x20, - 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x66, - 0x65, 0x38, 0x30, 0x3a, 0x3a, 0x61, 0x25, 0x65, 0x6e, 0x31, 0x22, 0x29, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, - 0x50, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x10, 0x05, 0x12, 0x04, 0x91, 0x1a, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x10, 0x01, 0x12, 0x04, 0x91, 0x1a, 0x09, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x10, 0x03, 0x12, 0x04, 0x91, 0x1a, 0x0e, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x10, - 0x08, 0x12, 0x06, 0x91, 0x1a, 0x11, 0x9c, 0x1a, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, - 0x10, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x92, 0x1a, 0x06, 0x96, 0x1a, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x93, 0x1a, - 0x08, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, - 0x12, 0x04, 0x94, 0x1a, 0x08, 0x33, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x95, 0x1a, 0x08, 0x3c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, - 0x02, 0x10, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x97, 0x1a, 0x06, 0x9b, 0x1a, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x98, - 0x1a, 0x08, 0x1d, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x02, 0x12, 0x04, 0x99, 0x1a, 0x08, 0x42, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x10, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0x9a, 0x1a, 0x08, 0x2d, 0x0a, 0xd7, 0x02, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x11, 0x12, 0x06, 0xa8, 0x1a, 0x04, 0xb3, 0x1a, 0x06, 0x1a, 0xc6, 0x02, 0x20, - 0x60, 0x69, 0x70, 0x76, 0x34, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x20, 0x22, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x35, 0x2e, 0x32, 0x31, 0x22, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2c, - 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, - 0x70, 0x76, 0x34, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x11, 0x05, 0x12, 0x04, - 0xa8, 0x1a, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x11, 0x01, 0x12, 0x04, 0xa8, - 0x1a, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x11, 0x03, 0x12, 0x04, 0xa8, 0x1a, - 0x10, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x11, 0x08, 0x12, 0x06, 0xa8, 0x1a, 0x13, - 0xb3, 0x1a, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xa9, 0x1a, 0x06, 0xad, 0x1a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x11, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x1a, 0x08, 0x19, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xab, 0x1a, 0x08, 0x35, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xac, 0x1a, 0x08, 0x3f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x12, 0x06, 0xae, 0x1a, 0x06, 0xb2, 0x1a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x11, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x1a, 0x08, 0x1f, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xb0, 0x1a, 0x08, - 0x44, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x11, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, - 0x04, 0xb1, 0x1a, 0x08, 0x2f, 0x0a, 0xfc, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x12, 0x12, 0x06, - 0xbf, 0x1a, 0x04, 0xca, 0x1a, 0x06, 0x1a, 0xeb, 0x02, 0x20, 0x60, 0x69, 0x70, 0x76, 0x36, 0x60, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0xe2, 0x80, 0x94, 0x66, - 0x6f, 0x72, 0x0a, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x22, 0x3a, 0x3a, 0x31, - 0x22, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x64, 0x37, 0x61, 0x3a, 0x31, 0x31, 0x35, 0x63, 0x3a, - 0x61, 0x31, 0x65, 0x30, 0x3a, 0x61, 0x62, 0x31, 0x32, 0x3a, 0x34, 0x38, 0x34, 0x33, 0x3a, 0x63, - 0x64, 0x39, 0x36, 0x3a, 0x36, 0x32, 0x36, 0x62, 0x3a, 0x34, 0x33, 0x30, 0x62, 0x22, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 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, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x0a, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, - 0x76, 0x36, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x12, 0x05, 0x12, 0x04, 0xbf, - 0x1a, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x12, 0x01, 0x12, 0x04, 0xbf, 0x1a, - 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x12, 0x03, 0x12, 0x04, 0xbf, 0x1a, 0x10, - 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x12, 0x08, 0x12, 0x06, 0xbf, 0x1a, 0x13, 0xca, - 0x1a, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xc0, 0x1a, 0x06, 0xc4, 0x1a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x12, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x1a, 0x08, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xc2, 0x1a, 0x08, 0x35, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc3, - 0x1a, 0x08, 0x3f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x12, 0x06, 0xc5, 0x1a, 0x06, 0xc9, 0x1a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x12, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x1a, 0x08, 0x1f, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xc7, 0x1a, 0x08, 0x44, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x12, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, - 0xc8, 0x1a, 0x08, 0x2f, 0x0a, 0xb2, 0x04, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x13, 0x12, 0x06, 0xda, - 0x1a, 0x04, 0xe5, 0x1a, 0x06, 0x1a, 0xa1, 0x04, 0x20, 0x60, 0x75, 0x72, 0x69, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 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, 0x2c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x0a, 0x20, - 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6f, 0x6f, 0x2f, 0x62, 0x61, 0x72, 0x3f, 0x62, 0x61, 0x7a, - 0x3d, 0x71, 0x75, 0x75, 0x78, 0x23, 0x66, 0x72, 0x61, 0x67, 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x55, - 0x52, 0x49, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x20, 0x73, 0x74, - 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x33, 0x39, 0x38, 0x36, - 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, - 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, - 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x33, 0x39, 0x38, 0x36, 0x29, - 0x2e, 0x0a, 0x20, 0x5a, 0x6f, 0x6e, 0x65, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x20, 0x6c, 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x28, 0x5b, 0x52, 0x46, 0x43, - 0x20, 0x36, 0x38, 0x37, 0x34, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, - 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, - 0x36, 0x38, 0x37, 0x34, 0x29, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, - 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x72, 0x69, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x13, 0x05, 0x12, 0x04, 0xda, 0x1a, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x13, - 0x01, 0x12, 0x04, 0xda, 0x1a, 0x09, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x13, 0x03, - 0x12, 0x04, 0xda, 0x1a, 0x0f, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x13, 0x08, 0x12, - 0x06, 0xda, 0x1a, 0x12, 0xe5, 0x1a, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x13, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xdb, 0x1a, 0x06, 0xdf, 0x1a, 0x07, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x1a, 0x08, 0x18, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, - 0xdd, 0x1a, 0x08, 0x2c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x04, 0xde, 0x1a, 0x08, 0x3e, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x13, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xe0, 0x1a, 0x06, 0xe4, 0x1a, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xe1, 0x1a, 0x08, - 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, - 0x04, 0xe2, 0x1a, 0x08, 0x3b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x13, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x03, 0x12, 0x04, 0xe3, 0x1a, 0x08, 0x2e, 0x0a, 0xc0, 0x05, 0x0a, 0x04, 0x04, 0x13, - 0x02, 0x14, 0x12, 0x06, 0xf8, 0x1a, 0x04, 0xfc, 0x1a, 0x07, 0x1a, 0xaf, 0x05, 0x20, 0x60, 0x75, - 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 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, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0xe2, 0x80, 0x94, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x0a, 0x20, 0x61, - 0x20, 0x55, 0x52, 0x49, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x66, 0x6f, 0x6f, 0x2f, 0x62, 0x61, 0x72, 0x3f, 0x62, 0x61, 0x7a, 0x3d, 0x71, 0x75, - 0x75, 0x78, 0x23, 0x66, 0x72, 0x61, 0x67, 0x22, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x52, - 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x0a, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x2e, 0x2f, 0x66, 0x6f, - 0x6f, 0x2f, 0x62, 0x61, 0x72, 0x3f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x2e, 0x0a, 0x0a, 0x20, - 0x55, 0x52, 0x49, 0x2c, 0x20, 0x55, 0x52, 0x49, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x0a, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x33, 0x39, 0x38, 0x36, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, - 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, - 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x33, 0x39, 0x38, 0x36, 0x29, 0x2e, 0x20, 0x5a, 0x6f, 0x6e, 0x65, - 0x0a, 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x6c, 0x69, - 0x74, 0x65, 0x72, 0x61, 0x6c, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x65, 0x64, 0x20, 0x28, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x36, 0x38, 0x37, 0x34, 0x5d, - 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, - 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, - 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x36, 0x38, 0x37, 0x34, 0x29, 0x29, - 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x52, 0x49, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x75, 0x72, 0x69, 0x5f, 0x72, 0x65, 0x66, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x14, 0x05, 0x12, 0x04, 0xf8, 0x1a, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x14, 0x01, 0x12, 0x04, 0xf8, 0x1a, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x14, 0x03, 0x12, 0x04, 0xf8, 0x1a, 0x13, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x14, 0x08, 0x12, 0x06, 0xf8, 0x1a, 0x16, 0xfc, 0x1a, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, - 0x02, 0x14, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf8, 0x1a, 0x17, 0xfc, 0x1a, 0x05, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x14, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf9, - 0x1a, 0x06, 0x1a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x14, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x02, 0x12, 0x04, 0xfa, 0x1a, 0x06, 0x34, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x14, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xfb, 0x1a, 0x06, 0x35, 0x0a, 0xb7, 0x03, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x15, 0x12, 0x06, 0x89, 0x1b, 0x04, 0x94, 0x1b, 0x06, 0x1a, 0xa6, 0x03, 0x20, - 0x60, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x29, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x28, 0x76, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x36, 0x29, - 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x22, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, - 0x2e, 0x30, 0x2e, 0x31, 0x22, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x3a, 0x3a, 0x31, 0x22, 0x29, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x49, - 0x50, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x61, 0x64, 0x64, 0x72, - 0x65, 0x73, 0x73, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x15, 0x05, 0x12, 0x04, - 0x89, 0x1b, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x15, 0x01, 0x12, 0x04, 0x89, - 0x1b, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x15, 0x03, 0x12, 0x04, 0x89, 0x1b, - 0x13, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x15, 0x08, 0x12, 0x06, 0x89, 0x1b, 0x16, - 0x94, 0x1b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0x8a, 0x1b, 0x06, 0x8e, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x15, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x1b, 0x08, 0x1c, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0x8c, 0x1b, 0x08, 0x40, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0x8d, 0x1b, 0x08, 0x56, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x12, 0x06, 0x8f, 0x1b, 0x06, 0x93, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x15, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x90, 0x1b, 0x08, 0x22, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0x91, 0x1b, 0x08, - 0x4f, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x15, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, - 0x04, 0x92, 0x1b, 0x08, 0x32, 0x0a, 0xf8, 0x02, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x16, 0x12, 0x06, - 0xa0, 0x1b, 0x04, 0xab, 0x1b, 0x06, 0x1a, 0xe7, 0x02, 0x20, 0x60, 0x75, 0x75, 0x69, 0x64, 0x60, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 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, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x0a, 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x34, 0x31, 0x32, 0x32, 0x5d, 0x28, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, - 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, - 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x34, 0x31, 0x32, 0x32, 0x23, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x34, 0x2e, 0x31, 0x2e, 0x32, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, - 0x55, 0x49, 0x44, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x20, 0x3d, - 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x16, 0x05, 0x12, 0x04, 0xa0, 0x1b, 0x04, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x16, 0x01, 0x12, 0x04, 0xa0, 0x1b, 0x09, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x16, 0x03, 0x12, 0x04, 0xa0, 0x1b, 0x10, 0x12, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x16, 0x08, 0x12, 0x06, 0xa0, 0x1b, 0x13, 0xab, 0x1b, 0x05, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa1, 0x1b, 0x06, - 0xa5, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0xa2, 0x1b, 0x08, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x16, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xa3, 0x1b, 0x08, 0x2d, 0x0a, 0x13, 0x0a, 0x0a, 0x04, - 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0xa4, 0x1b, 0x08, 0x90, 0x01, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xa6, - 0x1b, 0x06, 0xaa, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0xa7, 0x1b, 0x08, 0x1f, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x16, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xa8, 0x1b, 0x08, 0x3c, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x16, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xa9, 0x1b, 0x08, - 0x2f, 0x0a, 0xb9, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x17, 0x12, 0x06, 0xb8, 0x1b, 0x04, 0xc3, - 0x1b, 0x06, 0x1a, 0xa8, 0x03, 0x20, 0x60, 0x74, 0x75, 0x75, 0x69, 0x64, 0x60, 0x20, 0x28, 0x74, - 0x72, 0x69, 0x6d, 0x6d, 0x65, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x29, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 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, - 0x20, 0x61, 0x73, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x5b, 0x52, 0x46, 0x43, 0x20, 0x34, 0x31, 0x32, 0x32, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, - 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, - 0x2f, 0x72, 0x66, 0x63, 0x34, 0x31, 0x32, 0x32, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x34, 0x2e, 0x31, 0x2e, 0x32, 0x29, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x64, 0x61, 0x73, 0x68, 0x65, 0x73, 0x0a, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, - 0x64, 0x61, 0x73, 0x68, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x74, 0x75, 0x75, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x17, 0x05, 0x12, 0x04, 0xb8, 0x1b, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x17, 0x01, 0x12, 0x04, 0xb8, 0x1b, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x17, 0x03, 0x12, 0x04, 0xb8, 0x1b, 0x11, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x17, 0x08, 0x12, 0x06, 0xb8, 0x1b, 0x14, 0xc3, 0x1b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb9, 0x1b, 0x06, 0xbd, 0x1b, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xba, 0x1b, 0x08, 0x1a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x02, 0x12, 0x04, 0xbb, 0x1b, 0x08, 0x35, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x17, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xbc, 0x1b, 0x08, 0x55, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xbe, 0x1b, 0x06, 0xc2, 0x1b, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, - 0x04, 0xbf, 0x1b, 0x08, 0x20, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x17, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x02, 0x12, 0x04, 0xc0, 0x1b, 0x08, 0x44, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x17, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xc1, 0x1b, 0x08, 0x30, 0x0a, 0xc5, 0x03, - 0x0a, 0x04, 0x04, 0x13, 0x02, 0x18, 0x12, 0x06, 0xd0, 0x1b, 0x04, 0xdb, 0x1b, 0x06, 0x1a, 0xb4, - 0x03, 0x20, 0x60, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x0a, 0x20, 0x28, 0x76, 0x34, 0x20, 0x6f, 0x72, 0x20, - 0x76, 0x36, 0x29, 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, 0xe2, 0x80, - 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x31, - 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x35, 0x2e, 0x32, 0x31, 0x2f, 0x31, 0x36, 0x22, 0x20, - 0x6f, 0x72, 0x0a, 0x20, 0x22, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, 0x3a, 0x41, - 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x46, 0x31, 0x2f, 0x36, 0x34, 0x22, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x77, 0x69, 0x74, 0x68, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 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, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x18, 0x05, 0x12, 0x04, - 0xd0, 0x1b, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x18, 0x01, 0x12, 0x04, 0xd0, - 0x1b, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x18, 0x03, 0x12, 0x04, 0xd0, 0x1b, - 0x1d, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x18, 0x08, 0x12, 0x06, 0xd0, 0x1b, 0x20, - 0xdb, 0x1b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xd1, 0x1b, 0x06, 0xd5, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x18, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd2, 0x1b, 0x08, 0x26, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xd3, 0x1b, 0x08, 0x32, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xd4, 0x1b, 0x08, 0x51, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x12, 0x06, 0xd6, 0x1b, 0x06, 0xda, 0x1b, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x18, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xd7, 0x1b, 0x08, 0x2c, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xd8, 0x1b, 0x08, - 0x41, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x18, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, - 0x04, 0xd9, 0x1b, 0x08, 0x3c, 0x0a, 0xb4, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x19, 0x12, 0x06, - 0xe8, 0x1b, 0x04, 0xf3, 0x1b, 0x06, 0x1a, 0xa3, 0x03, 0x20, 0x60, 0x69, 0x70, 0x76, 0x34, 0x5f, - 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x0a, 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, 0xe2, - 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, - 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x35, 0x2e, 0x32, 0x31, 0x2f, 0x31, 0x36, 0x22, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 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, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 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, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 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, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x19, 0x05, 0x12, 0x04, 0xe8, 0x1b, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x19, 0x01, 0x12, 0x04, 0xe8, 0x1b, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x19, 0x03, 0x12, 0x04, 0xe8, 0x1b, 0x1f, 0x21, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x19, 0x08, 0x12, 0x06, 0xe8, 0x1b, 0x22, 0xf3, 0x1b, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, - 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe9, 0x1b, 0x06, 0xed, 0x1b, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xea, - 0x1b, 0x08, 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x02, 0x12, 0x04, 0xeb, 0x1b, 0x08, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xec, 0x1b, 0x08, 0x54, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x13, 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xee, 0x1b, 0x06, 0xf2, 0x1b, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, - 0xef, 0x1b, 0x08, 0x2e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x02, 0x12, 0x04, 0xf0, 0x1b, 0x08, 0x57, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x19, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xf1, 0x1b, 0x08, 0x3e, 0x0a, 0xbb, 0x03, 0x0a, - 0x04, 0x04, 0x13, 0x02, 0x1a, 0x12, 0x06, 0x80, 0x1c, 0x04, 0x8b, 0x1c, 0x06, 0x1a, 0xaa, 0x03, - 0x20, 0x60, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x77, 0x69, 0x74, 0x68, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x0a, 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, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, - 0x3a, 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x46, 0x31, 0x2f, 0x36, - 0x34, 0x22, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 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, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 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, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x1a, 0x05, 0x12, 0x04, 0x80, 0x1c, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x1a, 0x01, 0x12, 0x04, 0x80, 0x1c, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1a, - 0x03, 0x12, 0x04, 0x80, 0x1c, 0x1f, 0x21, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1a, 0x08, - 0x12, 0x06, 0x80, 0x1c, 0x22, 0x8b, 0x1c, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1a, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x81, 0x1c, 0x06, 0x85, 0x1c, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x82, 0x1c, 0x08, - 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, - 0x04, 0x83, 0x1c, 0x08, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x04, 0x84, 0x1c, 0x08, 0x54, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, - 0x1a, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x86, 0x1c, 0x06, 0x8a, 0x1c, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x87, 0x1c, - 0x08, 0x2e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, - 0x12, 0x04, 0x88, 0x1c, 0x08, 0x57, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1a, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0x89, 0x1c, 0x08, 0x3e, 0x0a, 0xc4, 0x04, 0x0a, 0x04, 0x04, - 0x13, 0x02, 0x1b, 0x12, 0x06, 0x9d, 0x1c, 0x04, 0xa8, 0x1c, 0x06, 0x1a, 0xb3, 0x04, 0x20, 0x60, - 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 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, 0x28, 0x76, 0x34, - 0x20, 0x6f, 0x72, 0x20, 0x76, 0x36, 0x29, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0xe2, - 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, - 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x31, 0x36, 0x22, 0x20, - 0x6f, 0x72, 0x20, 0x22, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, 0x3a, 0x41, 0x42, - 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x30, 0x2f, 0x36, 0x34, 0x22, 0x2e, 0x0a, - 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x73, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x73, 0x6b, 0x65, - 0x64, 0x20, 0x62, 0x69, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x22, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, - 0x3a, 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x30, 0x2f, 0x36, 0x34, - 0x22, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x36, 0x34, 0x20, 0x62, 0x69, - 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, - 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x36, 0x34, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, - 0x50, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 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, 0x70, 0x72, 0x65, - 0x66, 0x69, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, - 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1b, 0x05, 0x12, 0x04, 0x9d, 0x1c, 0x04, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1b, 0x01, 0x12, 0x04, 0x9d, 0x1c, 0x09, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1b, 0x03, 0x12, 0x04, 0x9d, 0x1c, 0x15, 0x17, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x12, 0x06, 0x9d, 0x1c, 0x18, 0xa8, 0x1c, 0x05, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9e, 0x1c, - 0x06, 0xa2, 0x1c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x9f, 0x1c, 0x08, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1b, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xa0, 0x1c, 0x08, 0x32, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x1c, 0x08, 0x4d, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xa3, - 0x1c, 0x06, 0xa7, 0x1c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0xa4, 0x1c, 0x08, 0x24, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x1b, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xa5, 0x1c, 0x08, 0x41, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x1b, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x1c, 0x08, - 0x34, 0x0a, 0x97, 0x04, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x1c, 0x12, 0x06, 0xba, 0x1c, 0x04, 0xc5, - 0x1c, 0x06, 0x1a, 0x86, 0x04, 0x20, 0x60, 0x69, 0x70, 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x76, 0x34, 0x0a, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x22, 0x31, 0x39, - 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x31, 0x36, 0x22, 0x2e, 0x0a, 0x0a, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, - 0x20, 0x62, 0x69, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x22, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, 0x30, 0x2e, - 0x30, 0x2f, 0x31, 0x36, 0x22, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2d, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x31, - 0x36, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x31, 0x36, 0x20, 0x62, 0x69, 0x74, - 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x2e, 0x0a, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x34, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x69, 0x70, - 0x76, 0x34, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, - 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x1c, 0x05, 0x12, 0x04, 0xba, 0x1c, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x1c, 0x01, 0x12, 0x04, 0xba, 0x1c, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x1c, 0x03, 0x12, 0x04, 0xba, 0x1c, 0x17, 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1c, - 0x08, 0x12, 0x06, 0xba, 0x1c, 0x1a, 0xc5, 0x1c, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, - 0x1c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xbb, 0x1c, 0x06, 0xbf, 0x1c, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbc, 0x1c, - 0x08, 0x20, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, - 0x12, 0x04, 0xbd, 0x1c, 0x08, 0x34, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x1c, 0x08, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, - 0x02, 0x1c, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xc0, 0x1c, 0x06, 0xc4, 0x1c, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc1, - 0x1c, 0x08, 0x26, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x02, 0x12, 0x04, 0xc2, 0x1c, 0x08, 0x43, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1c, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xc3, 0x1c, 0x08, 0x36, 0x0a, 0xb0, 0x04, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x1d, 0x12, 0x06, 0xd7, 0x1c, 0x04, 0xe2, 0x1c, 0x06, 0x1a, 0x9f, 0x04, 0x20, - 0x60, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x60, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x76, - 0x36, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x0a, 0x20, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, - 0x44, 0x42, 0x38, 0x3a, 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x30, - 0x2f, 0x36, 0x34, 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x6e, 0x6d, 0x61, 0x73, 0x6b, 0x65, 0x64, 0x20, 0x62, 0x69, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, - 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x22, 0x32, 0x30, 0x30, - 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, 0x3a, 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, - 0x3a, 0x3a, 0x30, 0x2f, 0x36, 0x34, 0x22, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2d, 0x6d, 0x6f, 0x73, 0x74, - 0x20, 0x36, 0x34, 0x20, 0x62, 0x69, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x0a, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x6d, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x36, 0x34, 0x20, 0x62, - 0x69, 0x74, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x7a, 0x65, 0x72, 0x6f, - 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 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, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x36, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2e, 0x69, 0x70, 0x76, 0x36, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1d, 0x05, 0x12, 0x04, 0xd7, 0x1c, 0x04, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x1d, 0x01, 0x12, 0x04, 0xd7, 0x1c, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x1d, 0x03, 0x12, 0x04, 0xd7, 0x1c, 0x17, 0x19, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x1d, 0x08, 0x12, 0x06, 0xd7, 0x1c, 0x1a, 0xe2, 0x1c, 0x05, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd8, 0x1c, 0x06, 0xdc, 0x1c, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xd9, 0x1c, 0x08, 0x20, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x02, 0x12, 0x04, 0xda, 0x1c, 0x08, 0x34, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x1d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x1c, 0x08, 0x52, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xdd, 0x1c, 0x06, 0xe1, - 0x1c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, - 0x12, 0x04, 0xde, 0x1c, 0x08, 0x26, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1d, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xdf, 0x1c, 0x08, 0x43, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x1d, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xe0, 0x1c, 0x08, 0x36, 0x0a, 0xe0, - 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x1e, 0x12, 0x06, 0xee, 0x1c, 0x04, 0xf9, 0x1c, 0x06, 0x1a, - 0xcf, 0x03, 0x20, 0x60, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x61, 0x6e, 0x64, 0x5f, 0x70, 0x6f, 0x72, - 0x74, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x68, 0x6f, 0x73, 0x74, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x0a, 0x20, 0x70, 0x61, 0x69, 0x72, 0xe2, - 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x3a, 0x38, 0x30, 0x38, 0x30, - 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x3a, 0x0a, 0x2d, 0x20, 0x41, - 0x6e, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x64, 0x6f, 0x74, 0x74, 0x65, 0x64, 0x20, 0x64, 0x65, 0x63, 0x69, 0x6d, 0x61, 0x6c, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x31, 0x39, 0x32, 0x2e, 0x31, 0x36, 0x38, 0x2e, - 0x35, 0x2e, 0x32, 0x31, 0x22, 0x2e, 0x0a, 0x2d, 0x20, 0x41, 0x6e, 0x20, 0x49, 0x50, 0x76, 0x36, - 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x65, 0x6e, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x71, 0x75, 0x61, 0x72, 0x65, 0x20, 0x62, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x74, 0x73, 0xe2, 0x80, 0x94, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x5b, 0x32, 0x30, 0x30, 0x31, 0x3a, 0x30, 0x44, 0x42, 0x38, 0x3a, - 0x41, 0x42, 0x43, 0x44, 0x3a, 0x30, 0x30, 0x31, 0x32, 0x3a, 0x3a, 0x46, 0x31, 0x5d, 0x22, 0x2e, - 0x0a, 0x2d, 0x20, 0x41, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0xe2, 0x80, 0x94, - 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x22, 0x65, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6f, 0x6e, 0x2e, 0x20, - 0x49, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x64, 0x65, 0x63, - 0x69, 0x6d, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x0a, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x30, 0x2d, 0x36, - 0x35, 0x35, 0x33, 0x35, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1e, 0x05, 0x12, 0x04, 0xee, 0x1c, 0x04, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1e, 0x01, 0x12, 0x04, 0xee, 0x1c, 0x09, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1e, 0x03, 0x12, 0x04, 0xee, 0x1c, 0x19, 0x1b, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x12, 0x06, 0xee, 0x1c, 0x1c, 0xf9, 0x1c, 0x05, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xef, 0x1c, - 0x06, 0xf3, 0x1c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xf0, 0x1c, 0x08, 0x22, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1e, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xf1, 0x1c, 0x08, 0x54, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x1c, 0x08, 0x54, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xf4, - 0x1c, 0x06, 0xf8, 0x1c, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0xf5, 0x1c, 0x08, 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x1e, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xf6, 0x1c, 0x08, 0x4a, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x1e, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xf7, 0x1c, 0x08, - 0x38, 0x0a, 0xa2, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x1f, 0x12, 0x06, 0x85, 0x1d, 0x04, 0x90, - 0x1d, 0x06, 0x1a, 0x91, 0x03, 0x20, 0x60, 0x75, 0x6c, 0x69, 0x64, 0x60, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x4c, 0x49, 0x44, - 0x20, 0x28, 0x55, 0x6e, 0x69, 0x76, 0x65, 0x72, 0x73, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x55, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x0a, 0x20, 0x4c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, - 0x68, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x53, 0x6f, 0x72, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x29, 0x20, 0x61, 0x73, 0x20, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x5b, - 0x55, 0x4c, 0x49, 0x44, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x75, 0x6c, 0x69, 0x64, 0x2f, 0x73, 0x70, 0x65, 0x63, - 0x29, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x4c, 0x49, 0x44, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x4c, 0x49, 0x44, 0x0a, 0x20, - 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x75, 0x6c, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1f, 0x05, 0x12, - 0x04, 0x85, 0x1d, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1f, 0x01, 0x12, 0x04, - 0x85, 0x1d, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1f, 0x03, 0x12, 0x04, 0x85, - 0x1d, 0x10, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x12, 0x06, 0x85, 0x1d, - 0x13, 0x90, 0x1d, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0x86, 0x1d, 0x06, 0x8a, 0x1d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x1f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x87, 0x1d, 0x08, 0x19, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0x88, 0x1d, 0x08, - 0x2d, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x04, 0x89, 0x1d, 0x08, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x12, 0x06, 0x8b, 0x1d, 0x06, 0x8f, 0x1d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x8c, 0x1d, 0x08, 0x1f, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0x8d, 0x1d, - 0x08, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x1f, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, - 0x12, 0x04, 0x8e, 0x1d, 0x08, 0x2f, 0x0a, 0xf2, 0x07, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x20, 0x12, - 0x06, 0xa6, 0x1d, 0x04, 0xbc, 0x1d, 0x06, 0x1a, 0xe1, 0x07, 0x20, 0x60, 0x77, 0x65, 0x6c, 0x6c, - 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, 0x67, 0x65, 0x78, 0x60, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x61, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x65, - 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x0a, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, - 0x67, 0x65, 0x78, 0x20, 0x3d, 0x20, 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, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, - 0x23, 0x23, 0x23, 0x23, 0x20, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, 0x65, 0x78, 0x0a, - 0x0a, 0x20, 0x60, 0x77, 0x65, 0x6c, 0x6c, 0x5f, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x65, - 0x67, 0x65, 0x78, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x73, 0x6f, - 0x6d, 0x65, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x7c, 0x20, 0x4e, 0x61, 0x6d, 0x65, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x20, 0x7c, 0x20, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, - 0x0a, 0x20, 0x7c, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x7c, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x7c, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, - 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x2d, 0x7c, 0x0a, 0x20, 0x7c, 0x20, 0x4b, 0x4e, 0x4f, 0x57, - 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x30, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7c, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, - 0x0a, 0x20, 0x7c, 0x20, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x52, 0x45, 0x47, 0x45, 0x58, 0x5f, - 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, - 0x20, 0x20, 0x7c, 0x20, 0x31, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, 0x20, 0x48, 0x54, 0x54, - 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x5b, 0x52, 0x46, 0x43, - 0x20, 0x37, 0x32, 0x33, 0x30, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, - 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, - 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, - 0x37, 0x32, 0x33, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x33, 0x2e, 0x32, - 0x29, 0x20, 0x20, 0x7c, 0x0a, 0x20, 0x7c, 0x20, 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, 0x20, 0x7c, 0x20, 0x32, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7c, - 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x37, 0x32, 0x33, 0x30, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, - 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, - 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x37, 0x32, 0x33, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2d, 0x33, 0x2e, 0x32, 0x2e, 0x34, 0x29, 0x20, 0x7c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x20, 0x06, 0x12, 0x04, 0xa6, 0x1d, 0x04, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x20, 0x01, 0x12, 0x04, 0xa6, 0x1d, 0x0f, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x20, 0x03, 0x12, 0x04, 0xa6, 0x1d, 0x22, 0x24, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x20, - 0x08, 0x12, 0x06, 0xa6, 0x1d, 0x25, 0xbc, 0x1d, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, - 0x20, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa7, 0x1d, 0x06, 0xae, 0x1d, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa8, 0x1d, - 0x08, 0x31, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, - 0x12, 0x04, 0xa9, 0x1d, 0x08, 0x39, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xaa, 0x1d, 0x08, 0xad, 0x1d, 0x2a, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xaf, 0x1d, 0x06, 0xb3, 0x1d, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, - 0x04, 0xb0, 0x1d, 0x08, 0x37, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x02, 0x12, 0x04, 0xb1, 0x1d, 0x08, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, - 0x20, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xb2, 0x1d, 0x08, 0x3f, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xb4, 0x1d, 0x06, 0xbb, - 0x1d, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, - 0x12, 0x04, 0xb5, 0x1d, 0x08, 0x32, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x20, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x02, 0x12, 0x04, 0xb6, 0x1d, 0x08, 0x3a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x13, - 0x02, 0x20, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xb7, 0x1d, 0x08, 0xba, 0x1d, 0x2a, - 0x0a, 0xd2, 0x04, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x21, 0x12, 0x04, 0xcb, 0x1d, 0x02, 0x1c, 0x1a, - 0xc3, 0x04, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x67, 0x65, 0x78, 0x65, 0x73, 0x20, 0x60, 0x48, 0x54, 0x54, 0x50, - 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x60, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x60, 0x48, 0x54, 0x54, 0x50, 0x5f, 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x5f, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x60, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x42, 0x79, 0x20, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x5b, 0x52, 0x46, 0x43, 0x2d, 0x63, 0x6f, 0x6d, 0x70, 0x6c, - 0x69, 0x61, 0x6e, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, - 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, - 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x37, - 0x32, 0x33, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x33, 0x29, 0x2e, 0x20, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x6f, 0x6f, - 0x73, 0x65, 0x72, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x64, 0x69, 0x73, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x20, 0x60, 0x5c, 0x72, 0x5c, 0x6e, 0x5c, 0x30, 0x60, 0x20, 0x63, 0x68, 0x61, - 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, - 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x62, - 0x79, 0x70, 0x61, 0x73, 0x73, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, - 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, - 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x63, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x73, 0x74, 0x72, 0x69, - 0x63, 0x74, 0x20, 0x3d, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x21, 0x04, 0x12, 0x04, - 0xcb, 0x1d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x21, 0x05, 0x12, 0x04, 0xcb, - 0x1d, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x21, 0x01, 0x12, 0x04, 0xcb, 0x1d, - 0x10, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x21, 0x03, 0x12, 0x04, 0xcb, 0x1d, 0x19, - 0x1b, 0x0a, 0x92, 0x03, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x22, 0x12, 0x06, 0xd9, 0x1d, 0x02, 0xdc, - 0x1d, 0x05, 0x1a, 0x81, 0x03, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, - 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x68, 0x65, 0x6c, - 0x6c, 0x6f, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, - 0x22, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x22, 0x04, 0x12, - 0x04, 0xd9, 0x1d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x22, 0x05, 0x12, 0x04, - 0xd9, 0x1d, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x22, 0x01, 0x12, 0x04, 0xd9, - 0x1d, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x22, 0x03, 0x12, 0x04, 0xd9, 0x1d, - 0x1c, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x22, 0x08, 0x12, 0x06, 0xd9, 0x1d, 0x1f, - 0xdc, 0x1d, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x13, 0x02, 0x22, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xd9, 0x1d, 0x20, 0xdc, 0x1d, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x13, 0x02, 0x22, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xda, 0x1d, 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x13, 0x02, 0x22, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x1d, 0x04, 0x16, - 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x13, 0x05, 0x12, 0x04, 0xe1, 0x1d, 0x02, 0x19, 0x1a, 0xaa, - 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, - 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x13, 0x05, 0x00, 0x12, 0x04, 0xe1, 0x1d, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x05, - 0x00, 0x01, 0x12, 0x04, 0xe1, 0x1d, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x05, 0x00, - 0x02, 0x12, 0x04, 0xe1, 0x1d, 0x15, 0x18, 0x0a, 0x3d, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xe5, - 0x1d, 0x00, 0xed, 0x1d, 0x01, 0x1a, 0x2f, 0x20, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x52, 0x65, 0x67, - 0x65, 0x78, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x73, 0x6f, 0x6d, 0x65, - 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0xe5, - 0x1d, 0x05, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0xe6, 0x1d, 0x02, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x1d, 0x02, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0xe6, 0x1d, 0x1c, 0x1d, 0x0a, - 0x75, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xe9, 0x1d, 0x02, 0x23, 0x1a, 0x67, 0x20, - 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x5b, - 0x52, 0x46, 0x43, 0x20, 0x37, 0x32, 0x33, 0x30, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, - 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, - 0x72, 0x66, 0x63, 0x37, 0x32, 0x33, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x33, 0x2e, 0x32, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xe9, 0x1d, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, - 0xe9, 0x1d, 0x21, 0x22, 0x0a, 0x78, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0xec, 0x1d, - 0x02, 0x24, 0x1a, 0x6a, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x37, 0x32, 0x33, 0x30, 0x5d, 0x28, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x74, 0x72, 0x61, 0x63, - 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x6f, 0x63, - 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x37, 0x32, 0x33, 0x30, 0x23, 0x73, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x33, 0x2e, 0x32, 0x2e, 0x34, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xec, 0x1d, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xec, 0x1d, 0x22, 0x23, 0x0a, 0x9f, 0x01, 0x0a, - 0x02, 0x04, 0x14, 0x12, 0x06, 0xf1, 0x1d, 0x00, 0xfc, 0x1f, 0x01, 0x1a, 0x90, 0x01, 0x20, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x62, 0x79, 0x74, 0x65, 0x73, 0x60, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x0a, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x57, 0x65, 0x6c, - 0x6c, 0x2d, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x2d, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xf1, 0x1d, 0x08, 0x12, 0x0a, 0xba, 0x02, 0x0a, 0x04, - 0x04, 0x14, 0x02, 0x00, 0x12, 0x06, 0xfb, 0x1d, 0x02, 0xfe, 0x1d, 0x05, 0x1a, 0xa9, 0x02, 0x20, - 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, - 0x30, 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x31, - 0x5c, 0x78, 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, 0x30, 0x34, 0x22, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xfb, 0x1d, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xfb, 0x1d, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xfb, 0x1d, 0x11, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xfb, 0x1d, 0x19, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x06, 0xfb, - 0x1d, 0x1b, 0xfe, 0x1d, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x00, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xfb, 0x1d, 0x1c, 0xfe, 0x1d, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xfc, 0x1d, 0x04, 0x15, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x1d, - 0x04, 0x6f, 0x0a, 0xa6, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x06, 0x89, 0x1e, 0x02, - 0x8c, 0x1e, 0x05, 0x1a, 0x95, 0x02, 0x20, 0x60, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6c, 0x65, 0x6e, 0x67, - 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x34, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x34, - 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x01, 0x04, 0x12, 0x04, 0x89, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x89, 0x1e, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x89, 0x1e, 0x12, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x89, 0x1e, 0x18, 0x1a, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, - 0x12, 0x06, 0x89, 0x1e, 0x1b, 0x8c, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x89, 0x1e, 0x1c, 0x8c, 0x1e, 0x03, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x14, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x1e, 0x04, - 0x13, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x04, 0x8b, 0x1e, 0x04, 0x6b, 0x0a, 0xd8, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x06, - 0x98, 0x1e, 0x02, 0x9b, 0x1e, 0x05, 0x1a, 0xc7, 0x02, 0x20, 0x60, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, - 0x65, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x0a, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x32, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, - 0x6e, 0x20, 0x3d, 0x20, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x04, 0x12, 0x04, 0x98, 0x1e, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x05, 0x12, 0x04, 0x98, 0x1e, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0x98, 0x1e, 0x12, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0x98, 0x1e, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x02, 0x08, 0x12, 0x06, 0x98, 0x1e, 0x1e, 0x9b, 0x1e, 0x04, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x14, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x98, 0x1e, 0x1f, 0x9b, - 0x1e, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0x99, 0x1e, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x02, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x9a, 0x1e, 0x04, 0x7b, 0x0a, 0xca, 0x02, 0x0a, 0x04, 0x04, - 0x14, 0x02, 0x03, 0x12, 0x06, 0xa7, 0x1e, 0x02, 0xaa, 0x1e, 0x05, 0x1a, 0xb9, 0x02, 0x20, 0x60, - 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x0a, 0x20, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x20, - 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x65, 0x78, - 0x63, 0x65, 0x65, 0x64, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, - 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, - 0x36, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, - 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x20, 0x3d, 0x20, 0x36, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x04, - 0x12, 0x04, 0xa7, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, - 0x04, 0xa7, 0x1e, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xa7, 0x1e, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa7, - 0x1e, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x08, 0x12, 0x06, 0xa7, 0x1e, - 0x1e, 0xaa, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xa7, 0x1e, 0x1f, 0xaa, 0x1e, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa8, 0x1e, 0x04, 0x17, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x14, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x1e, 0x04, - 0x73, 0x0a, 0xf6, 0x03, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x04, 0x12, 0x06, 0xb8, 0x1e, 0x02, 0xbb, - 0x1e, 0x05, 0x1a, 0xe5, 0x03, 0x20, 0x60, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x72, 0x65, 0x67, 0x75, 0x6c, 0x61, 0x72, 0x0a, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x5b, 0x52, 0x45, 0x32, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, - 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x65, 0x32, 0x2f, - 0x77, 0x69, 0x6b, 0x69, 0x2f, 0x53, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x29, 0x29, 0x2e, 0x0a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, 0x54, 0x46, 0x2d, 0x38, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x66, 0x61, - 0x69, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x0a, 0x20, 0x72, 0x75, 0x6e, 0x74, 0x69, - 0x6d, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x22, 0x5e, 0x5b, 0x61, 0x2d, - 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0x22, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x3d, 0x20, 0x22, - 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x2b, 0x24, 0x22, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x04, 0x04, 0x12, 0x04, 0xb8, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x04, 0x05, 0x12, 0x04, 0xb8, 0x1e, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xb8, 0x1e, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xb8, 0x1e, 0x1c, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x08, 0x12, - 0x06, 0xb8, 0x1e, 0x1e, 0xbb, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb8, 0x1e, 0x1f, 0xbb, 0x1e, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x14, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x1e, 0x04, 0x17, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xba, 0x1e, 0x04, 0x7b, 0x0a, 0xe0, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, 0x06, 0xc7, - 0x1e, 0x02, 0xca, 0x1e, 0x05, 0x1a, 0xcf, 0x02, 0x20, 0x60, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x62, - 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, - 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, - 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, - 0x3d, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x22, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x04, - 0x12, 0x04, 0xc7, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x05, 0x12, - 0x04, 0xc7, 0x1e, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x01, 0x12, 0x04, - 0xc7, 0x1e, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc7, - 0x1e, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x08, 0x12, 0x06, 0xc7, 0x1e, - 0x1c, 0xca, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xc7, 0x1e, 0x1d, 0xca, 0x1e, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, - 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc8, 0x1e, 0x04, 0x16, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x14, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc9, 0x1e, 0x04, - 0x6e, 0x0a, 0xda, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x06, 0x12, 0x06, 0xd6, 0x1e, 0x02, 0xd9, - 0x1e, 0x05, 0x1a, 0xc9, 0x02, 0x20, 0x60, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x60, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x5c, - 0x78, 0x30, 0x33, 0x5c, 0x78, 0x30, 0x34, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, - 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x20, 0x3d, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, - 0x30, 0x34, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x06, 0x04, 0x12, 0x04, 0xd6, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x06, 0x05, 0x12, 0x04, 0xd6, 0x1e, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x06, 0x01, 0x12, 0x04, 0xd6, 0x1e, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x06, 0x03, 0x12, 0x04, 0xd6, 0x1e, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x06, 0x08, 0x12, 0x06, 0xd6, 0x1e, 0x1c, 0xd9, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x14, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd6, 0x1e, 0x1d, 0xd9, 0x1e, 0x03, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xd7, 0x1e, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x04, 0xd8, 0x1e, 0x04, 0x6c, 0x0a, 0xd8, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, - 0x07, 0x12, 0x06, 0xe5, 0x1e, 0x02, 0xe8, 0x1e, 0x05, 0x1a, 0xc7, 0x02, 0x20, 0x60, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, - 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x20, 0x5c, 0x78, 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x3d, 0x20, 0x22, 0x5c, - 0x78, 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x22, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x04, 0x12, 0x04, 0xe5, 0x1e, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x05, 0x12, 0x04, 0xe5, 0x1e, 0x0b, - 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe5, 0x1e, 0x11, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe5, 0x1e, 0x1c, 0x1d, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x07, 0x08, 0x12, 0x06, 0xe5, 0x1e, 0x1e, 0xe8, 0x1e, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe5, - 0x1e, 0x1f, 0xe8, 0x1e, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x07, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x1e, 0x04, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, - 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe7, 0x1e, 0x04, 0x6c, 0x0a, 0xfe, 0x02, - 0x0a, 0x04, 0x04, 0x14, 0x02, 0x08, 0x12, 0x06, 0xf4, 0x1e, 0x02, 0xf7, 0x1e, 0x05, 0x1a, 0xed, - 0x02, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x6e, - 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x0a, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x22, 0x5c, - 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x32, 0x5c, - 0x78, 0x30, 0x33, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, 0x30, 0x34, 0x22, - 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x7b, - 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, - 0x32, 0x5c, 0x78, 0x30, 0x33, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, 0x30, - 0x34, 0x22, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x08, 0x04, 0x12, 0x04, 0xf4, 0x1e, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x08, 0x05, 0x12, 0x04, 0xf4, 0x1e, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x08, 0x01, 0x12, 0x04, 0xf4, 0x1e, 0x11, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x08, 0x03, 0x12, 0x04, 0xf4, 0x1e, 0x16, 0x17, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x08, 0x08, 0x12, 0x06, 0xf4, 0x1e, 0x18, 0xf7, 0x1e, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x14, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf4, 0x1e, 0x19, 0xf7, 0x1e, 0x03, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xf5, 0x1e, 0x04, 0x12, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x05, 0xf6, 0x1e, 0x04, 0x98, 0x01, 0x0a, 0x89, 0x03, 0x0a, 0x04, 0x04, 0x14, - 0x02, 0x09, 0x12, 0x06, 0x84, 0x1f, 0x02, 0x87, 0x1f, 0x05, 0x1a, 0xf8, 0x02, 0x20, 0x60, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x20, - 0x5b, 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, - 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, - 0x30, 0x34, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x6e, 0x6f, 0x74, - 0x5f, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, - 0x22, 0x2c, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x32, 0x5c, 0x78, 0x30, 0x33, 0x22, 0x2c, 0x20, 0x22, - 0x5c, 0x78, 0x30, 0x33, 0x5c, 0x78, 0x30, 0x34, 0x22, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x04, 0x12, 0x04, - 0x84, 0x1f, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x05, 0x12, 0x04, 0x84, - 0x1f, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x01, 0x12, 0x04, 0x84, 0x1f, - 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x03, 0x12, 0x04, 0x84, 0x1f, 0x1a, - 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x09, 0x08, 0x12, 0x06, 0x84, 0x1f, 0x1c, 0x87, - 0x1f, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x09, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0x84, 0x1f, 0x1d, 0x87, 0x1f, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x09, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x85, 0x1f, 0x04, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x14, 0x02, 0x09, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x86, 0x1f, 0x04, 0x63, 0x0a, - 0x56, 0x0a, 0x04, 0x04, 0x14, 0x08, 0x00, 0x12, 0x06, 0x8b, 0x1f, 0x02, 0xe5, 0x1f, 0x03, 0x1a, - 0x46, 0x20, 0x57, 0x65, 0x6c, 0x6c, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, - 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, - 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x0a, 0x20, 0x70, 0x61, - 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x08, 0x00, 0x01, - 0x12, 0x04, 0x8b, 0x1f, 0x08, 0x12, 0x0a, 0xc3, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0a, 0x12, - 0x06, 0x95, 0x1f, 0x04, 0xa0, 0x1f, 0x06, 0x1a, 0xb2, 0x02, 0x20, 0x60, 0x69, 0x70, 0x60, 0x20, - 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x20, 0x61, 0x64, 0x64, - 0x72, 0x65, 0x73, 0x73, 0x20, 0x28, 0x76, 0x34, 0x20, 0x6f, 0x72, 0x20, 0x76, 0x36, 0x29, 0x20, - 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x0a, - 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, - 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x0a, 0x05, 0x12, 0x04, 0x95, 0x1f, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x95, 0x1f, 0x09, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x0a, 0x03, 0x12, 0x04, 0x95, 0x1f, 0x0e, 0x10, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x0a, 0x08, 0x12, 0x06, 0x95, 0x1f, 0x11, 0xa0, 0x1f, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, - 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x96, 0x1f, 0x06, 0x9a, 0x1f, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x97, - 0x1f, 0x08, 0x16, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x02, 0x12, 0x04, 0x98, 0x1f, 0x08, 0x33, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x99, 0x1f, 0x08, 0x5c, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x14, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x9b, 0x1f, 0x06, 0x9f, 0x1f, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, - 0x9c, 0x1f, 0x08, 0x1c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x02, 0x12, 0x04, 0x9d, 0x1f, 0x08, 0x42, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0a, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0x9e, 0x1f, 0x08, 0x33, 0x0a, 0xc0, 0x02, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x0b, 0x12, 0x06, 0xab, 0x1f, 0x04, 0xb6, 0x1f, 0x06, 0x1a, 0xaf, 0x02, - 0x20, 0x60, 0x69, 0x70, 0x76, 0x34, 0x60, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x20, 0x49, 0x50, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x2e, 0x0a, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x34, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x34, 0x20, 0x3d, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xab, 0x1f, 0x04, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xab, 0x1f, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xab, 0x1f, 0x10, 0x12, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x0b, 0x08, 0x12, 0x06, 0xab, 0x1f, 0x13, 0xb6, 0x1f, 0x05, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x14, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xac, 0x1f, 0x06, 0xb0, - 0x1f, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, - 0x12, 0x04, 0xad, 0x1f, 0x08, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0b, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xae, 0x1f, 0x08, 0x35, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, - 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xaf, 0x1f, 0x08, 0x49, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x14, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xb1, 0x1f, 0x06, - 0xb5, 0x1f, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x01, 0x12, 0x04, 0xb2, 0x1f, 0x08, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0b, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xb3, 0x1f, 0x08, 0x44, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x14, 0x02, 0x0b, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xb4, 0x1f, 0x08, 0x35, 0x0a, - 0xbf, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0c, 0x12, 0x06, 0xc0, 0x1f, 0x04, 0xcb, 0x1f, 0x06, - 0x1a, 0xae, 0x02, 0x20, 0x60, 0x69, 0x70, 0x76, 0x36, 0x60, 0x20, 0x65, 0x6e, 0x73, 0x75, 0x72, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x49, 0x50, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, - 0x65, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 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, 0x76, 0x36, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, - 0x73, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, - 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x69, 0x70, 0x76, 0x36, 0x20, - 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x05, 0x12, 0x04, 0xc0, 0x1f, 0x04, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xc0, 0x1f, 0x09, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xc0, 0x1f, 0x10, 0x12, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x12, 0x06, 0xc0, 0x1f, 0x13, 0xcb, 0x1f, 0x05, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc1, 0x1f, - 0x06, 0xc5, 0x1f, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xc2, 0x1f, 0x08, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0c, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0xc3, 0x1f, 0x08, 0x35, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc4, 0x1f, 0x08, 0x4a, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xc6, - 0x1f, 0x06, 0xca, 0x1f, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x01, 0x12, 0x04, 0xc7, 0x1f, 0x08, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, - 0x0c, 0x08, 0x88, 0x09, 0x01, 0x01, 0x02, 0x12, 0x04, 0xc8, 0x1f, 0x08, 0x44, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x14, 0x02, 0x0c, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xc9, 0x1f, 0x08, - 0x35, 0x0a, 0xc8, 0x03, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x0d, 0x12, 0x06, 0xd9, 0x1f, 0x04, 0xe4, - 0x1f, 0x06, 0x1a, 0xb7, 0x03, 0x20, 0x60, 0x75, 0x75, 0x69, 0x64, 0x60, 0x20, 0x65, 0x6e, 0x73, - 0x75, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x31, 0x32, 0x38, 0x2d, 0x62, 0x69, 0x74, 0x20, - 0x55, 0x55, 0x49, 0x44, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x0a, 0x20, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x5b, 0x52, 0x46, 0x43, 0x20, 0x34, 0x31, - 0x32, 0x32, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x61, 0x74, 0x61, - 0x74, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, - 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x34, 0x31, 0x32, - 0x32, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x34, 0x2e, 0x31, 0x2e, 0x32, 0x29, - 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, - 0x79, 0x20, 0x31, 0x36, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x0a, 0x20, 0x72, 0x65, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x55, 0x49, - 0x44, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x55, 0x55, 0x49, 0x44, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x75, 0x75, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, - 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x0d, 0x05, 0x12, 0x04, 0xd9, 0x1f, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xd9, 0x1f, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x0d, 0x03, 0x12, 0x04, 0xd9, 0x1f, 0x10, 0x12, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x0d, 0x08, 0x12, 0x06, 0xd9, 0x1f, 0x13, 0xe4, 0x1f, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, - 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xda, 0x1f, 0x06, 0xde, 0x1f, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xdb, - 0x1f, 0x08, 0x18, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x02, 0x12, 0x04, 0xdc, 0x1f, 0x08, 0x2d, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x1f, 0x08, 0x4a, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x14, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xdf, 0x1f, 0x06, 0xe3, 0x1f, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, - 0xe0, 0x1f, 0x08, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x02, 0x12, 0x04, 0xe1, 0x1f, 0x08, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0d, - 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x04, 0xe2, 0x1f, 0x08, 0x35, 0x0a, 0x94, 0x03, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x0e, 0x12, 0x06, 0xf3, 0x1f, 0x02, 0xf6, 0x1f, 0x05, 0x1a, 0x83, 0x03, - 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, - 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, - 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, - 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, - 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x42, 0x79, 0x74, - 0x65, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x20, 0x3d, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x31, 0x5c, 0x78, 0x30, 0x32, 0x22, 0x2c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x5c, 0x78, 0x30, 0x32, 0x5c, - 0x78, 0x30, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xf3, 0x1f, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x05, 0x12, 0x04, 0xf3, 0x1f, 0x0b, - 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xf3, 0x1f, 0x11, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xf3, 0x1f, 0x1b, 0x1d, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x0e, 0x08, 0x12, 0x06, 0xf3, 0x1f, 0x1e, 0xf6, 0x1f, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x0e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf3, - 0x1f, 0x1f, 0xf6, 0x1f, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, 0x0e, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0xf4, 0x1f, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x02, - 0x0e, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf5, 0x1f, 0x04, 0x16, 0x0a, 0xb8, 0x01, - 0x0a, 0x03, 0x04, 0x14, 0x05, 0x12, 0x04, 0xfb, 0x1f, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, - 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, - 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x05, 0x00, - 0x12, 0x04, 0xfb, 0x1f, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x05, 0x00, 0x01, 0x12, - 0x04, 0xfb, 0x1f, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x05, 0x00, 0x02, 0x12, 0x04, - 0xfb, 0x1f, 0x15, 0x18, 0x0a, 0x46, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xff, 0x1f, 0x00, 0xe8, - 0x20, 0x01, 0x1a, 0x38, 0x20, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x65, 0x6e, - 0x75, 0x6d, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x15, 0x01, 0x12, 0x04, 0xff, 0x1f, 0x08, 0x11, 0x0a, 0x98, 0x03, 0x0a, 0x04, 0x04, 0x15, - 0x02, 0x00, 0x12, 0x06, 0x8f, 0x20, 0x02, 0x92, 0x20, 0x05, 0x1a, 0x87, 0x03, 0x20, 0x60, 0x63, - 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x65, 0x6e, - 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x2c, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4d, 0x79, 0x45, - 0x6e, 0x75, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, - 0x55, 0x45, 0x31, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, - 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x32, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, - 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x31, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x2e, - 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8f, - 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8f, 0x20, - 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8f, 0x20, 0x11, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8f, 0x20, 0x19, 0x1a, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x06, 0x8f, 0x20, 0x1b, 0x92, 0x20, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0x8f, 0x20, 0x1c, 0x92, 0x20, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x15, 0x02, 0x00, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x90, 0x20, 0x04, 0x14, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x15, - 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x91, 0x20, 0x04, 0x72, 0x0a, 0x8d, - 0x03, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x20, 0x02, 0x21, 0x1a, 0xfe, 0x02, - 0x20, 0x60, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x60, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x2c, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, - 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x31, - 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, - 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x32, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x2e, - 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x2e, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x3d, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x04, 0x12, 0x04, 0xa3, 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa3, 0x20, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x20, 0x10, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa3, 0x20, 0x1f, 0x20, 0x0a, 0xca, 0x03, 0x0a, 0x04, 0x04, - 0x15, 0x02, 0x02, 0x12, 0x06, 0xb5, 0x20, 0x02, 0xb8, 0x20, 0x05, 0x1a, 0xb9, 0x03, 0x20, 0x60, - 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, - 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4d, 0x79, 0x45, 0x6e, - 0x75, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, - 0x45, 0x31, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, - 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x32, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, - 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x7b, - 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x5d, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x04, - 0x12, 0x04, 0xb5, 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x05, 0x12, - 0x04, 0xb5, 0x20, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xb5, 0x20, 0x11, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb5, - 0x20, 0x16, 0x17, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x08, 0x12, 0x06, 0xb5, 0x20, - 0x18, 0xb8, 0x20, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x12, 0x06, 0xb5, 0x20, 0x19, 0xb8, 0x20, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x15, 0x02, - 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x20, 0x04, 0x11, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x15, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xb7, 0x20, 0x04, - 0x74, 0x0a, 0xd5, 0x03, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x03, 0x12, 0x06, 0xca, 0x20, 0x02, 0xcd, - 0x20, 0x05, 0x1a, 0xc4, 0x03, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4d, 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x20, 0x3d, 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x31, 0x20, 0x3d, 0x20, 0x31, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, - 0x55, 0x45, 0x32, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x4d, - 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x6e, - 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x31, 0x2c, 0x20, 0x32, 0x5d, 0x7d, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x03, 0x04, 0x12, 0x04, 0xca, 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, - 0x05, 0x12, 0x04, 0xca, 0x20, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xca, 0x20, 0x11, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xca, 0x20, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, 0x08, 0x12, 0x06, - 0xca, 0x20, 0x1c, 0xcd, 0x20, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x03, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xca, 0x20, 0x1d, 0xcd, 0x20, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x15, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x20, 0x04, 0x15, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x15, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xcc, - 0x20, 0x04, 0x63, 0x0a, 0xc4, 0x03, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x04, 0x12, 0x06, 0xdf, 0x20, - 0x02, 0xe2, 0x20, 0x05, 0x1a, 0xb3, 0x03, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, - 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x4d, - 0x79, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, - 0x55, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x20, 0x3d, - 0x20, 0x30, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x31, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x4d, 0x59, - 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x32, 0x20, 0x3d, 0x20, 0x32, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, - 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, - 0x32, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x04, 0x04, 0x12, 0x04, 0xdf, 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x04, 0x05, 0x12, 0x04, 0xdf, 0x20, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xdf, 0x20, 0x11, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xdf, 0x20, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x08, 0x12, - 0x06, 0xdf, 0x20, 0x1d, 0xe2, 0x20, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x15, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xdf, 0x20, 0x1e, 0xe2, 0x20, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x15, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x20, 0x04, 0x16, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x15, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xe1, 0x20, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x15, 0x05, 0x12, 0x04, 0xe7, 0x20, - 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, - 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x05, 0x00, 0x12, 0x04, 0xe7, 0x20, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x05, 0x00, 0x01, 0x12, 0x04, 0xe7, 0x20, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x05, 0x00, 0x02, 0x12, 0x04, 0xe7, 0x20, 0x15, 0x18, 0x0a, 0x4e, 0x0a, 0x02, 0x04, - 0x16, 0x12, 0x06, 0xeb, 0x20, 0x00, 0xb4, 0x21, 0x01, 0x1a, 0x40, 0x20, 0x52, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x16, 0x01, 0x12, 0x04, 0xeb, 0x20, 0x08, 0x15, 0x0a, 0xe1, 0x02, 0x0a, 0x04, 0x04, 0x16, 0x02, - 0x00, 0x12, 0x06, 0xf7, 0x20, 0x02, 0xfa, 0x20, 0x05, 0x1a, 0xd0, 0x02, 0x20, 0x60, 0x6d, 0x69, - 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, - 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, 0x0a, - 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x60, 0x6d, 0x69, 0x6e, - 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3d, 0x20, 0x31, 0x60, 0x20, 0x69, 0x73, 0x20, 0x65, - 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x20, - 0x32, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3d, 0x20, - 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x16, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf7, 0x20, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf7, 0x20, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x20, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xf7, 0x20, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, - 0x08, 0x12, 0x06, 0xf7, 0x20, 0x20, 0xfa, 0x20, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x16, 0x02, - 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf7, 0x20, 0x21, 0xfa, 0x20, 0x03, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x16, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x20, - 0x04, 0x1c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x16, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x04, 0xf9, 0x20, 0x04, 0x7f, 0x0a, 0xbd, 0x03, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, - 0x06, 0x87, 0x21, 0x02, 0x8a, 0x21, 0x05, 0x1a, 0xac, 0x03, 0x20, 0x60, 0x6d, 0x61, 0x78, 0x5f, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x60, 0x20, 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x63, 0x65, 0x65, 0x64, 0x20, 0x61, - 0x0a, 0x20, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x70, 0x70, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x0a, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x69, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6e, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x33, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x28, 0x73, - 0x29, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x6d, 0x61, - 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3d, 0x20, 0x33, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x04, 0x12, - 0x04, 0x87, 0x21, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x87, 0x21, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0x87, - 0x21, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0x87, 0x21, - 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x08, 0x12, 0x06, 0x87, 0x21, 0x20, - 0x8a, 0x21, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x16, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0x87, 0x21, 0x21, 0x8a, 0x21, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x16, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x88, 0x21, 0x04, 0x1c, 0x0a, 0x13, 0x0a, 0x0a, - 0x04, 0x16, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0x89, 0x21, 0x04, 0x83, - 0x01, 0x0a, 0xde, 0x02, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x02, 0x12, 0x06, 0x96, 0x21, 0x02, 0x9a, - 0x21, 0x05, 0x1a, 0xcd, 0x02, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x60, 0x20, 0x69, - 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x74, 0x72, 0x69, 0x63, 0x74, 0x6c, 0x79, 0x20, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x63, - 0x61, 0x6c, 0x61, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x0a, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x69, - 0x6e, 0x67, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, - 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x04, 0x12, 0x04, 0x96, 0x21, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x05, 0x12, 0x04, 0x96, 0x21, 0x0b, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, 0x21, 0x10, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x03, 0x12, 0x04, 0x96, 0x21, 0x19, 0x1a, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x08, 0x12, 0x06, 0x96, 0x21, 0x1b, 0x9a, 0x21, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x16, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x96, 0x21, - 0x1c, 0x9a, 0x21, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x16, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x97, 0x21, 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x16, 0x02, 0x02, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x02, 0x12, 0x04, 0x98, 0x21, 0x04, 0x37, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x16, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x99, 0x21, 0x04, 0x30, - 0x0a, 0x86, 0x04, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x03, 0x12, 0x04, 0xae, 0x21, 0x02, 0x20, 0x1a, - 0xf7, 0x03, 0x20, 0x60, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x60, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, - 0x6c, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x61, - 0x63, 0x68, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x45, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2c, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x64, 0x0a, - 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x69, 0x74, - 0x65, 0x6d, 0x20, 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x60, 0x69, 0x67, 0x6e, 0x6f, 0x72, - 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x74, 0x65, 0x6d, - 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x6c, 0x6c, - 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x33, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x31, - 0x30, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x60, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x2e, 0x20, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x03, 0x04, 0x12, 0x04, 0xae, 0x21, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, - 0x06, 0x12, 0x04, 0xae, 0x21, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xae, 0x21, 0x16, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xae, 0x21, 0x1e, 0x1f, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x16, 0x05, 0x12, 0x04, 0xb3, - 0x21, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, - 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, - 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x05, 0x00, 0x12, 0x04, 0xb3, 0x21, 0x0d, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x05, 0x00, 0x01, 0x12, 0x04, 0xb3, 0x21, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x05, 0x00, 0x02, 0x12, 0x04, 0xb3, 0x21, 0x15, 0x18, 0x0a, 0x44, 0x0a, 0x02, - 0x04, 0x17, 0x12, 0x06, 0xb7, 0x21, 0x00, 0xfb, 0x21, 0x01, 0x1a, 0x36, 0x20, 0x4d, 0x61, 0x70, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x6d, 0x61, 0x70, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xb7, 0x21, 0x08, 0x10, 0x0a, - 0xcf, 0x02, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x06, 0xc1, 0x21, 0x02, 0xc4, 0x21, 0x05, - 0x1a, 0xbe, 0x02, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, - 0x69, 0x72, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x73, 0x0a, 0x20, 0x66, - 0x65, 0x77, 0x65, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, - 0x61, 0x69, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x61, 0x70, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x32, 0x20, 0x6b, 0x65, 0x79, - 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x2e, 0x0a, 0x20, 0x20, - 0x20, 0x6d, 0x61, 0x70, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x3e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x2e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x69, - 0x72, 0x73, 0x20, 0x3d, 0x20, 0x32, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc1, 0x21, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc1, 0x21, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x21, 0x12, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x21, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x06, 0xc1, 0x21, 0x20, 0xc4, 0x21, 0x04, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x17, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xc1, 0x21, 0x21, - 0xc4, 0x21, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x17, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0xc2, 0x21, 0x04, 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x17, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc3, 0x21, 0x04, 0x78, 0x0a, 0xcd, 0x02, 0x0a, 0x04, - 0x04, 0x17, 0x02, 0x01, 0x12, 0x06, 0xcf, 0x21, 0x02, 0xd2, 0x21, 0x05, 0x1a, 0xbc, 0x02, 0x20, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, - 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x73, 0x0a, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x61, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x74, 0x20, - 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x33, 0x20, 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x70, 0x61, 0x69, 0x72, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x70, 0x3c, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x6d, - 0x61, 0x70, 0x2e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x61, 0x69, 0x72, 0x73, 0x20, 0x3d, 0x20, 0x33, - 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x01, 0x04, 0x12, 0x04, 0xcf, 0x21, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xcf, 0x21, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xcf, 0x21, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xcf, 0x21, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x08, - 0x12, 0x06, 0xcf, 0x21, 0x20, 0xd2, 0x21, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x17, 0x02, 0x01, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xcf, 0x21, 0x21, 0xd2, 0x21, 0x03, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x17, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x21, 0x04, - 0x17, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x17, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, - 0x04, 0xd1, 0x21, 0x04, 0x77, 0x0a, 0x85, 0x03, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x02, 0x12, 0x04, - 0xe3, 0x21, 0x02, 0x1f, 0x1a, 0xf6, 0x02, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x61, 0x63, - 0x68, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x61, 0x70, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x70, 0x3c, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x2e, - 0x6b, 0x65, 0x79, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x33, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x31, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x79, 0x2e, 0x20, 0x4d, 0x61, 0x70, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x02, 0x04, 0x12, 0x04, 0xe3, 0x21, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x02, 0x06, 0x12, 0x04, 0xe3, 0x21, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe3, 0x21, 0x16, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, - 0x02, 0x02, 0x03, 0x12, 0x04, 0xe3, 0x21, 0x1d, 0x1e, 0x0a, 0xf2, 0x03, 0x0a, 0x04, 0x04, 0x17, - 0x02, 0x03, 0x12, 0x04, 0xf5, 0x21, 0x02, 0x21, 0x1a, 0xe3, 0x03, 0x20, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x61, - 0x63, 0x68, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x75, 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x0a, 0x20, 0x60, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x4d, 0x61, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x6d, 0x61, 0x70, 0x3c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x2c, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x6d, 0x61, 0x70, 0x2e, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, - 0x69, 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x35, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x6d, 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x3a, 0x20, 0x32, 0x30, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, - 0x2e, 0x20, 0x4d, 0x61, 0x70, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x63, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x03, 0x04, 0x12, 0x04, 0xf5, 0x21, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x03, 0x06, 0x12, 0x04, 0xf5, 0x21, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf5, 0x21, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf5, 0x21, 0x1f, 0x20, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, - 0x17, 0x05, 0x12, 0x04, 0xfa, 0x21, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x05, 0x00, 0x12, 0x04, 0xfa, - 0x21, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x05, 0x00, 0x01, 0x12, 0x04, 0xfa, 0x21, - 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x05, 0x00, 0x02, 0x12, 0x04, 0xfa, 0x21, 0x15, - 0x18, 0x0a, 0x69, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0xfe, 0x21, 0x00, 0x98, 0x22, 0x01, 0x1a, - 0x5b, 0x20, 0x41, 0x6e, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, - 0x64, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x60, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, - 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x18, 0x01, 0x12, 0x04, 0xfe, 0x21, 0x08, 0x10, 0x0a, 0xbc, 0x03, 0x0a, 0x04, 0x04, 0x18, - 0x02, 0x00, 0x12, 0x04, 0x8b, 0x22, 0x02, 0x19, 0x1a, 0xad, 0x03, 0x20, 0x60, 0x69, 0x6e, 0x60, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x60, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x60, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x69, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x41, 0x6e, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x20, 0x60, - 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x60, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, - 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x61, 0x6e, 0x79, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x22, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x4d, 0x79, 0x54, 0x79, 0x70, 0x65, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4d, - 0x79, 0x54, 0x79, 0x70, 0x65, 0x32, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x8b, 0x22, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x05, - 0x12, 0x04, 0x8b, 0x22, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x8b, 0x22, 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x8b, 0x22, 0x17, 0x18, 0x0a, 0xc8, 0x03, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, 0x04, 0x97, - 0x22, 0x02, 0x1d, 0x1a, 0xb9, 0x03, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x75, 0x72, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x41, 0x6e, 0x79, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x61, 0x20, 0x60, 0x74, 0x79, 0x70, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x60, 0x20, 0x65, - 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x61, 0x6e, 0x79, 0x20, - 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, - 0x6e, 0x3a, 0x20, 0x5b, 0x22, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, - 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x31, 0x22, 0x2c, 0x20, 0x22, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x46, - 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x32, 0x22, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x04, 0x12, 0x04, 0x97, 0x22, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x05, 0x12, 0x04, 0x97, 0x22, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, 0x22, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0x97, 0x22, 0x1b, 0x1c, 0x0a, 0x77, 0x0a, 0x02, 0x04, - 0x19, 0x12, 0x06, 0x9b, 0x22, 0x00, 0xe9, 0x23, 0x01, 0x1a, 0x69, 0x20, 0x44, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x6c, 0x79, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x60, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0x9b, 0x22, 0x08, - 0x15, 0x0a, 0xf6, 0x02, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x06, 0xa6, 0x22, 0x02, 0xa9, - 0x22, 0x05, 0x1a, 0xe5, 0x02, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x60, 0x20, 0x64, 0x69, - 0x63, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x65, 0x78, 0x61, 0x63, - 0x74, 0x6c, 0x79, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x65, 0x76, 0x69, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x35, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x35, 0x73, 0x22, 0x5d, - 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xa6, 0x22, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xa6, 0x22, 0x0b, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xa6, 0x22, 0x24, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xa6, 0x22, 0x2c, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x08, 0x12, - 0x06, 0xa6, 0x22, 0x2e, 0xa9, 0x22, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xa6, 0x22, 0x2f, 0xa9, 0x22, 0x03, 0x0a, 0x12, 0x0a, 0x0a, - 0x04, 0x19, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x22, 0x04, 0x18, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, - 0xa8, 0x22, 0x04, 0x72, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x19, 0x08, 0x00, 0x12, 0x06, 0xaa, 0x22, - 0x02, 0xcc, 0x22, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x08, 0x00, 0x01, 0x12, 0x04, 0xaa, - 0x22, 0x08, 0x11, 0x0a, 0x91, 0x03, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x01, 0x12, 0x06, 0xb5, 0x22, - 0x04, 0xba, 0x22, 0x07, 0x1a, 0x80, 0x03, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x73, 0x74, 0x69, - 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x2c, 0x0a, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x6c, 0x74, 0x20, 0x3d, 0x20, 0x22, 0x35, 0x73, 0x22, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xb5, 0x22, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xb5, 0x22, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xb5, 0x22, 0x22, 0x23, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x08, 0x12, 0x06, 0xb5, - 0x22, 0x24, 0xba, 0x22, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x01, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xb5, 0x22, 0x25, 0xba, 0x22, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, - 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x22, 0x06, 0x17, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xb7, 0x22, - 0x06, 0xb9, 0x22, 0x40, 0x0a, 0xa0, 0x03, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x02, 0x12, 0x06, 0xc6, - 0x22, 0x04, 0xcb, 0x22, 0x07, 0x1a, 0x8f, 0x03, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x20, 0x69, - 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x31, 0x30, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, - 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x6c, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x31, 0x30, 0x73, 0x22, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x02, 0x06, - 0x12, 0x04, 0xc6, 0x22, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xc6, 0x22, 0x1d, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xc6, 0x22, 0x23, 0x24, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x02, 0x08, 0x12, 0x06, 0xc6, - 0x22, 0x25, 0xcb, 0x22, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x02, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xc6, 0x22, 0x26, 0xcb, 0x22, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, - 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc7, 0x22, 0x06, 0x18, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xc8, 0x22, - 0x06, 0xca, 0x22, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x19, 0x08, 0x01, 0x12, 0x06, 0xcd, 0x22, - 0x02, 0xb3, 0x23, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x08, 0x01, 0x01, 0x12, 0x04, 0xcd, - 0x22, 0x08, 0x14, 0x0a, 0xa8, 0x07, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x03, 0x12, 0x06, 0xe0, 0x22, - 0x04, 0xff, 0x22, 0x06, 0x1a, 0x97, 0x07, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, - 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x35, 0x73, 0x20, 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x20, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x35, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x73, 0x20, 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x7b, - 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x2c, 0x20, 0x6c, - 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x30, - 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, 0x73, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x35, 0x73, 0x20, - 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5f, - 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, 0x7b, 0x20, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x2c, 0x20, 0x6c, - 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, - 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x19, 0x02, 0x03, 0x06, 0x12, 0x04, 0xe0, 0x22, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x19, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe0, 0x22, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x19, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe0, 0x22, 0x22, 0x23, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x19, 0x02, 0x03, 0x08, 0x12, 0x06, 0xe0, 0x22, 0x24, 0xff, 0x22, 0x05, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe1, 0x22, 0x06, 0xe6, 0x22, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xe2, 0x22, 0x08, 0x19, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x06, 0xe3, 0x22, 0x08, 0xe5, 0x22, 0x45, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0xe7, 0x22, 0x06, 0xec, 0x22, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, - 0xe8, 0x22, 0x08, 0x1c, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x01, 0x03, 0x12, 0x06, 0xe9, 0x22, 0x08, 0xeb, 0x22, 0x60, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, - 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xed, 0x22, 0x06, 0xf2, 0x22, 0x07, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xee, - 0x22, 0x08, 0x26, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x02, - 0x03, 0x12, 0x06, 0xef, 0x22, 0x08, 0xf1, 0x22, 0x5f, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xf3, 0x22, 0x06, 0xf8, 0x22, 0x07, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xf4, 0x22, - 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, - 0x12, 0x06, 0xf5, 0x22, 0x08, 0xf7, 0x22, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xf9, 0x22, 0x06, 0xfe, 0x22, 0x07, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xfa, 0x22, 0x08, - 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, - 0x06, 0xfb, 0x22, 0x08, 0xfd, 0x22, 0x6c, 0x0a, 0xda, 0x07, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x04, - 0x12, 0x06, 0x93, 0x23, 0x04, 0xb2, 0x23, 0x06, 0x1a, 0xc9, 0x07, 0x20, 0x60, 0x67, 0x74, 0x65, - 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, - 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, - 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x0a, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, - 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, - 0x35, 0x73, 0x20, 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, - 0x5d, 0x0a, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, - 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x35, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x31, 0x30, - 0x73, 0x20, 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x67, 0x74, 0x65, 0x5f, - 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x30, 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x0a, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 0x31, 0x30, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x35, 0x73, 0x20, 0x5b, 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, 0x5d, - 0x0a, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, - 0x74, 0x65, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, - 0x30, 0x20, 0x7d, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x3a, 0x20, 0x35, 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x04, 0x06, 0x12, 0x04, 0x93, - 0x23, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x04, 0x01, 0x12, 0x04, 0x93, 0x23, - 0x1d, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x04, 0x03, 0x12, 0x04, 0x93, 0x23, 0x23, - 0x24, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x04, 0x08, 0x12, 0x06, 0x93, 0x23, 0x25, 0xb2, - 0x23, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0x94, 0x23, 0x06, 0x99, 0x23, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x95, 0x23, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0x96, 0x23, 0x08, 0x98, 0x23, - 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, - 0x9a, 0x23, 0x06, 0x9f, 0x23, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0x9b, 0x23, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, - 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0x9c, 0x23, 0x08, 0x9e, 0x23, 0x6d, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0xa0, - 0x23, 0x06, 0xa5, 0x23, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x23, 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, - 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xa2, 0x23, 0x08, 0xa4, 0x23, 0x6c, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0xa6, 0x23, - 0x06, 0xab, 0x23, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x03, 0x01, 0x12, 0x04, 0xa7, 0x23, 0x08, 0x1e, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xa8, 0x23, 0x08, 0xaa, 0x23, 0x7a, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xac, 0x23, 0x06, - 0xb1, 0x23, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, - 0x01, 0x12, 0x04, 0xad, 0x23, 0x08, 0x28, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xae, 0x23, 0x08, 0xb0, 0x23, 0x79, 0x0a, 0xa2, 0x03, - 0x0a, 0x04, 0x04, 0x19, 0x02, 0x05, 0x12, 0x06, 0xbf, 0x23, 0x02, 0xc2, 0x23, 0x05, 0x1a, 0x91, - 0x03, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x20, 0x61, 0x73, 0x73, 0x65, 0x72, 0x74, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, - 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x5b, 0x31, - 0x73, 0x2c, 0x20, 0x32, 0x73, 0x2c, 0x20, 0x33, 0x73, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, - 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x5b, 0x22, 0x31, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x32, 0x73, 0x22, - 0x2c, 0x20, 0x22, 0x33, 0x73, 0x22, 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x05, 0x04, 0x12, 0x04, 0xbf, 0x23, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x05, 0x06, 0x12, 0x04, 0xbf, 0x23, 0x0b, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x05, 0x01, 0x12, 0x04, 0xbf, 0x23, 0x24, 0x26, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x05, 0x03, 0x12, 0x04, 0xbf, 0x23, 0x29, 0x2a, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x19, 0x02, 0x05, 0x08, 0x12, 0x06, 0xbf, 0x23, 0x2b, 0xc2, 0x23, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xbf, 0x23, - 0x2c, 0xc2, 0x23, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xc0, 0x23, 0x04, 0x15, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x23, 0x04, 0x74, 0x0a, 0x9d, 0x03, 0x0a, - 0x04, 0x04, 0x19, 0x02, 0x06, 0x12, 0x06, 0xcf, 0x23, 0x02, 0xd2, 0x23, 0x05, 0x1a, 0x8c, 0x03, - 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 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, 0x5b, 0x31, 0x73, 0x2c, 0x20, 0x32, 0x73, 0x2c, 0x20, 0x33, 0x73, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x5b, - 0x22, 0x31, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x32, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x33, 0x73, 0x22, - 0x5d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x19, 0x02, 0x06, 0x04, 0x12, 0x04, 0xcf, 0x23, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x19, 0x02, 0x06, 0x06, 0x12, 0x04, 0xcf, 0x23, 0x0b, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, - 0x02, 0x06, 0x01, 0x12, 0x04, 0xcf, 0x23, 0x24, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, - 0x06, 0x03, 0x12, 0x04, 0xcf, 0x23, 0x2d, 0x2e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x06, - 0x08, 0x12, 0x06, 0xcf, 0x23, 0x2f, 0xd2, 0x23, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, - 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xcf, 0x23, 0x30, 0xd2, 0x23, 0x03, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x23, - 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x04, 0xd1, 0x23, 0x04, 0x63, 0x0a, 0xb9, 0x03, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x07, 0x12, - 0x06, 0xe0, 0x23, 0x02, 0xe3, 0x23, 0x05, 0x1a, 0xa8, 0x03, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, - 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, - 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, - 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, - 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x3a, 0x20, 0x31, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x32, - 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x07, 0x04, 0x12, 0x04, 0xe0, 0x23, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x07, 0x06, 0x12, 0x04, 0xe0, 0x23, 0x0b, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe0, 0x23, 0x24, 0x2b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe0, 0x23, 0x2e, 0x2f, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x19, 0x02, 0x07, 0x08, 0x12, 0x06, 0xe0, 0x23, 0x30, 0xe3, 0x23, 0x04, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x19, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xe0, 0x23, - 0x31, 0xe3, 0x23, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xe1, 0x23, 0x04, 0x1a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x19, 0x02, 0x07, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe2, 0x23, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, - 0x03, 0x04, 0x19, 0x05, 0x12, 0x04, 0xe8, 0x23, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, - 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x05, 0x00, 0x12, - 0x04, 0xe8, 0x23, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x05, 0x00, 0x01, 0x12, 0x04, - 0xe8, 0x23, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x05, 0x00, 0x02, 0x12, 0x04, 0xe8, - 0x23, 0x15, 0x18, 0x0a, 0x75, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0xec, 0x23, 0x00, 0xb9, 0x24, - 0x01, 0x1a, 0x67, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, - 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, - 0x01, 0x12, 0x04, 0xec, 0x23, 0x08, 0x16, 0x0a, 0x94, 0x03, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x00, - 0x12, 0x06, 0xf9, 0x23, 0x02, 0xfc, 0x23, 0x05, 0x1a, 0x83, 0x03, 0x20, 0x60, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x60, 0x20, 0x64, 0x69, 0x63, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x27, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x64, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, - 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, - 0x61, 0x6c, 0x20, 0x5b, 0x22, 0x61, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, - 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 0x2e, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x61, 0x22, 0x5d, 0x0a, 0x20, - 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf9, 0x23, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf9, 0x23, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf9, 0x23, 0x25, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf9, 0x23, 0x2d, 0x2e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x00, 0x08, 0x12, 0x06, 0xf9, 0x23, 0x2f, 0xfc, 0x23, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x1a, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf9, 0x23, 0x30, 0xfc, 0x23, 0x03, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, - 0xfa, 0x23, 0x04, 0x1a, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x03, 0x12, 0x05, 0xfb, 0x23, 0x04, 0x8a, 0x01, 0x0a, 0xf8, 0x03, 0x0a, 0x04, 0x04, 0x1a, - 0x02, 0x01, 0x12, 0x06, 0x8c, 0x24, 0x02, 0x8f, 0x24, 0x05, 0x1a, 0xe7, 0x03, 0x20, 0x60, 0x69, - 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x68, - 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x73, 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x27, 0x73, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x73, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x23, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2d, - 0x6d, 0x61, 0x73, 0x6b, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x73, 0x6b, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x69, 0x6e, 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x6e, 0x3a, 0x20, 0x5b, 0x22, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, 0x22, 0x2c, 0x20, 0x22, 0x63, - 0x2e, 0x61, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, - 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x04, 0x12, 0x04, 0x8c, - 0x24, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8c, 0x24, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8c, 0x24, 0x12, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8c, 0x24, 0x17, 0x18, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x08, 0x12, 0x06, 0x8c, 0x24, 0x19, 0x8f, 0x24, - 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1a, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, - 0x8c, 0x24, 0x1a, 0x8f, 0x24, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x01, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x24, 0x04, 0x17, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x1a, - 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0x8e, 0x24, 0x04, 0xc5, 0x01, 0x0a, - 0x8d, 0x04, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x02, 0x12, 0x06, 0x9f, 0x24, 0x02, 0xa2, 0x24, 0x05, - 0x1a, 0xfc, 0x03, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x69, 0x6e, 0x67, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x73, - 0x75, 0x62, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x27, 0x73, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x23, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2d, 0x6d, 0x61, 0x73, 0x6b, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x20, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x73, 0x68, 0x61, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, - 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x6f, 0x74, 0x5f, 0x69, 0x6e, 0x3a, 0x20, 0x5b, 0x22, - 0x66, 0x6f, 0x72, 0x62, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x22, 0x2c, 0x20, 0x22, 0x69, 0x6d, 0x6d, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x22, 0x2c, 0x20, 0x22, 0x63, 0x2e, 0x61, 0x22, 0x5d, 0x0a, - 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x04, 0x12, 0x04, 0x9f, 0x24, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9f, 0x24, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1a, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9f, 0x24, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1a, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9f, 0x24, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x1a, 0x02, 0x02, 0x08, 0x12, 0x06, 0x9f, 0x24, 0x1d, 0xa2, 0x24, 0x04, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x1a, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x9f, 0x24, 0x1e, 0xa2, 0x24, - 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, - 0x04, 0xa0, 0x24, 0x04, 0x1b, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x02, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x03, 0x12, 0x05, 0xa1, 0x24, 0x04, 0xd7, 0x01, 0x0a, 0xcf, 0x03, 0x0a, 0x04, 0x04, - 0x1a, 0x02, 0x03, 0x12, 0x06, 0xb0, 0x24, 0x02, 0xb3, 0x24, 0x05, 0x1a, 0xbe, 0x03, 0x20, 0x60, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, - 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, - 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, - 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, - 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x4d, 0x61, 0x73, 0x6b, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x73, 0x6b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, - 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x3a, 0x20, 0x5b, 0x22, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x62, - 0x22, 0x5d, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x3a, 0x20, 0x5b, 0x22, - 0x63, 0x2e, 0x61, 0x22, 0x2c, 0x20, 0x22, 0x64, 0x22, 0x5d, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1a, 0x02, 0x03, 0x04, 0x12, 0x04, 0xb0, 0x24, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1a, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb0, 0x24, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xb0, 0x24, 0x25, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, - 0x03, 0x03, 0x12, 0x04, 0xb0, 0x24, 0x2f, 0x30, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x03, - 0x08, 0x12, 0x06, 0xb0, 0x24, 0x31, 0xb3, 0x24, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1a, 0x02, - 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xb0, 0x24, 0x32, 0xb3, 0x24, 0x03, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xb1, 0x24, - 0x04, 0x1c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1a, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, - 0x12, 0x04, 0xb2, 0x24, 0x04, 0x16, 0x0a, 0xb8, 0x01, 0x0a, 0x03, 0x04, 0x1a, 0x05, 0x12, 0x04, - 0xb8, 0x24, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, - 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x05, 0x00, 0x12, 0x04, 0xb8, 0x24, 0x0d, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x05, 0x00, 0x01, 0x12, 0x04, 0xb8, 0x24, 0x0d, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1a, 0x05, 0x00, 0x02, 0x12, 0x04, 0xb8, 0x24, 0x15, 0x18, 0x0a, 0x79, 0x0a, - 0x02, 0x04, 0x1b, 0x12, 0x06, 0xbc, 0x24, 0x00, 0x8c, 0x26, 0x01, 0x1a, 0x6b, 0x20, 0x54, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, - 0x65, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 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, 0x60, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x2d, 0x6b, 0x6e, 0x6f, 0x77, - 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, - 0x04, 0xbc, 0x24, 0x08, 0x16, 0x0a, 0xad, 0x03, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, 0x06, - 0xc5, 0x24, 0x02, 0xc8, 0x24, 0x05, 0x1a, 0x9c, 0x03, 0x20, 0x60, 0x63, 0x6f, 0x6e, 0x73, 0x74, - 0x60, 0x20, 0x64, 0x69, 0x63, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x60, 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, 0x60, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x2c, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, - 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2c, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x20, 0x32, 0x30, 0x32, 0x33, - 0x2d, 0x30, 0x35, 0x2d, 0x30, 0x33, 0x54, 0x31, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, - 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x63, 0x6f, 0x6e, - 0x73, 0x74, 0x20, 0x3d, 0x20, 0x7b, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, - 0x37, 0x32, 0x37, 0x39, 0x39, 0x38, 0x38, 0x30, 0x30, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x04, 0x12, 0x04, - 0xc5, 0x24, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc5, - 0x24, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x24, - 0x25, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x24, 0x2d, - 0x2e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x06, 0xc5, 0x24, 0x2f, 0xc8, - 0x24, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, - 0x06, 0xc5, 0x24, 0x30, 0xc8, 0x24, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x00, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xc6, 0x24, 0x04, 0x19, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x1b, 0x02, 0x00, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xc7, 0x24, 0x04, 0x72, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x1b, 0x08, 0x00, 0x12, 0x06, 0xc9, 0x24, 0x02, 0xf4, 0x24, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x24, 0x08, 0x11, 0x0a, 0xff, - 0x02, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x06, 0xd2, 0x24, 0x04, 0xd7, 0x24, 0x07, 0x1a, - 0xee, 0x02, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x3c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x27, 0x50, 0x33, 0x44, 0x27, 0x20, 0x5b, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x6c, 0x74, 0x20, - 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x32, 0x35, 0x39, - 0x32, 0x30, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd2, 0x24, 0x04, 0x1d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd2, 0x24, 0x1e, 0x20, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd2, 0x24, 0x23, 0x24, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x06, 0xd2, 0x24, 0x25, 0xd7, 0x24, 0x06, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xd2, 0x24, 0x26, - 0xd7, 0x24, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x01, 0x12, 0x04, 0xd3, 0x24, 0x06, 0x18, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x01, 0x08, - 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xd4, 0x24, 0x06, 0xd6, 0x24, 0x40, 0x0a, 0xb5, 0x03, - 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x02, 0x12, 0x06, 0xe1, 0x24, 0x04, 0xe6, 0x24, 0x07, 0x1a, 0xa4, - 0x03, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3c, 0x3d, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, - 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, - 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 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, 0x27, - 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x35, 0x2d, 0x31, 0x34, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, - 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x5b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x2e, 0x6c, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x65, - 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, - 0x37, 0x38, 0x38, 0x36, 0x37, 0x32, 0x30, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x02, 0x06, 0x12, 0x04, - 0xe1, 0x24, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe1, - 0x24, 0x1e, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe1, 0x24, - 0x24, 0x25, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x02, 0x08, 0x12, 0x06, 0xe1, 0x24, 0x26, - 0xe6, 0x24, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xe1, 0x24, 0x27, 0xe6, 0x24, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x02, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe2, 0x24, 0x06, 0x19, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x1b, 0x02, 0x02, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xe3, 0x24, 0x06, 0xe5, - 0x24, 0x4d, 0x0a, 0xdc, 0x02, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x03, 0x12, 0x06, 0xf0, 0x24, 0x04, - 0xf3, 0x24, 0x07, 0x1a, 0xcb, 0x02, 0x20, 0x60, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 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, 0x60, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x2c, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x60, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x60, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x77, 0x69, 0x74, 0x68, - 0x69, 0x6e, 0x60, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 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, 0x0a, 0x20, 0x20, 0x20, - 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, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x6c, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x20, - 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf0, 0x24, 0x04, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf0, 0x24, 0x09, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf0, 0x24, 0x12, 0x13, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x03, 0x08, 0x12, 0x06, 0xf0, 0x24, 0x14, 0xf3, 0x24, 0x06, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0xf0, 0x24, - 0x15, 0xf3, 0x24, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x03, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0xf1, 0x24, 0x06, 0x1c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x03, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x24, 0x06, 0x55, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x1b, 0x08, 0x01, 0x12, 0x06, 0xf5, 0x24, 0x02, 0xe8, 0x25, 0x03, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1b, 0x08, 0x01, 0x01, 0x12, 0x04, 0xf5, 0x24, 0x08, 0x14, 0x0a, 0xc3, 0x08, 0x0a, 0x04, - 0x04, 0x1b, 0x02, 0x04, 0x12, 0x06, 0x88, 0x25, 0x04, 0xa7, 0x25, 0x06, 0x1a, 0xb2, 0x08, 0x20, - 0x60, 0x67, 0x74, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x28, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, - 0x60, 0x20, 0x69, 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, - 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, - 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, - 0x65, 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, - 0x6f, 0x75, 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, - 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, - 0x30, 0x30, 0x5a, 0x27, 0x20, 0x5b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x67, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 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, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x34, - 0x34, 0x34, 0x38, 0x30, 0x30, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, - 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, - 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x32, - 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x5b, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 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, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x7b, - 0x20, 0x67, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, - 0x31, 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, 0x38, 0x30, 0x30, 0x20, 0x7d, 0x2c, 0x20, 0x6c, 0x74, - 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, - 0x32, 0x35, 0x33, 0x31, 0x32, 0x30, 0x30, 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, - 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x32, 0x54, - 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x6f, 0x72, 0x20, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, - 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x5b, - 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, 0x5d, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x3a, 0x20, - 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x35, - 0x33, 0x31, 0x32, 0x30, 0x30, 0x20, 0x7d, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, 0x38, - 0x30, 0x30, 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x04, 0x06, 0x12, 0x04, 0x88, 0x25, 0x04, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x04, 0x01, 0x12, 0x04, 0x88, 0x25, 0x1e, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x04, 0x03, 0x12, 0x04, 0x88, 0x25, 0x23, 0x24, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x12, 0x06, 0x88, 0x25, 0x25, 0xa7, 0x25, 0x05, 0x0a, - 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x89, 0x25, - 0x06, 0x8e, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x00, 0x01, 0x12, 0x04, 0x8a, 0x25, 0x08, 0x1a, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0x8b, 0x25, 0x08, 0x8d, 0x25, 0x45, 0x0a, 0x13, - 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, 0x12, 0x06, 0x8f, 0x25, 0x06, - 0x94, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x01, - 0x01, 0x12, 0x04, 0x90, 0x25, 0x08, 0x1d, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, - 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0x91, 0x25, 0x08, 0x93, 0x25, 0x60, 0x0a, 0x13, 0x0a, - 0x09, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x12, 0x06, 0x95, 0x25, 0x06, 0x9a, - 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, - 0x12, 0x04, 0x96, 0x25, 0x08, 0x27, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, - 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0x97, 0x25, 0x08, 0x99, 0x25, 0x5f, 0x0a, 0x13, 0x0a, 0x09, - 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x12, 0x06, 0x9b, 0x25, 0x06, 0xa0, 0x25, - 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, - 0x04, 0x9c, 0x25, 0x08, 0x1e, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, - 0x01, 0x03, 0x03, 0x12, 0x06, 0x9d, 0x25, 0x08, 0x9f, 0x25, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, 0x06, 0xa1, 0x25, 0x06, 0xa6, 0x25, 0x07, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, - 0xa2, 0x25, 0x08, 0x28, 0x0a, 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x04, 0x08, 0x88, 0x09, 0x01, - 0x04, 0x03, 0x12, 0x06, 0xa3, 0x25, 0x08, 0xa5, 0x25, 0x6c, 0x0a, 0xfb, 0x08, 0x0a, 0x04, 0x04, - 0x1b, 0x02, 0x05, 0x12, 0x06, 0xbb, 0x25, 0x04, 0xda, 0x25, 0x06, 0x1a, 0xea, 0x08, 0x20, 0x60, - 0x67, 0x74, 0x65, 0x60, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 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, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x28, 0x65, 0x78, 0x63, - 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x29, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x67, 0x74, 0x65, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, 0x0a, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x60, 0x6c, 0x74, 0x60, 0x20, - 0x6f, 0x72, 0x20, 0x60, 0x6c, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, - 0x6e, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x75, - 0x74, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, - 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, - 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x5b, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x5d, 0x0a, 0x20, 0x20, - 0x20, 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, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, 0x38, 0x30, 0x30, - 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, - 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, 0x30, 0x32, - 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x32, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, - 0x5a, 0x27, 0x20, 0x5b, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, 0x74, - 0x65, 0x5f, 0x6c, 0x74, 0x5d, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x7b, 0x20, - 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, - 0x38, 0x30, 0x30, 0x20, 0x7d, 0x2c, 0x20, 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x35, 0x33, 0x31, 0x32, 0x30, 0x30, - 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x27, 0x32, 0x30, 0x32, 0x33, 0x2d, 0x30, - 0x31, 0x2d, 0x30, 0x32, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x5a, 0x27, 0x20, - 0x6f, 0x72, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x27, 0x32, 0x30, - 0x32, 0x33, 0x2d, 0x30, 0x31, 0x2d, 0x30, 0x31, 0x54, 0x30, 0x30, 0x3a, 0x30, 0x30, 0x3a, 0x30, - 0x30, 0x5a, 0x27, 0x20, 0x5b, 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, 0x5d, - 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x3d, 0x20, 0x33, 0x20, 0x5b, 0x28, - 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x3d, 0x20, - 0x7b, 0x20, 0x67, 0x74, 0x65, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x35, 0x33, 0x31, 0x32, 0x30, 0x30, 0x20, 0x7d, 0x2c, 0x20, - 0x6c, 0x74, 0x3a, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, - 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, 0x38, 0x30, 0x30, 0x20, 0x7d, 0x20, 0x7d, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x05, - 0x06, 0x12, 0x04, 0xbb, 0x25, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x05, 0x01, - 0x12, 0x04, 0xbb, 0x25, 0x1e, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x05, 0x03, 0x12, - 0x04, 0xbb, 0x25, 0x24, 0x25, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x12, 0x06, - 0xbb, 0x25, 0x26, 0xda, 0x25, 0x05, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, - 0x09, 0x01, 0x00, 0x12, 0x06, 0xbc, 0x25, 0x06, 0xc1, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xbd, 0x25, 0x08, 0x1b, 0x0a, - 0x14, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x06, 0xbe, - 0x25, 0x08, 0xc0, 0x25, 0x52, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, - 0x01, 0x01, 0x12, 0x06, 0xc2, 0x25, 0x06, 0xc7, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, - 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x01, 0x01, 0x12, 0x04, 0xc3, 0x25, 0x08, 0x1e, 0x0a, 0x14, - 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x01, 0x03, 0x12, 0x06, 0xc4, 0x25, - 0x08, 0xc6, 0x25, 0x6d, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, - 0x02, 0x12, 0x06, 0xc8, 0x25, 0x06, 0xcd, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, - 0x05, 0x08, 0x88, 0x09, 0x01, 0x02, 0x01, 0x12, 0x04, 0xc9, 0x25, 0x08, 0x28, 0x0a, 0x14, 0x0a, - 0x0a, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x02, 0x03, 0x12, 0x06, 0xca, 0x25, 0x08, - 0xcc, 0x25, 0x6c, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x03, - 0x12, 0x06, 0xce, 0x25, 0x06, 0xd3, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x05, - 0x08, 0x88, 0x09, 0x01, 0x03, 0x01, 0x12, 0x04, 0xcf, 0x25, 0x08, 0x1f, 0x0a, 0x14, 0x0a, 0x0a, - 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x03, 0x03, 0x12, 0x06, 0xd0, 0x25, 0x08, 0xd2, - 0x25, 0x7a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x04, 0x12, - 0x06, 0xd4, 0x25, 0x06, 0xd9, 0x25, 0x07, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x05, 0x08, - 0x88, 0x09, 0x01, 0x04, 0x01, 0x12, 0x04, 0xd5, 0x25, 0x08, 0x29, 0x0a, 0x14, 0x0a, 0x0a, 0x04, - 0x1b, 0x02, 0x05, 0x08, 0x88, 0x09, 0x01, 0x04, 0x03, 0x12, 0x06, 0xd6, 0x25, 0x08, 0xd8, 0x25, - 0x79, 0x0a, 0xe3, 0x02, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x06, 0x12, 0x06, 0xe4, 0x25, 0x04, 0xe7, - 0x25, 0x07, 0x1a, 0xd2, 0x02, 0x20, 0x60, 0x67, 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x60, 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, 0x60, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2c, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x67, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x60, 0x67, 0x74, 0x5f, 0x6e, 0x6f, - 0x77, 0x60, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x77, 0x69, - 0x74, 0x68, 0x69, 0x6e, 0x60, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 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, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, - 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x67, - 0x74, 0x5f, 0x6e, 0x6f, 0x77, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, - 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x06, 0x05, - 0x12, 0x04, 0xe4, 0x25, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xe4, 0x25, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xe4, 0x25, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x06, 0x08, 0x12, 0x06, 0xe4, - 0x25, 0x14, 0xe7, 0x25, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x06, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x12, 0x06, 0xe4, 0x25, 0x15, 0xe7, 0x25, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, - 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x25, 0x06, 0x1c, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x06, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x25, - 0x06, 0x58, 0x0a, 0xa1, 0x03, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x07, 0x12, 0x06, 0xf2, 0x25, 0x02, - 0xf5, 0x25, 0x05, 0x1a, 0x90, 0x03, 0x20, 0x60, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x60, 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, 0x60, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x2c, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x2f, 0x2f, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x31, 0x20, 0x68, 0x6f, 0x75, 0x72, 0x20, - 0x6f, 0x66, 0x20, 0x6e, 0x6f, 0x77, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x3d, 0x20, 0x7b, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x33, 0x36, 0x30, 0x30, 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, - 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x07, 0x04, 0x12, - 0x04, 0xf2, 0x25, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x07, 0x06, 0x12, 0x04, - 0xf2, 0x25, 0x0b, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x07, 0x01, 0x12, 0x04, 0xf2, - 0x25, 0x24, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x07, 0x03, 0x12, 0x04, 0xf2, 0x25, - 0x2d, 0x2e, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x07, 0x08, 0x12, 0x06, 0xf2, 0x25, 0x2f, - 0xf5, 0x25, 0x04, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, - 0x12, 0x06, 0xf2, 0x25, 0x30, 0xf5, 0x25, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x07, - 0x08, 0x88, 0x09, 0x01, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x25, 0x04, 0x1a, 0x0a, 0x13, 0x0a, 0x0a, - 0x04, 0x1b, 0x02, 0x07, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x05, 0xf4, 0x25, 0x04, 0x83, - 0x01, 0x0a, 0xcf, 0x03, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x08, 0x12, 0x06, 0x83, 0x26, 0x02, 0x86, - 0x26, 0x05, 0x1a, 0xbe, 0x03, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x68, 0x61, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x0a, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x60, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x60, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x69, 0x6d, 0x70, 0x61, 0x63, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x0a, 0x20, 0x62, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x68, 0x65, 0x6c, 0x70, 0x66, 0x75, 0x6c, 0x20, 0x67, - 0x75, 0x69, 0x64, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x6e, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x79, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 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, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, - 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, - 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, - 0x31, 0x36, 0x37, 0x32, 0x34, 0x34, 0x34, 0x38, 0x30, 0x30, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x2e, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x7b, 0x20, 0x73, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x3a, 0x20, 0x31, 0x36, 0x37, 0x32, 0x35, 0x33, 0x31, 0x32, 0x30, - 0x30, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x5d, 0x3b, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x08, 0x04, 0x12, 0x04, 0x83, 0x26, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x08, 0x06, 0x12, 0x04, 0x83, 0x26, 0x0b, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x08, 0x01, 0x12, 0x04, 0x83, 0x26, 0x25, 0x2c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x08, 0x03, 0x12, 0x04, 0x83, 0x26, 0x2f, 0x31, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x08, 0x08, 0x12, 0x06, 0x83, 0x26, 0x32, 0x86, 0x26, 0x04, - 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x1b, 0x02, 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x12, 0x06, 0x83, - 0x26, 0x33, 0x86, 0x26, 0x03, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, 0x08, 0x08, 0x88, 0x09, - 0x01, 0x00, 0x01, 0x12, 0x04, 0x84, 0x26, 0x04, 0x1b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x1b, 0x02, - 0x08, 0x08, 0x88, 0x09, 0x01, 0x00, 0x03, 0x12, 0x04, 0x85, 0x26, 0x04, 0x16, 0x0a, 0xb8, 0x01, - 0x0a, 0x03, 0x04, 0x1b, 0x05, 0x12, 0x04, 0x8b, 0x26, 0x02, 0x19, 0x1a, 0xaa, 0x01, 0x20, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x28, 0x62, - 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x65, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, - 0x65, 0x74, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, - 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x05, 0x00, - 0x12, 0x04, 0x8b, 0x26, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x05, 0x00, 0x01, 0x12, - 0x04, 0x8b, 0x26, 0x0d, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x05, 0x00, 0x02, 0x12, 0x04, - 0x8b, 0x26, 0x15, 0x18, 0x0a, 0x92, 0x02, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x06, 0x91, 0x26, 0x00, - 0x94, 0x26, 0x01, 0x1a, 0x83, 0x02, 0x20, 0x60, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x60, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x0a, 0x20, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x65, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x73, 0x65, 0x74, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, 0x75, 0x6c, - 0x65, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, - 0x69, 0x64, 0x75, 0x61, 0x6c, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x61, 0x20, 0x60, 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, - 0x12, 0x04, 0x91, 0x26, 0x08, 0x12, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x00, 0x12, - 0x04, 0x93, 0x26, 0x02, 0x24, 0x1a, 0x77, 0x20, 0x60, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x56, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x04, 0x12, 0x04, 0x93, 0x26, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1c, 0x02, 0x00, 0x06, 0x12, 0x04, 0x93, 0x26, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, 0x04, 0x93, 0x26, 0x15, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x93, 0x26, 0x22, 0x23, 0x0a, 0xd8, 0x07, 0x0a, 0x02, 0x04, - 0x1d, 0x12, 0x06, 0xc1, 0x26, 0x00, 0x82, 0x27, 0x01, 0x1a, 0xc9, 0x07, 0x20, 0x60, 0x56, 0x69, - 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, - 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x61, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x20, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x0a, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x60, - 0x52, 0x75, 0x6c, 0x65, 0x60, 0x2c, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, - 0x65, 0x74, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, - 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x0a, 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x69, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, - 0x61, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x0a, 0x20, 0x68, 0x75, 0x6d, 0x61, 0x6e, 0x2d, 0x72, 0x65, - 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x55, 0x73, 0x65, 0x72, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x20, 0x61, 0x67, 0x65, 0x20, 0x3d, - 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x75, - 0x73, 0x65, 0x72, 0x2e, 0x61, 0x67, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x3c, 0x20, 0x31, 0x38, 0x20, 0x3f, 0x20, 0x27, 0x55, 0x73, 0x65, - 0x72, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, - 0x73, 0x74, 0x20, 0x31, 0x38, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x6f, 0x6c, 0x64, 0x27, - 0x20, 0x3a, 0x20, 0x27, 0x27, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x3b, - 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f, - 0x75, 0x6c, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x6a, 0x73, 0x6f, 0x6e, 0x0a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x3a, 0x20, 0x22, - 0x75, 0x73, 0x65, 0x72, 0x2e, 0x61, 0x67, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x55, 0x73, 0x65, 0x72, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, - 0x31, 0x38, 0x20, 0x79, 0x65, 0x61, 0x72, 0x73, 0x20, 0x6f, 0x6c, 0x64, 0x22, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3a, - 0x20, 0x31, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x61, 0x67, 0x65, 0x22, 0x2c, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x54, 0x79, 0x70, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, - 0x33, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x22, 0x72, 0x75, - 0x6c, 0x65, 0x22, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x65, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x3a, 0x20, 0x32, 0x33, 0x2c, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x63, 0x65, 0x6c, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x54, 0x79, 0x70, 0x65, 0x22, - 0x3a, 0x20, 0x22, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x22, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x22, 0x69, 0x6e, 0x64, 0x65, - 0x78, 0x22, 0x3a, 0x20, 0x22, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xc1, 0x26, - 0x08, 0x11, 0x0a, 0x93, 0x04, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xd5, 0x26, 0x02, - 0x1f, 0x1a, 0x84, 0x04, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, - 0x6c, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x77, - 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, - 0x74, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x75, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, - 0x69, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, - 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, - 0x60, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, - 0x6c, 0x20, 0x61, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f, 0x75, - 0x6c, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x0a, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x7b, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x20, 0x7b, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x3a, 0x20, 0x31, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x3a, 0x20, 0x22, 0x61, 0x22, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x3a, 0x20, 0x38, 0x20, 0x7d, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xd5, 0x26, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xd5, 0x26, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xd5, 0x26, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xd5, 0x26, 0x1d, 0x1e, 0x0a, 0xae, 0x06, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x01, 0x12, 0x04, 0xf3, - 0x26, 0x02, 0x1e, 0x1a, 0x9f, 0x06, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x61, 0x20, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x6f, - 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x66, - 0x61, 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, - 0x61, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, - 0x20, 0x60, 0x63, 0x65, 0x6c, 0x5b, 0x30, 0x5d, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, - 0x61, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x62, 0x75, 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x2e, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x3d, 0x20, 0x74, 0x72, 0x75, 0x65, 0x5d, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x20, 0x62, 0x20, 0x3d, 0x20, 0x32, 0x20, 0x5b, 0x28, 0x62, 0x75, - 0x66, 0x2e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x29, 0x2e, 0x63, 0x65, 0x6c, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, - 0x64, 0x3a, 0x20, 0x22, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x22, - 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x3a, 0x20, 0x22, 0x21, 0x74, 0x68, 0x69, 0x73, 0x20, 0x3f, 0x20, 0x27, 0x62, 0x20, 0x6d, - 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x75, 0x65, 0x27, 0x3a, 0x20, 0x27, 0x27, - 0x22, 0x0a, 0x20, 0x20, 0x20, 0x7d, 0x5d, 0x0a, 0x20, 0x7d, 0x0a, 0x20, 0x60, 0x60, 0x60, 0x0a, - 0x0a, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, - 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, - 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x60, - 0x60, 0x60, 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x0a, 0x20, 0x76, 0x69, 0x6f, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x20, 0x7b, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x7b, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x3a, 0x20, 0x32, 0x35, 0x2c, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x22, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x3a, 0x20, 0x38, 0x20, 0x7d, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, - 0x20, 0x7d, 0x0a, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x7b, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x20, 0x7b, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x3a, 0x20, 0x32, 0x33, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x3a, 0x20, 0x22, 0x63, 0x65, 0x6c, 0x22, 0x2c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x3a, 0x20, 0x31, 0x31, 0x2c, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x3a, 0x20, - 0x30, 0x20, 0x7d, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x7d, 0x0a, - 0x20, 0x60, 0x60, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x04, 0x12, 0x04, - 0xf3, 0x26, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf3, - 0x26, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf3, 0x26, - 0x15, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf3, 0x26, 0x1c, - 0x1d, 0x0a, 0xcc, 0x01, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x02, 0x12, 0x04, 0xf7, 0x26, 0x02, 0x1e, - 0x1a, 0xbd, 0x01, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, - 0x75, 0x6c, 0x65, 0x60, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x60, - 0x69, 0x64, 0x60, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, - 0x75, 0x6c, 0x65, 0x60, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x61, 0x73, 0x79, 0x20, 0x74, 0x72, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x04, 0x12, 0x04, 0xf7, 0x26, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x05, 0x12, 0x04, 0xf7, 0x26, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x26, 0x12, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, 0x26, 0x1c, 0x1d, 0x0a, 0xf4, 0x01, 0x0a, - 0x04, 0x04, 0x1d, 0x02, 0x03, 0x12, 0x04, 0xfb, 0x26, 0x02, 0x1e, 0x1a, 0xe5, 0x01, 0x20, 0x60, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x68, 0x75, - 0x6d, 0x61, 0x6e, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x72, 0x72, - 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x69, 0x6f, 0x6c, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x60, 0x52, 0x75, 0x6c, 0x65, 0x60, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x67, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x04, 0x12, 0x04, 0xfb, 0x26, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x05, 0x12, 0x04, 0xfb, 0x26, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xfb, 0x26, 0x12, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xfb, 0x26, 0x1c, 0x1d, 0x0a, - 0x67, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x04, 0x12, 0x04, 0xfe, 0x26, 0x02, 0x1c, 0x1a, 0x59, 0x20, - 0x60, 0x66, 0x6f, 0x72, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x76, 0x69, 0x6f, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x63, 0x61, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, 0x65, - 0x79, 0x2c, 0x20, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x61, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x04, - 0x04, 0x12, 0x04, 0xfe, 0x26, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x04, 0x05, - 0x12, 0x04, 0xfe, 0x26, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x04, 0x01, 0x12, - 0x04, 0xfe, 0x26, 0x10, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x04, 0x03, 0x12, 0x04, - 0xfe, 0x26, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x09, 0x12, 0x04, 0x80, 0x27, 0x02, - 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x09, 0x00, 0x12, 0x04, 0x80, 0x27, 0x0b, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x09, 0x00, 0x01, 0x12, 0x04, 0x80, 0x27, 0x0b, 0x0c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1d, 0x09, 0x00, 0x02, 0x12, 0x04, 0x80, 0x27, 0x0b, 0x0c, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x1d, 0x0a, 0x12, 0x04, 0x81, 0x27, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, - 0x0a, 0x00, 0x12, 0x04, 0x81, 0x27, 0x0b, 0x17, 0x0a, 0x8e, 0x02, 0x0a, 0x02, 0x04, 0x1e, 0x12, - 0x06, 0x88, 0x27, 0x00, 0x8b, 0x27, 0x01, 0x1a, 0xff, 0x01, 0x20, 0x60, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x50, 0x61, 0x74, 0x68, 0x60, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x73, 0x74, - 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x6f, 0x75, 0x67, - 0x68, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, 0x20, 0x64, 0x6f, 0x74, 0x74, 0x65, 0x64, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x65, 0x76, 0x65, 0x6e, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x2e, 0x0a, 0x20, - 0x49, 0x74, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, - 0x20, 0x65, 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, - 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, - 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x77, 0x69, - 0x72, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1e, 0x01, - 0x12, 0x04, 0x88, 0x27, 0x08, 0x11, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x00, 0x12, 0x04, - 0x8a, 0x27, 0x02, 0x29, 0x1a, 0x5e, 0x20, 0x60, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, - 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x61, 0x74, 0x68, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x77, 0x61, - 0x72, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8a, - 0x27, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8a, 0x27, - 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x27, 0x1c, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x27, 0x27, 0x28, - 0x0a, 0xab, 0x03, 0x0a, 0x02, 0x04, 0x1f, 0x12, 0x06, 0x92, 0x27, 0x00, 0xc0, 0x27, 0x01, 0x1a, - 0x9c, 0x03, 0x20, 0x60, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x45, 0x6c, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x60, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, - 0x6e, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, - 0x68, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6f, 0x72, 0x20, 0x72, - 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x60, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x60, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x69, 0x74, 0x2e, 0x0a, 0x20, 0x41, 0x20, 0x70, 0x61, 0x74, 0x68, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6f, - 0x72, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x68, 0x61, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x60, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x60, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x61, 0x6c, - 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x75, 0x6e, 0x61, 0x6d, 0x62, 0x69, 0x67, 0x75, 0x6f, 0x75, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x1f, 0x01, 0x12, 0x04, 0x92, 0x27, 0x08, 0x18, 0x0a, 0x4f, 0x0a, 0x04, 0x04, - 0x1f, 0x02, 0x00, 0x12, 0x04, 0x94, 0x27, 0x02, 0x22, 0x1a, 0x41, 0x20, 0x60, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x60, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1f, 0x02, 0x00, 0x04, 0x12, 0x04, 0x94, 0x27, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1f, 0x02, 0x00, 0x05, 0x12, 0x04, 0x94, 0x27, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x27, 0x11, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x94, 0x27, 0x20, 0x21, 0x0a, 0xaa, 0x01, 0x0a, 0x04, 0x04, 0x1f, 0x02, - 0x01, 0x12, 0x04, 0x98, 0x27, 0x02, 0x21, 0x1a, 0x9b, 0x01, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x61, 0x20, 0x68, 0x75, 0x6d, 0x61, - 0x6e, 0x2d, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, - 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x6b, 0x6e, - 0x6f, 0x77, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x04, 0x12, 0x04, - 0x98, 0x27, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x05, 0x12, 0x04, 0x98, - 0x27, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x27, - 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x27, 0x1f, - 0x20, 0x0a, 0xc0, 0x04, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x27, 0x02, 0x44, - 0x1a, 0xb1, 0x04, 0x20, 0x60, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, - 0x66, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x65, 0x65, 0x64, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x6d, 0x61, 0x6b, 0x65, 0x20, 0x69, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x65, 0x20, 0x75, 0x6e, 0x6b, - 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, - 0x75, 0x67, 0x68, 0x20, 0x77, 0x69, 0x72, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x20, - 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x20, - 0x77, 0x69, 0x72, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x69, - 0x6e, 0x64, 0x66, 0x75, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x70, 0x61, - 0x63, 0x6b, 0x65, 0x64, 0x5b, 0x31, 0x5d, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x65, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x65, 0x64, 0x5b, 0x32, 0x5d, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x5b, 0x31, 0x5d, - 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, - 0x6e, 0x67, 0x2d, 0x67, 0x75, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, - 0x6e, 0x67, 0x2f, 0x23, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x0a, 0x20, 0x5b, 0x32, 0x5d, 0x3a, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x69, 0x6e, - 0x67, 0x2d, 0x67, 0x75, 0x69, 0x64, 0x65, 0x73, 0x2f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, - 0x67, 0x2f, 0x23, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x0a, 0x0a, 0x20, 0x4e, 0x2e, 0x42, 0x2e, - 0x3a, 0x20, 0x41, 0x6c, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x42, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x32, 0x30, 0x32, 0x33, 0x20, 0x45, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x04, 0x12, 0x04, 0xa4, - 0x27, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa4, 0x27, - 0x0b, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x27, 0x35, - 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa4, 0x27, 0x42, 0x43, - 0x0a, 0xe4, 0x01, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x03, 0x12, 0x04, 0xa9, 0x27, 0x02, 0x42, 0x1a, - 0xd5, 0x01, 0x20, 0x60, 0x6b, 0x65, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x20, - 0x6b, 0x65, 0x79, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x72, 0x61, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x75, 0x6e, - 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, 0x72, - 0x6f, 0x75, 0x67, 0x68, 0x20, 0x77, 0x69, 0x72, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x3a, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x20, 0x69, 0x74, - 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x0a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x20, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x04, - 0x12, 0x04, 0xa9, 0x27, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x06, 0x12, - 0x04, 0xa9, 0x27, 0x0b, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xa9, 0x27, 0x35, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa9, - 0x27, 0x40, 0x41, 0x0a, 0x9d, 0x01, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x04, 0x12, 0x04, 0xad, 0x27, - 0x02, 0x44, 0x1a, 0x8e, 0x01, 0x20, 0x60, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x70, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, - 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x20, 0x61, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x69, 0x64, 0x65, - 0x20, 0x75, 0x6e, 0x6b, 0x6e, 0x6f, 0x77, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x77, 0x69, 0x72, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x04, 0x04, 0x12, 0x04, 0xad, 0x27, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x04, 0x06, 0x12, 0x04, 0xad, 0x27, 0x0b, - 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x04, 0x01, 0x12, 0x04, 0xad, 0x27, 0x35, 0x3f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x04, 0x03, 0x12, 0x04, 0xad, 0x27, 0x42, 0x43, 0x0a, - 0x7c, 0x0a, 0x04, 0x04, 0x1f, 0x08, 0x00, 0x12, 0x06, 0xb0, 0x27, 0x02, 0xbf, 0x27, 0x03, 0x1a, - 0x6c, 0x20, 0x60, 0x73, 0x75, 0x62, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x60, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, - 0x65, 0x79, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x74, 0x68, - 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x73, 0x20, 0x69, - 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, - 0x72, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1f, 0x08, 0x00, 0x01, 0x12, 0x04, 0xb0, 0x27, 0x08, 0x11, 0x0a, 0x48, 0x0a, 0x04, - 0x04, 0x1f, 0x02, 0x05, 0x12, 0x04, 0xb2, 0x27, 0x04, 0x15, 0x1a, 0x3a, 0x20, 0x60, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x30, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x69, - 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x05, 0x05, 0x12, - 0x04, 0xb2, 0x27, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x05, 0x01, 0x12, 0x04, - 0xb2, 0x27, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb2, - 0x27, 0x13, 0x14, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x06, 0x12, 0x04, 0xb5, 0x27, 0x04, - 0x16, 0x1a, 0x2e, 0x20, 0x60, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, - 0x65, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x6c, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x06, 0x05, 0x12, 0x04, 0xb5, 0x27, 0x04, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x06, 0x01, 0x12, 0x04, 0xb5, 0x27, 0x09, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x06, 0x03, 0x12, 0x04, 0xb5, 0x27, 0x14, 0x15, 0x0a, 0x69, - 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x07, 0x12, 0x04, 0xb8, 0x27, 0x04, 0x16, 0x1a, 0x5b, 0x20, 0x60, - 0x69, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2c, 0x20, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x74, 0x36, - 0x34, 0x2c, 0x20, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x73, - 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, - 0x07, 0x05, 0x12, 0x04, 0xb8, 0x27, 0x04, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x07, - 0x01, 0x12, 0x04, 0xb8, 0x27, 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x07, 0x03, - 0x12, 0x04, 0xb8, 0x27, 0x14, 0x15, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x08, 0x12, 0x04, - 0xbb, 0x27, 0x04, 0x18, 0x1a, 0x4c, 0x20, 0x60, 0x75, 0x69, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x60, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, - 0x70, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x75, 0x69, - 0x6e, 0x74, 0x33, 0x32, 0x2c, 0x20, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x2c, 0x20, 0x66, 0x69, - 0x78, 0x65, 0x64, 0x33, 0x32, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x08, 0x05, 0x12, 0x04, 0xbb, 0x27, 0x04, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x27, 0x0b, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x08, 0x03, 0x12, 0x04, 0xbb, 0x27, 0x16, 0x17, 0x0a, - 0x40, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x09, 0x12, 0x04, 0xbe, 0x27, 0x04, 0x1b, 0x1a, 0x32, 0x20, - 0x60, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x09, 0x05, 0x12, 0x04, 0xbe, 0x27, 0x04, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x09, 0x01, 0x12, 0x04, 0xbe, 0x27, 0x0b, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x09, 0x03, 0x12, 0x04, 0xbe, 0x27, 0x18, 0x1a, -]; -include!("buf.validate.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.serde.rs b/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.serde.rs deleted file mode 100644 index c0f76b3f0..000000000 --- a/rust/crates/sift_rs/src/gen/buf/validate/buf.validate.serde.rs +++ /dev/null @@ -1,6702 +0,0 @@ -// @generated -impl serde::Serialize for AnyRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.AnyRules", len)?; - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for AnyRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "in", - "not_in", - "notIn", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - In, - NotIn, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = AnyRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.AnyRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#in__ = None; - let mut not_in__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = Some(map_.next_value()?); - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = Some(map_.next_value()?); - } - } - } - Ok(AnyRules { - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.AnyRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BoolRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.BoolRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BoolRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "example", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - Example, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "example" => Ok(GeneratedField::Example), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BoolRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.BoolRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut example__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - } - } - Ok(BoolRules { - r#const: r#const__, - example: example__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.BoolRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BytesRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if self.len.is_some() { - len += 1; - } - if self.min_len.is_some() { - len += 1; - } - if self.max_len.is_some() { - len += 1; - } - if self.pattern.is_some() { - len += 1; - } - if self.prefix.is_some() { - len += 1; - } - if self.suffix.is_some() { - len += 1; - } - if self.contains.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.well_known.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.BytesRules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", pbjson::private::base64::encode(&v).as_str())?; - } - if let Some(v) = self.len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("len", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.min_len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minLen", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.max_len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxLen", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.pattern.as_ref() { - struct_ser.serialize_field("pattern", v)?; - } - if let Some(v) = self.prefix.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("prefix", pbjson::private::base64::encode(&v).as_str())?; - } - if let Some(v) = self.suffix.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("suffix", pbjson::private::base64::encode(&v).as_str())?; - } - if let Some(v) = self.contains.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("contains", pbjson::private::base64::encode(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(pbjson::private::base64::encode).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(pbjson::private::base64::encode).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(pbjson::private::base64::encode).collect::>())?; - } - if let Some(v) = self.well_known.as_ref() { - match v { - bytes_rules::WellKnown::Ip(v) => { - struct_ser.serialize_field("ip", v)?; - } - bytes_rules::WellKnown::Ipv4(v) => { - struct_ser.serialize_field("ipv4", v)?; - } - bytes_rules::WellKnown::Ipv6(v) => { - struct_ser.serialize_field("ipv6", v)?; - } - bytes_rules::WellKnown::Uuid(v) => { - struct_ser.serialize_field("uuid", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BytesRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "len", - "min_len", - "minLen", - "max_len", - "maxLen", - "pattern", - "prefix", - "suffix", - "contains", - "in", - "not_in", - "notIn", - "example", - "ip", - "ipv4", - "ipv6", - "uuid", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - Len, - MinLen, - MaxLen, - Pattern, - Prefix, - Suffix, - Contains, - In, - NotIn, - Example, - Ip, - Ipv4, - Ipv6, - Uuid, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "len" => Ok(GeneratedField::Len), - "minLen" | "min_len" => Ok(GeneratedField::MinLen), - "maxLen" | "max_len" => Ok(GeneratedField::MaxLen), - "pattern" => Ok(GeneratedField::Pattern), - "prefix" => Ok(GeneratedField::Prefix), - "suffix" => Ok(GeneratedField::Suffix), - "contains" => Ok(GeneratedField::Contains), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "ip" => Ok(GeneratedField::Ip), - "ipv4" => Ok(GeneratedField::Ipv4), - "ipv6" => Ok(GeneratedField::Ipv6), - "uuid" => Ok(GeneratedField::Uuid), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BytesRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.BytesRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut len__ = None; - let mut min_len__ = None; - let mut max_len__ = None; - let mut pattern__ = None; - let mut prefix__ = None; - let mut suffix__ = None; - let mut contains__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut well_known__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Len => { - if len__.is_some() { - return Err(serde::de::Error::duplicate_field("len")); - } - len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MinLen => { - if min_len__.is_some() { - return Err(serde::de::Error::duplicate_field("minLen")); - } - min_len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MaxLen => { - if max_len__.is_some() { - return Err(serde::de::Error::duplicate_field("maxLen")); - } - max_len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Pattern => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("pattern")); - } - pattern__ = map_.next_value()?; - } - GeneratedField::Prefix => { - if prefix__.is_some() { - return Err(serde::de::Error::duplicate_field("prefix")); - } - prefix__ = - map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Suffix => { - if suffix__.is_some() { - return Err(serde::de::Error::duplicate_field("suffix")); - } - suffix__ = - map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Contains => { - if contains__.is_some() { - return Err(serde::de::Error::duplicate_field("contains")); - } - contains__ = - map_.next_value::<::std::option::Option<::pbjson::private::BytesDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Ip => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ip")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(bytes_rules::WellKnown::Ip); - } - GeneratedField::Ipv4 => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv4")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(bytes_rules::WellKnown::Ipv4); - } - GeneratedField::Ipv6 => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv6")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(bytes_rules::WellKnown::Ipv6); - } - GeneratedField::Uuid => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("uuid")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(bytes_rules::WellKnown::Uuid); - } - } - } - Ok(BytesRules { - r#const: r#const__, - len: len__, - min_len: min_len__, - max_len: max_len__, - pattern: pattern__, - prefix: prefix__, - suffix: suffix__, - contains: contains__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - well_known: well_known__, - }) - } - } - deserializer.deserialize_struct("buf.validate.BytesRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for DoubleRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if self.finite.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.DoubleRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if let Some(v) = self.finite.as_ref() { - struct_ser.serialize_field("finite", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - double_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - double_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - double_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - double_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for DoubleRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "finite", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Finite, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "finite" => Ok(GeneratedField::Finite), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = DoubleRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.DoubleRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut finite__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Finite => { - if finite__.is_some() { - return Err(serde::de::Error::duplicate_field("finite")); - } - finite__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| double_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| double_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| double_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| double_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(DoubleRules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - finite: finite__, - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.DoubleRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for DurationRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.DurationRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - duration_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - duration_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - duration_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - duration_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for DurationRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = DurationRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.DurationRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = map_.next_value()?; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = Some(map_.next_value()?); - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = Some(map_.next_value()?); - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<_>>()?.map(duration_rules::LessThan::Lt) -; - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<_>>()?.map(duration_rules::LessThan::Lte) -; - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<_>>()?.map(duration_rules::GreaterThan::Gt) -; - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<_>>()?.map(duration_rules::GreaterThan::Gte) -; - } - } - } - Ok(DurationRules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.DurationRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for EnumRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if self.defined_only.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.EnumRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if let Some(v) = self.defined_only.as_ref() { - struct_ser.serialize_field("definedOnly", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for EnumRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "defined_only", - "definedOnly", - "in", - "not_in", - "notIn", - "example", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - DefinedOnly, - In, - NotIn, - Example, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "definedOnly" | "defined_only" => Ok(GeneratedField::DefinedOnly), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = EnumRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.EnumRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut defined_only__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::DefinedOnly => { - if defined_only__.is_some() { - return Err(serde::de::Error::duplicate_field("definedOnly")); - } - defined_only__ = map_.next_value()?; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - } - } - Ok(EnumRules { - r#const: r#const__, - defined_only: defined_only__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.EnumRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FieldMaskRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.FieldMaskRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for FieldMaskRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FieldMaskRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.FieldMaskRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = map_.next_value()?; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = Some(map_.next_value()?); - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = Some(map_.next_value()?); - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - } - } - Ok(FieldMaskRules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.FieldMaskRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FieldPath { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.elements.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.FieldPath", len)?; - if !self.elements.is_empty() { - struct_ser.serialize_field("elements", &self.elements)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for FieldPath { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "elements", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Elements, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "elements" => Ok(GeneratedField::Elements), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FieldPath; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.FieldPath") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut elements__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Elements => { - if elements__.is_some() { - return Err(serde::de::Error::duplicate_field("elements")); - } - elements__ = Some(map_.next_value()?); - } - } - } - Ok(FieldPath { - elements: elements__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.FieldPath", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FieldPathElement { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.field_number.is_some() { - len += 1; - } - if self.field_name.is_some() { - len += 1; - } - if self.field_type.is_some() { - len += 1; - } - if self.key_type.is_some() { - len += 1; - } - if self.value_type.is_some() { - len += 1; - } - if self.subscript.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.FieldPathElement", len)?; - if let Some(v) = self.field_number.as_ref() { - struct_ser.serialize_field("fieldNumber", v)?; - } - if let Some(v) = self.field_name.as_ref() { - struct_ser.serialize_field("fieldName", v)?; - } - if let Some(v) = self.field_type.as_ref() { - let v = ::pbjson_types::field_descriptor_proto::Type::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; - struct_ser.serialize_field("fieldType", &v)?; - } - if let Some(v) = self.key_type.as_ref() { - let v = ::pbjson_types::field_descriptor_proto::Type::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; - struct_ser.serialize_field("keyType", &v)?; - } - if let Some(v) = self.value_type.as_ref() { - let v = ::pbjson_types::field_descriptor_proto::Type::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; - struct_ser.serialize_field("valueType", &v)?; - } - if let Some(v) = self.subscript.as_ref() { - match v { - field_path_element::Subscript::Index(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("index", ToString::to_string(&v).as_str())?; - } - field_path_element::Subscript::BoolKey(v) => { - struct_ser.serialize_field("boolKey", v)?; - } - field_path_element::Subscript::IntKey(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("intKey", ToString::to_string(&v).as_str())?; - } - field_path_element::Subscript::UintKey(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("uintKey", ToString::to_string(&v).as_str())?; - } - field_path_element::Subscript::StringKey(v) => { - struct_ser.serialize_field("stringKey", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for FieldPathElement { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "field_number", - "fieldNumber", - "field_name", - "fieldName", - "field_type", - "fieldType", - "key_type", - "keyType", - "value_type", - "valueType", - "index", - "bool_key", - "boolKey", - "int_key", - "intKey", - "uint_key", - "uintKey", - "string_key", - "stringKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - FieldNumber, - FieldName, - FieldType, - KeyType, - ValueType, - Index, - BoolKey, - IntKey, - UintKey, - StringKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "fieldNumber" | "field_number" => Ok(GeneratedField::FieldNumber), - "fieldName" | "field_name" => Ok(GeneratedField::FieldName), - "fieldType" | "field_type" => Ok(GeneratedField::FieldType), - "keyType" | "key_type" => Ok(GeneratedField::KeyType), - "valueType" | "value_type" => Ok(GeneratedField::ValueType), - "index" => Ok(GeneratedField::Index), - "boolKey" | "bool_key" => Ok(GeneratedField::BoolKey), - "intKey" | "int_key" => Ok(GeneratedField::IntKey), - "uintKey" | "uint_key" => Ok(GeneratedField::UintKey), - "stringKey" | "string_key" => Ok(GeneratedField::StringKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FieldPathElement; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.FieldPathElement") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut field_number__ = None; - let mut field_name__ = None; - let mut field_type__ = None; - let mut key_type__ = None; - let mut value_type__ = None; - let mut subscript__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::FieldNumber => { - if field_number__.is_some() { - return Err(serde::de::Error::duplicate_field("fieldNumber")); - } - field_number__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::FieldName => { - if field_name__.is_some() { - return Err(serde::de::Error::duplicate_field("fieldName")); - } - field_name__ = map_.next_value()?; - } - GeneratedField::FieldType => { - if field_type__.is_some() { - return Err(serde::de::Error::duplicate_field("fieldType")); - } - field_type__ = map_.next_value::<::std::option::Option<::pbjson_types::field_descriptor_proto::Type>>()?.map(|x| x as i32); - } - GeneratedField::KeyType => { - if key_type__.is_some() { - return Err(serde::de::Error::duplicate_field("keyType")); - } - key_type__ = map_.next_value::<::std::option::Option<::pbjson_types::field_descriptor_proto::Type>>()?.map(|x| x as i32); - } - GeneratedField::ValueType => { - if value_type__.is_some() { - return Err(serde::de::Error::duplicate_field("valueType")); - } - value_type__ = map_.next_value::<::std::option::Option<::pbjson_types::field_descriptor_proto::Type>>()?.map(|x| x as i32); - } - GeneratedField::Index => { - if subscript__.is_some() { - return Err(serde::de::Error::duplicate_field("index")); - } - subscript__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| field_path_element::Subscript::Index(x.0)); - } - GeneratedField::BoolKey => { - if subscript__.is_some() { - return Err(serde::de::Error::duplicate_field("boolKey")); - } - subscript__ = map_.next_value::<::std::option::Option<_>>()?.map(field_path_element::Subscript::BoolKey); - } - GeneratedField::IntKey => { - if subscript__.is_some() { - return Err(serde::de::Error::duplicate_field("intKey")); - } - subscript__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| field_path_element::Subscript::IntKey(x.0)); - } - GeneratedField::UintKey => { - if subscript__.is_some() { - return Err(serde::de::Error::duplicate_field("uintKey")); - } - subscript__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| field_path_element::Subscript::UintKey(x.0)); - } - GeneratedField::StringKey => { - if subscript__.is_some() { - return Err(serde::de::Error::duplicate_field("stringKey")); - } - subscript__ = map_.next_value::<::std::option::Option<_>>()?.map(field_path_element::Subscript::StringKey); - } - } - } - Ok(FieldPathElement { - field_number: field_number__, - field_name: field_name__, - field_type: field_type__, - key_type: key_type__, - value_type: value_type__, - subscript: subscript__, - }) - } - } - deserializer.deserialize_struct("buf.validate.FieldPathElement", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FieldRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.cel_expression.is_empty() { - len += 1; - } - if !self.cel.is_empty() { - len += 1; - } - if self.required.is_some() { - len += 1; - } - if self.ignore.is_some() { - len += 1; - } - if self.r#type.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.FieldRules", len)?; - if !self.cel_expression.is_empty() { - struct_ser.serialize_field("celExpression", &self.cel_expression)?; - } - if !self.cel.is_empty() { - struct_ser.serialize_field("cel", &self.cel)?; - } - if let Some(v) = self.required.as_ref() { - struct_ser.serialize_field("required", v)?; - } - if let Some(v) = self.ignore.as_ref() { - let v = Ignore::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; - struct_ser.serialize_field("ignore", &v)?; - } - if let Some(v) = self.r#type.as_ref() { - match v { - field_rules::Type::Float(v) => { - struct_ser.serialize_field("float", v)?; - } - field_rules::Type::Double(v) => { - struct_ser.serialize_field("double", v)?; - } - field_rules::Type::Int32(v) => { - struct_ser.serialize_field("int32", v)?; - } - field_rules::Type::Int64(v) => { - struct_ser.serialize_field("int64", v)?; - } - field_rules::Type::Uint32(v) => { - struct_ser.serialize_field("uint32", v)?; - } - field_rules::Type::Uint64(v) => { - struct_ser.serialize_field("uint64", v)?; - } - field_rules::Type::Sint32(v) => { - struct_ser.serialize_field("sint32", v)?; - } - field_rules::Type::Sint64(v) => { - struct_ser.serialize_field("sint64", v)?; - } - field_rules::Type::Fixed32(v) => { - struct_ser.serialize_field("fixed32", v)?; - } - field_rules::Type::Fixed64(v) => { - struct_ser.serialize_field("fixed64", v)?; - } - field_rules::Type::Sfixed32(v) => { - struct_ser.serialize_field("sfixed32", v)?; - } - field_rules::Type::Sfixed64(v) => { - struct_ser.serialize_field("sfixed64", v)?; - } - field_rules::Type::Bool(v) => { - struct_ser.serialize_field("bool", v)?; - } - field_rules::Type::String(v) => { - struct_ser.serialize_field("string", v)?; - } - field_rules::Type::Bytes(v) => { - struct_ser.serialize_field("bytes", v)?; - } - field_rules::Type::Enum(v) => { - struct_ser.serialize_field("enum", v)?; - } - field_rules::Type::Repeated(v) => { - struct_ser.serialize_field("repeated", v)?; - } - field_rules::Type::Map(v) => { - struct_ser.serialize_field("map", v)?; - } - field_rules::Type::Any(v) => { - struct_ser.serialize_field("any", v)?; - } - field_rules::Type::Duration(v) => { - struct_ser.serialize_field("duration", v)?; - } - field_rules::Type::FieldMask(v) => { - struct_ser.serialize_field("fieldMask", v)?; - } - field_rules::Type::Timestamp(v) => { - struct_ser.serialize_field("timestamp", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for FieldRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "cel_expression", - "celExpression", - "cel", - "required", - "ignore", - "float", - "double", - "int32", - "int64", - "uint32", - "uint64", - "sint32", - "sint64", - "fixed32", - "fixed64", - "sfixed32", - "sfixed64", - "bool", - "string", - "bytes", - "enum", - "repeated", - "map", - "any", - "duration", - "field_mask", - "fieldMask", - "timestamp", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - CelExpression, - Cel, - Required, - Ignore, - Float, - Double, - Int32, - Int64, - Uint32, - Uint64, - Sint32, - Sint64, - Fixed32, - Fixed64, - Sfixed32, - Sfixed64, - Bool, - String, - Bytes, - Enum, - Repeated, - Map, - Any, - Duration, - FieldMask, - Timestamp, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "celExpression" | "cel_expression" => Ok(GeneratedField::CelExpression), - "cel" => Ok(GeneratedField::Cel), - "required" => Ok(GeneratedField::Required), - "ignore" => Ok(GeneratedField::Ignore), - "float" => Ok(GeneratedField::Float), - "double" => Ok(GeneratedField::Double), - "int32" => Ok(GeneratedField::Int32), - "int64" => Ok(GeneratedField::Int64), - "uint32" => Ok(GeneratedField::Uint32), - "uint64" => Ok(GeneratedField::Uint64), - "sint32" => Ok(GeneratedField::Sint32), - "sint64" => Ok(GeneratedField::Sint64), - "fixed32" => Ok(GeneratedField::Fixed32), - "fixed64" => Ok(GeneratedField::Fixed64), - "sfixed32" => Ok(GeneratedField::Sfixed32), - "sfixed64" => Ok(GeneratedField::Sfixed64), - "bool" => Ok(GeneratedField::Bool), - "string" => Ok(GeneratedField::String), - "bytes" => Ok(GeneratedField::Bytes), - "enum" => Ok(GeneratedField::Enum), - "repeated" => Ok(GeneratedField::Repeated), - "map" => Ok(GeneratedField::Map), - "any" => Ok(GeneratedField::Any), - "duration" => Ok(GeneratedField::Duration), - "fieldMask" | "field_mask" => Ok(GeneratedField::FieldMask), - "timestamp" => Ok(GeneratedField::Timestamp), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FieldRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.FieldRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut cel_expression__ = None; - let mut cel__ = None; - let mut required__ = None; - let mut ignore__ = None; - let mut r#type__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::CelExpression => { - if cel_expression__.is_some() { - return Err(serde::de::Error::duplicate_field("celExpression")); - } - cel_expression__ = Some(map_.next_value()?); - } - GeneratedField::Cel => { - if cel__.is_some() { - return Err(serde::de::Error::duplicate_field("cel")); - } - cel__ = Some(map_.next_value()?); - } - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = map_.next_value()?; - } - GeneratedField::Ignore => { - if ignore__.is_some() { - return Err(serde::de::Error::duplicate_field("ignore")); - } - ignore__ = map_.next_value::<::std::option::Option>()?.map(|x| x as i32); - } - GeneratedField::Float => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("float")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Float) -; - } - GeneratedField::Double => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("double")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Double) -; - } - GeneratedField::Int32 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("int32")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Int32) -; - } - GeneratedField::Int64 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("int64")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Int64) -; - } - GeneratedField::Uint32 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("uint32")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Uint32) -; - } - GeneratedField::Uint64 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("uint64")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Uint64) -; - } - GeneratedField::Sint32 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("sint32")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Sint32) -; - } - GeneratedField::Sint64 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("sint64")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Sint64) -; - } - GeneratedField::Fixed32 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("fixed32")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Fixed32) -; - } - GeneratedField::Fixed64 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("fixed64")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Fixed64) -; - } - GeneratedField::Sfixed32 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("sfixed32")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Sfixed32) -; - } - GeneratedField::Sfixed64 => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("sfixed64")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Sfixed64) -; - } - GeneratedField::Bool => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("bool")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Bool) -; - } - GeneratedField::String => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("string")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::String) -; - } - GeneratedField::Bytes => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("bytes")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Bytes) -; - } - GeneratedField::Enum => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("enum")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Enum) -; - } - GeneratedField::Repeated => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("repeated")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Repeated) -; - } - GeneratedField::Map => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("map")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Map) -; - } - GeneratedField::Any => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("any")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Any) -; - } - GeneratedField::Duration => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("duration")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Duration) -; - } - GeneratedField::FieldMask => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("fieldMask")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::FieldMask) -; - } - GeneratedField::Timestamp => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("timestamp")); - } - r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(field_rules::Type::Timestamp) -; - } - } - } - Ok(FieldRules { - cel_expression: cel_expression__.unwrap_or_default(), - cel: cel__.unwrap_or_default(), - required: required__, - ignore: ignore__, - r#type: r#type__, - }) - } - } - deserializer.deserialize_struct("buf.validate.FieldRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Fixed32Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Fixed32Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - fixed32_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - fixed32_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - fixed32_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - fixed32_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Fixed32Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Fixed32Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Fixed32Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed32_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed32_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed32_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed32_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(Fixed32Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Fixed32Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Fixed64Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Fixed64Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", ToString::to_string(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(ToString::to_string).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(ToString::to_string).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(ToString::to_string).collect::>())?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - fixed64_rules::LessThan::Lt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lt", ToString::to_string(&v).as_str())?; - } - fixed64_rules::LessThan::Lte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lte", ToString::to_string(&v).as_str())?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - fixed64_rules::GreaterThan::Gt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gt", ToString::to_string(&v).as_str())?; - } - fixed64_rules::GreaterThan::Gte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gte", ToString::to_string(&v).as_str())?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Fixed64Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Fixed64Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Fixed64Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed64_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed64_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed64_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| fixed64_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(Fixed64Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Fixed64Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FloatRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if self.finite.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.FloatRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if let Some(v) = self.finite.as_ref() { - struct_ser.serialize_field("finite", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - float_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - float_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - float_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - float_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for FloatRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "finite", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Finite, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "finite" => Ok(GeneratedField::Finite), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FloatRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.FloatRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut finite__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Finite => { - if finite__.is_some() { - return Err(serde::de::Error::duplicate_field("finite")); - } - finite__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| float_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| float_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| float_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| float_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(FloatRules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - finite: finite__, - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.FloatRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Ignore { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "IGNORE_UNSPECIFIED", - Self::IfZeroValue => "IGNORE_IF_ZERO_VALUE", - Self::Always => "IGNORE_ALWAYS", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for Ignore { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "IGNORE_UNSPECIFIED", - "IGNORE_IF_ZERO_VALUE", - "IGNORE_ALWAYS", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Ignore; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "IGNORE_UNSPECIFIED" => Ok(Ignore::Unspecified), - "IGNORE_IF_ZERO_VALUE" => Ok(Ignore::IfZeroValue), - "IGNORE_ALWAYS" => Ok(Ignore::Always), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for Int32Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Int32Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - int32_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - int32_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - int32_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - int32_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Int32Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Int32Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Int32Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int32_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int32_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int32_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int32_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(Int32Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Int32Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Int64Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Int64Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", ToString::to_string(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(ToString::to_string).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(ToString::to_string).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(ToString::to_string).collect::>())?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - int64_rules::LessThan::Lt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lt", ToString::to_string(&v).as_str())?; - } - int64_rules::LessThan::Lte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lte", ToString::to_string(&v).as_str())?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - int64_rules::GreaterThan::Gt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gt", ToString::to_string(&v).as_str())?; - } - int64_rules::GreaterThan::Gte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gte", ToString::to_string(&v).as_str())?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Int64Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Int64Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Int64Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int64_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int64_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int64_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| int64_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(Int64Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Int64Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for KnownRegex { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "KNOWN_REGEX_UNSPECIFIED", - Self::HttpHeaderName => "KNOWN_REGEX_HTTP_HEADER_NAME", - Self::HttpHeaderValue => "KNOWN_REGEX_HTTP_HEADER_VALUE", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for KnownRegex { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "KNOWN_REGEX_UNSPECIFIED", - "KNOWN_REGEX_HTTP_HEADER_NAME", - "KNOWN_REGEX_HTTP_HEADER_VALUE", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = KnownRegex; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "KNOWN_REGEX_UNSPECIFIED" => Ok(KnownRegex::Unspecified), - "KNOWN_REGEX_HTTP_HEADER_NAME" => Ok(KnownRegex::HttpHeaderName), - "KNOWN_REGEX_HTTP_HEADER_VALUE" => Ok(KnownRegex::HttpHeaderValue), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for MapRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.min_pairs.is_some() { - len += 1; - } - if self.max_pairs.is_some() { - len += 1; - } - if self.keys.is_some() { - len += 1; - } - if self.values.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.MapRules", len)?; - if let Some(v) = self.min_pairs.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minPairs", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.max_pairs.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxPairs", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.keys.as_ref() { - struct_ser.serialize_field("keys", v)?; - } - if let Some(v) = self.values.as_ref() { - struct_ser.serialize_field("values", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for MapRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "min_pairs", - "minPairs", - "max_pairs", - "maxPairs", - "keys", - "values", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - MinPairs, - MaxPairs, - Keys, - Values, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "minPairs" | "min_pairs" => Ok(GeneratedField::MinPairs), - "maxPairs" | "max_pairs" => Ok(GeneratedField::MaxPairs), - "keys" => Ok(GeneratedField::Keys), - "values" => Ok(GeneratedField::Values), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = MapRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.MapRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut min_pairs__ = None; - let mut max_pairs__ = None; - let mut keys__ = None; - let mut values__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::MinPairs => { - if min_pairs__.is_some() { - return Err(serde::de::Error::duplicate_field("minPairs")); - } - min_pairs__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MaxPairs => { - if max_pairs__.is_some() { - return Err(serde::de::Error::duplicate_field("maxPairs")); - } - max_pairs__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Keys => { - if keys__.is_some() { - return Err(serde::de::Error::duplicate_field("keys")); - } - keys__ = map_.next_value()?; - } - GeneratedField::Values => { - if values__.is_some() { - return Err(serde::de::Error::duplicate_field("values")); - } - values__ = map_.next_value()?; - } - } - } - Ok(MapRules { - min_pairs: min_pairs__, - max_pairs: max_pairs__, - keys: keys__, - values: values__, - }) - } - } - deserializer.deserialize_struct("buf.validate.MapRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for MessageOneofRule { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.fields.is_empty() { - len += 1; - } - if self.required.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.MessageOneofRule", len)?; - if !self.fields.is_empty() { - struct_ser.serialize_field("fields", &self.fields)?; - } - if let Some(v) = self.required.as_ref() { - struct_ser.serialize_field("required", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for MessageOneofRule { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "fields", - "required", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Fields, - Required, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "fields" => Ok(GeneratedField::Fields), - "required" => Ok(GeneratedField::Required), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = MessageOneofRule; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.MessageOneofRule") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut fields__ = None; - let mut required__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Fields => { - if fields__.is_some() { - return Err(serde::de::Error::duplicate_field("fields")); - } - fields__ = Some(map_.next_value()?); - } - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = map_.next_value()?; - } - } - } - Ok(MessageOneofRule { - fields: fields__.unwrap_or_default(), - required: required__, - }) - } - } - deserializer.deserialize_struct("buf.validate.MessageOneofRule", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for MessageRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.cel_expression.is_empty() { - len += 1; - } - if !self.cel.is_empty() { - len += 1; - } - if !self.oneof.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.MessageRules", len)?; - if !self.cel_expression.is_empty() { - struct_ser.serialize_field("celExpression", &self.cel_expression)?; - } - if !self.cel.is_empty() { - struct_ser.serialize_field("cel", &self.cel)?; - } - if !self.oneof.is_empty() { - struct_ser.serialize_field("oneof", &self.oneof)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for MessageRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "cel_expression", - "celExpression", - "cel", - "oneof", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - CelExpression, - Cel, - Oneof, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "celExpression" | "cel_expression" => Ok(GeneratedField::CelExpression), - "cel" => Ok(GeneratedField::Cel), - "oneof" => Ok(GeneratedField::Oneof), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = MessageRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.MessageRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut cel_expression__ = None; - let mut cel__ = None; - let mut oneof__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::CelExpression => { - if cel_expression__.is_some() { - return Err(serde::de::Error::duplicate_field("celExpression")); - } - cel_expression__ = Some(map_.next_value()?); - } - GeneratedField::Cel => { - if cel__.is_some() { - return Err(serde::de::Error::duplicate_field("cel")); - } - cel__ = Some(map_.next_value()?); - } - GeneratedField::Oneof => { - if oneof__.is_some() { - return Err(serde::de::Error::duplicate_field("oneof")); - } - oneof__ = Some(map_.next_value()?); - } - } - } - Ok(MessageRules { - cel_expression: cel_expression__.unwrap_or_default(), - cel: cel__.unwrap_or_default(), - oneof: oneof__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.MessageRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for OneofRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.required.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.OneofRules", len)?; - if let Some(v) = self.required.as_ref() { - struct_ser.serialize_field("required", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for OneofRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "required", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Required, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "required" => Ok(GeneratedField::Required), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = OneofRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.OneofRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut required__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = map_.next_value()?; - } - } - } - Ok(OneofRules { - required: required__, - }) - } - } - deserializer.deserialize_struct("buf.validate.OneofRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for PredefinedRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.cel.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.PredefinedRules", len)?; - if !self.cel.is_empty() { - struct_ser.serialize_field("cel", &self.cel)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for PredefinedRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "cel", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Cel, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "cel" => Ok(GeneratedField::Cel), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = PredefinedRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.PredefinedRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut cel__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Cel => { - if cel__.is_some() { - return Err(serde::de::Error::duplicate_field("cel")); - } - cel__ = Some(map_.next_value()?); - } - } - } - Ok(PredefinedRules { - cel: cel__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.PredefinedRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for RepeatedRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.min_items.is_some() { - len += 1; - } - if self.max_items.is_some() { - len += 1; - } - if self.unique.is_some() { - len += 1; - } - if self.items.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.RepeatedRules", len)?; - if let Some(v) = self.min_items.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minItems", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.max_items.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxItems", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.unique.as_ref() { - struct_ser.serialize_field("unique", v)?; - } - if let Some(v) = self.items.as_ref() { - struct_ser.serialize_field("items", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for RepeatedRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "min_items", - "minItems", - "max_items", - "maxItems", - "unique", - "items", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - MinItems, - MaxItems, - Unique, - Items, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "minItems" | "min_items" => Ok(GeneratedField::MinItems), - "maxItems" | "max_items" => Ok(GeneratedField::MaxItems), - "unique" => Ok(GeneratedField::Unique), - "items" => Ok(GeneratedField::Items), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = RepeatedRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.RepeatedRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut min_items__ = None; - let mut max_items__ = None; - let mut unique__ = None; - let mut items__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::MinItems => { - if min_items__.is_some() { - return Err(serde::de::Error::duplicate_field("minItems")); - } - min_items__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MaxItems => { - if max_items__.is_some() { - return Err(serde::de::Error::duplicate_field("maxItems")); - } - max_items__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Unique => { - if unique__.is_some() { - return Err(serde::de::Error::duplicate_field("unique")); - } - unique__ = map_.next_value()?; - } - GeneratedField::Items => { - if items__.is_some() { - return Err(serde::de::Error::duplicate_field("items")); - } - items__ = map_.next_value()?; - } - } - } - Ok(RepeatedRules { - min_items: min_items__, - max_items: max_items__, - unique: unique__, - items: items__, - }) - } - } - deserializer.deserialize_struct("buf.validate.RepeatedRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Rule { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.id.is_some() { - len += 1; - } - if self.message.is_some() { - len += 1; - } - if self.expression.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Rule", len)?; - if let Some(v) = self.id.as_ref() { - struct_ser.serialize_field("id", v)?; - } - if let Some(v) = self.message.as_ref() { - struct_ser.serialize_field("message", v)?; - } - if let Some(v) = self.expression.as_ref() { - struct_ser.serialize_field("expression", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Rule { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "id", - "message", - "expression", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Id, - Message, - Expression, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "id" => Ok(GeneratedField::Id), - "message" => Ok(GeneratedField::Message), - "expression" => Ok(GeneratedField::Expression), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Rule; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Rule") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut id__ = None; - let mut message__ = None; - let mut expression__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Id => { - if id__.is_some() { - return Err(serde::de::Error::duplicate_field("id")); - } - id__ = map_.next_value()?; - } - GeneratedField::Message => { - if message__.is_some() { - return Err(serde::de::Error::duplicate_field("message")); - } - message__ = map_.next_value()?; - } - GeneratedField::Expression => { - if expression__.is_some() { - return Err(serde::de::Error::duplicate_field("expression")); - } - expression__ = map_.next_value()?; - } - } - } - Ok(Rule { - id: id__, - message: message__, - expression: expression__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Rule", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SFixed32Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.SFixed32Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - s_fixed32_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - s_fixed32_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - s_fixed32_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - s_fixed32_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SFixed32Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SFixed32Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.SFixed32Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed32_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed32_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed32_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed32_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(SFixed32Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.SFixed32Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SFixed64Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.SFixed64Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", ToString::to_string(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(ToString::to_string).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(ToString::to_string).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(ToString::to_string).collect::>())?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - s_fixed64_rules::LessThan::Lt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lt", ToString::to_string(&v).as_str())?; - } - s_fixed64_rules::LessThan::Lte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lte", ToString::to_string(&v).as_str())?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - s_fixed64_rules::GreaterThan::Gt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gt", ToString::to_string(&v).as_str())?; - } - s_fixed64_rules::GreaterThan::Gte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gte", ToString::to_string(&v).as_str())?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SFixed64Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SFixed64Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.SFixed64Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed64_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed64_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed64_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_fixed64_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(SFixed64Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.SFixed64Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SInt32Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.SInt32Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - s_int32_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - s_int32_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - s_int32_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - s_int32_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SInt32Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SInt32Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.SInt32Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int32_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int32_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int32_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int32_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(SInt32Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.SInt32Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SInt64Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.SInt64Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", ToString::to_string(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(ToString::to_string).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(ToString::to_string).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(ToString::to_string).collect::>())?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - s_int64_rules::LessThan::Lt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lt", ToString::to_string(&v).as_str())?; - } - s_int64_rules::LessThan::Lte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lte", ToString::to_string(&v).as_str())?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - s_int64_rules::GreaterThan::Gt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gt", ToString::to_string(&v).as_str())?; - } - s_int64_rules::GreaterThan::Gte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gte", ToString::to_string(&v).as_str())?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SInt64Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SInt64Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.SInt64Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int64_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int64_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int64_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| s_int64_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(SInt64Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.SInt64Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for StringRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if self.len.is_some() { - len += 1; - } - if self.min_len.is_some() { - len += 1; - } - if self.max_len.is_some() { - len += 1; - } - if self.len_bytes.is_some() { - len += 1; - } - if self.min_bytes.is_some() { - len += 1; - } - if self.max_bytes.is_some() { - len += 1; - } - if self.pattern.is_some() { - len += 1; - } - if self.prefix.is_some() { - len += 1; - } - if self.suffix.is_some() { - len += 1; - } - if self.contains.is_some() { - len += 1; - } - if self.not_contains.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if self.strict.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.well_known.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.StringRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if let Some(v) = self.len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("len", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.min_len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minLen", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.max_len.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxLen", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.len_bytes.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lenBytes", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.min_bytes.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minBytes", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.max_bytes.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxBytes", ToString::to_string(&v).as_str())?; - } - if let Some(v) = self.pattern.as_ref() { - struct_ser.serialize_field("pattern", v)?; - } - if let Some(v) = self.prefix.as_ref() { - struct_ser.serialize_field("prefix", v)?; - } - if let Some(v) = self.suffix.as_ref() { - struct_ser.serialize_field("suffix", v)?; - } - if let Some(v) = self.contains.as_ref() { - struct_ser.serialize_field("contains", v)?; - } - if let Some(v) = self.not_contains.as_ref() { - struct_ser.serialize_field("notContains", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if let Some(v) = self.strict.as_ref() { - struct_ser.serialize_field("strict", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.well_known.as_ref() { - match v { - string_rules::WellKnown::Email(v) => { - struct_ser.serialize_field("email", v)?; - } - string_rules::WellKnown::Hostname(v) => { - struct_ser.serialize_field("hostname", v)?; - } - string_rules::WellKnown::Ip(v) => { - struct_ser.serialize_field("ip", v)?; - } - string_rules::WellKnown::Ipv4(v) => { - struct_ser.serialize_field("ipv4", v)?; - } - string_rules::WellKnown::Ipv6(v) => { - struct_ser.serialize_field("ipv6", v)?; - } - string_rules::WellKnown::Uri(v) => { - struct_ser.serialize_field("uri", v)?; - } - string_rules::WellKnown::UriRef(v) => { - struct_ser.serialize_field("uriRef", v)?; - } - string_rules::WellKnown::Address(v) => { - struct_ser.serialize_field("address", v)?; - } - string_rules::WellKnown::Uuid(v) => { - struct_ser.serialize_field("uuid", v)?; - } - string_rules::WellKnown::Tuuid(v) => { - struct_ser.serialize_field("tuuid", v)?; - } - string_rules::WellKnown::IpWithPrefixlen(v) => { - struct_ser.serialize_field("ipWithPrefixlen", v)?; - } - string_rules::WellKnown::Ipv4WithPrefixlen(v) => { - struct_ser.serialize_field("ipv4WithPrefixlen", v)?; - } - string_rules::WellKnown::Ipv6WithPrefixlen(v) => { - struct_ser.serialize_field("ipv6WithPrefixlen", v)?; - } - string_rules::WellKnown::IpPrefix(v) => { - struct_ser.serialize_field("ipPrefix", v)?; - } - string_rules::WellKnown::Ipv4Prefix(v) => { - struct_ser.serialize_field("ipv4Prefix", v)?; - } - string_rules::WellKnown::Ipv6Prefix(v) => { - struct_ser.serialize_field("ipv6Prefix", v)?; - } - string_rules::WellKnown::HostAndPort(v) => { - struct_ser.serialize_field("hostAndPort", v)?; - } - string_rules::WellKnown::Ulid(v) => { - struct_ser.serialize_field("ulid", v)?; - } - string_rules::WellKnown::WellKnownRegex(v) => { - let v = KnownRegex::try_from(*v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", *v)))?; - struct_ser.serialize_field("wellKnownRegex", &v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for StringRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "len", - "min_len", - "minLen", - "max_len", - "maxLen", - "len_bytes", - "lenBytes", - "min_bytes", - "minBytes", - "max_bytes", - "maxBytes", - "pattern", - "prefix", - "suffix", - "contains", - "not_contains", - "notContains", - "in", - "not_in", - "notIn", - "strict", - "example", - "email", - "hostname", - "ip", - "ipv4", - "ipv6", - "uri", - "uri_ref", - "uriRef", - "address", - "uuid", - "tuuid", - "ip_with_prefixlen", - "ipWithPrefixlen", - "ipv4_with_prefixlen", - "ipv4WithPrefixlen", - "ipv6_with_prefixlen", - "ipv6WithPrefixlen", - "ip_prefix", - "ipPrefix", - "ipv4_prefix", - "ipv4Prefix", - "ipv6_prefix", - "ipv6Prefix", - "host_and_port", - "hostAndPort", - "ulid", - "well_known_regex", - "wellKnownRegex", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - Len, - MinLen, - MaxLen, - LenBytes, - MinBytes, - MaxBytes, - Pattern, - Prefix, - Suffix, - Contains, - NotContains, - In, - NotIn, - Strict, - Example, - Email, - Hostname, - Ip, - Ipv4, - Ipv6, - Uri, - UriRef, - Address, - Uuid, - Tuuid, - IpWithPrefixlen, - Ipv4WithPrefixlen, - Ipv6WithPrefixlen, - IpPrefix, - Ipv4Prefix, - Ipv6Prefix, - HostAndPort, - Ulid, - WellKnownRegex, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "len" => Ok(GeneratedField::Len), - "minLen" | "min_len" => Ok(GeneratedField::MinLen), - "maxLen" | "max_len" => Ok(GeneratedField::MaxLen), - "lenBytes" | "len_bytes" => Ok(GeneratedField::LenBytes), - "minBytes" | "min_bytes" => Ok(GeneratedField::MinBytes), - "maxBytes" | "max_bytes" => Ok(GeneratedField::MaxBytes), - "pattern" => Ok(GeneratedField::Pattern), - "prefix" => Ok(GeneratedField::Prefix), - "suffix" => Ok(GeneratedField::Suffix), - "contains" => Ok(GeneratedField::Contains), - "notContains" | "not_contains" => Ok(GeneratedField::NotContains), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "strict" => Ok(GeneratedField::Strict), - "example" => Ok(GeneratedField::Example), - "email" => Ok(GeneratedField::Email), - "hostname" => Ok(GeneratedField::Hostname), - "ip" => Ok(GeneratedField::Ip), - "ipv4" => Ok(GeneratedField::Ipv4), - "ipv6" => Ok(GeneratedField::Ipv6), - "uri" => Ok(GeneratedField::Uri), - "uriRef" | "uri_ref" => Ok(GeneratedField::UriRef), - "address" => Ok(GeneratedField::Address), - "uuid" => Ok(GeneratedField::Uuid), - "tuuid" => Ok(GeneratedField::Tuuid), - "ipWithPrefixlen" | "ip_with_prefixlen" => Ok(GeneratedField::IpWithPrefixlen), - "ipv4WithPrefixlen" | "ipv4_with_prefixlen" => Ok(GeneratedField::Ipv4WithPrefixlen), - "ipv6WithPrefixlen" | "ipv6_with_prefixlen" => Ok(GeneratedField::Ipv6WithPrefixlen), - "ipPrefix" | "ip_prefix" => Ok(GeneratedField::IpPrefix), - "ipv4Prefix" | "ipv4_prefix" => Ok(GeneratedField::Ipv4Prefix), - "ipv6Prefix" | "ipv6_prefix" => Ok(GeneratedField::Ipv6Prefix), - "hostAndPort" | "host_and_port" => Ok(GeneratedField::HostAndPort), - "ulid" => Ok(GeneratedField::Ulid), - "wellKnownRegex" | "well_known_regex" => Ok(GeneratedField::WellKnownRegex), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = StringRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.StringRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut len__ = None; - let mut min_len__ = None; - let mut max_len__ = None; - let mut len_bytes__ = None; - let mut min_bytes__ = None; - let mut max_bytes__ = None; - let mut pattern__ = None; - let mut prefix__ = None; - let mut suffix__ = None; - let mut contains__ = None; - let mut not_contains__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut strict__ = None; - let mut example__ = None; - let mut well_known__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = map_.next_value()?; - } - GeneratedField::Len => { - if len__.is_some() { - return Err(serde::de::Error::duplicate_field("len")); - } - len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MinLen => { - if min_len__.is_some() { - return Err(serde::de::Error::duplicate_field("minLen")); - } - min_len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MaxLen => { - if max_len__.is_some() { - return Err(serde::de::Error::duplicate_field("maxLen")); - } - max_len__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::LenBytes => { - if len_bytes__.is_some() { - return Err(serde::de::Error::duplicate_field("lenBytes")); - } - len_bytes__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MinBytes => { - if min_bytes__.is_some() { - return Err(serde::de::Error::duplicate_field("minBytes")); - } - min_bytes__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::MaxBytes => { - if max_bytes__.is_some() { - return Err(serde::de::Error::duplicate_field("maxBytes")); - } - max_bytes__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::Pattern => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("pattern")); - } - pattern__ = map_.next_value()?; - } - GeneratedField::Prefix => { - if prefix__.is_some() { - return Err(serde::de::Error::duplicate_field("prefix")); - } - prefix__ = map_.next_value()?; - } - GeneratedField::Suffix => { - if suffix__.is_some() { - return Err(serde::de::Error::duplicate_field("suffix")); - } - suffix__ = map_.next_value()?; - } - GeneratedField::Contains => { - if contains__.is_some() { - return Err(serde::de::Error::duplicate_field("contains")); - } - contains__ = map_.next_value()?; - } - GeneratedField::NotContains => { - if not_contains__.is_some() { - return Err(serde::de::Error::duplicate_field("notContains")); - } - not_contains__ = map_.next_value()?; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = Some(map_.next_value()?); - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = Some(map_.next_value()?); - } - GeneratedField::Strict => { - if strict__.is_some() { - return Err(serde::de::Error::duplicate_field("strict")); - } - strict__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - GeneratedField::Email => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("email")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Email); - } - GeneratedField::Hostname => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("hostname")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Hostname); - } - GeneratedField::Ip => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ip")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ip); - } - GeneratedField::Ipv4 => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv4")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv4); - } - GeneratedField::Ipv6 => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv6")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv6); - } - GeneratedField::Uri => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("uri")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Uri); - } - GeneratedField::UriRef => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("uriRef")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::UriRef); - } - GeneratedField::Address => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("address")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Address); - } - GeneratedField::Uuid => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("uuid")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Uuid); - } - GeneratedField::Tuuid => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("tuuid")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Tuuid); - } - GeneratedField::IpWithPrefixlen => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipWithPrefixlen")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::IpWithPrefixlen); - } - GeneratedField::Ipv4WithPrefixlen => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv4WithPrefixlen")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv4WithPrefixlen); - } - GeneratedField::Ipv6WithPrefixlen => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv6WithPrefixlen")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv6WithPrefixlen); - } - GeneratedField::IpPrefix => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipPrefix")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::IpPrefix); - } - GeneratedField::Ipv4Prefix => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv4Prefix")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv4Prefix); - } - GeneratedField::Ipv6Prefix => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ipv6Prefix")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ipv6Prefix); - } - GeneratedField::HostAndPort => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("hostAndPort")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::HostAndPort); - } - GeneratedField::Ulid => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("ulid")); - } - well_known__ = map_.next_value::<::std::option::Option<_>>()?.map(string_rules::WellKnown::Ulid); - } - GeneratedField::WellKnownRegex => { - if well_known__.is_some() { - return Err(serde::de::Error::duplicate_field("wellKnownRegex")); - } - well_known__ = map_.next_value::<::std::option::Option>()?.map(|x| string_rules::WellKnown::WellKnownRegex(x as i32)); - } - } - } - Ok(StringRules { - r#const: r#const__, - len: len__, - min_len: min_len__, - max_len: max_len__, - len_bytes: len_bytes__, - min_bytes: min_bytes__, - max_bytes: max_bytes__, - pattern: pattern__, - prefix: prefix__, - suffix: suffix__, - contains: contains__, - not_contains: not_contains__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - strict: strict__, - example: example__.unwrap_or_default(), - well_known: well_known__, - }) - } - } - deserializer.deserialize_struct("buf.validate.StringRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for TimestampRules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if self.within.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.TimestampRules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if let Some(v) = self.within.as_ref() { - struct_ser.serialize_field("within", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - timestamp_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - timestamp_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - timestamp_rules::LessThan::LtNow(v) => { - struct_ser.serialize_field("ltNow", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - timestamp_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - timestamp_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - timestamp_rules::GreaterThan::GtNow(v) => { - struct_ser.serialize_field("gtNow", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for TimestampRules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "within", - "example", - "lt", - "lte", - "lt_now", - "ltNow", - "gt", - "gte", - "gt_now", - "gtNow", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - Within, - Example, - Lt, - Lte, - LtNow, - Gt, - Gte, - GtNow, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "within" => Ok(GeneratedField::Within), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "ltNow" | "lt_now" => Ok(GeneratedField::LtNow), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - "gtNow" | "gt_now" => Ok(GeneratedField::GtNow), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = TimestampRules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.TimestampRules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut within__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = map_.next_value()?; - } - GeneratedField::Within => { - if within__.is_some() { - return Err(serde::de::Error::duplicate_field("within")); - } - within__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::LessThan::Lt) -; - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::LessThan::Lte) -; - } - GeneratedField::LtNow => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("ltNow")); - } - less_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::LessThan::LtNow); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::GreaterThan::Gt) -; - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::GreaterThan::Gte) -; - } - GeneratedField::GtNow => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gtNow")); - } - greater_than__ = map_.next_value::<::std::option::Option<_>>()?.map(timestamp_rules::GreaterThan::GtNow); - } - } - } - Ok(TimestampRules { - r#const: r#const__, - within: within__, - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.TimestampRules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UInt32Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.UInt32Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - struct_ser.serialize_field("const", v)?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in)?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - u_int32_rules::LessThan::Lt(v) => { - struct_ser.serialize_field("lt", v)?; - } - u_int32_rules::LessThan::Lte(v) => { - struct_ser.serialize_field("lte", v)?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - u_int32_rules::GreaterThan::Gt(v) => { - struct_ser.serialize_field("gt", v)?; - } - u_int32_rules::GreaterThan::Gte(v) => { - struct_ser.serialize_field("gte", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UInt32Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UInt32Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.UInt32Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int32_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int32_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int32_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int32_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(UInt32Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.UInt32Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UInt64Rules { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#const.is_some() { - len += 1; - } - if !self.r#in.is_empty() { - len += 1; - } - if !self.not_in.is_empty() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.less_than.is_some() { - len += 1; - } - if self.greater_than.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.UInt64Rules", len)?; - if let Some(v) = self.r#const.as_ref() { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("const", ToString::to_string(&v).as_str())?; - } - if !self.r#in.is_empty() { - struct_ser.serialize_field("in", &self.r#in.iter().map(ToString::to_string).collect::>())?; - } - if !self.not_in.is_empty() { - struct_ser.serialize_field("notIn", &self.not_in.iter().map(ToString::to_string).collect::>())?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example.iter().map(ToString::to_string).collect::>())?; - } - if let Some(v) = self.less_than.as_ref() { - match v { - u_int64_rules::LessThan::Lt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lt", ToString::to_string(&v).as_str())?; - } - u_int64_rules::LessThan::Lte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("lte", ToString::to_string(&v).as_str())?; - } - } - } - if let Some(v) = self.greater_than.as_ref() { - match v { - u_int64_rules::GreaterThan::Gt(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gt", ToString::to_string(&v).as_str())?; - } - u_int64_rules::GreaterThan::Gte(v) => { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("gte", ToString::to_string(&v).as_str())?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UInt64Rules { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "const", - "in", - "not_in", - "notIn", - "example", - "lt", - "lte", - "gt", - "gte", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Const, - In, - NotIn, - Example, - Lt, - Lte, - Gt, - Gte, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "const" => Ok(GeneratedField::Const), - "in" => Ok(GeneratedField::In), - "notIn" | "not_in" => Ok(GeneratedField::NotIn), - "example" => Ok(GeneratedField::Example), - "lt" => Ok(GeneratedField::Lt), - "lte" => Ok(GeneratedField::Lte), - "gt" => Ok(GeneratedField::Gt), - "gte" => Ok(GeneratedField::Gte), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UInt64Rules; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.UInt64Rules") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#const__ = None; - let mut r#in__ = None; - let mut not_in__ = None; - let mut example__ = None; - let mut less_than__ = None; - let mut greater_than__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Const => { - if r#const__.is_some() { - return Err(serde::de::Error::duplicate_field("const")); - } - r#const__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::NotIn => { - if not_in__.is_some() { - return Err(serde::de::Error::duplicate_field("notIn")); - } - not_in__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = - Some(map_.next_value::>>()? - .into_iter().map(|x| x.0).collect()) - ; - } - GeneratedField::Lt => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lt")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int64_rules::LessThan::Lt(x.0)); - } - GeneratedField::Lte => { - if less_than__.is_some() { - return Err(serde::de::Error::duplicate_field("lte")); - } - less_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int64_rules::LessThan::Lte(x.0)); - } - GeneratedField::Gt => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gt")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int64_rules::GreaterThan::Gt(x.0)); - } - GeneratedField::Gte => { - if greater_than__.is_some() { - return Err(serde::de::Error::duplicate_field("gte")); - } - greater_than__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| u_int64_rules::GreaterThan::Gte(x.0)); - } - } - } - Ok(UInt64Rules { - r#const: r#const__, - r#in: r#in__.unwrap_or_default(), - not_in: not_in__.unwrap_or_default(), - example: example__.unwrap_or_default(), - less_than: less_than__, - greater_than: greater_than__, - }) - } - } - deserializer.deserialize_struct("buf.validate.UInt64Rules", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Violation { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.field.is_some() { - len += 1; - } - if self.rule.is_some() { - len += 1; - } - if self.rule_id.is_some() { - len += 1; - } - if self.message.is_some() { - len += 1; - } - if self.for_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Violation", len)?; - if let Some(v) = self.field.as_ref() { - struct_ser.serialize_field("field", v)?; - } - if let Some(v) = self.rule.as_ref() { - struct_ser.serialize_field("rule", v)?; - } - if let Some(v) = self.rule_id.as_ref() { - struct_ser.serialize_field("ruleId", v)?; - } - if let Some(v) = self.message.as_ref() { - struct_ser.serialize_field("message", v)?; - } - if let Some(v) = self.for_key.as_ref() { - struct_ser.serialize_field("forKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Violation { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "field", - "rule", - "rule_id", - "ruleId", - "message", - "for_key", - "forKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Field, - Rule, - RuleId, - Message, - ForKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "field" => Ok(GeneratedField::Field), - "rule" => Ok(GeneratedField::Rule), - "ruleId" | "rule_id" => Ok(GeneratedField::RuleId), - "message" => Ok(GeneratedField::Message), - "forKey" | "for_key" => Ok(GeneratedField::ForKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Violation; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Violation") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut field__ = None; - let mut rule__ = None; - let mut rule_id__ = None; - let mut message__ = None; - let mut for_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Field => { - if field__.is_some() { - return Err(serde::de::Error::duplicate_field("field")); - } - field__ = map_.next_value()?; - } - GeneratedField::Rule => { - if rule__.is_some() { - return Err(serde::de::Error::duplicate_field("rule")); - } - rule__ = map_.next_value()?; - } - GeneratedField::RuleId => { - if rule_id__.is_some() { - return Err(serde::de::Error::duplicate_field("ruleId")); - } - rule_id__ = map_.next_value()?; - } - GeneratedField::Message => { - if message__.is_some() { - return Err(serde::de::Error::duplicate_field("message")); - } - message__ = map_.next_value()?; - } - GeneratedField::ForKey => { - if for_key__.is_some() { - return Err(serde::de::Error::duplicate_field("forKey")); - } - for_key__ = map_.next_value()?; - } - } - } - Ok(Violation { - field: field__, - rule: rule__, - rule_id: rule_id__, - message: message__, - for_key: for_key__, - }) - } - } - deserializer.deserialize_struct("buf.validate.Violation", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Violations { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.violations.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("buf.validate.Violations", len)?; - if !self.violations.is_empty() { - struct_ser.serialize_field("violations", &self.violations)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Violations { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "violations", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Violations, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "violations" => Ok(GeneratedField::Violations), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Violations; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct buf.validate.Violations") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut violations__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Violations => { - if violations__.is_some() { - return Err(serde::de::Error::duplicate_field("violations")); - } - violations__ = Some(map_.next_value()?); - } - } - } - Ok(Violations { - violations: violations__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("buf.validate.Violations", FIELDS, GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/google/api/google.api.rs b/rust/crates/sift_rs/src/gen/google/api/google.api.rs deleted file mode 100644 index 849c4e697..000000000 --- a/rust/crates/sift_rs/src/gen/google/api/google.api.rs +++ /dev/null @@ -1,1425 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Http { - #[prost(message, repeated, tag="1")] - pub rules: ::prost::alloc::vec::Vec, - #[prost(bool, tag="2")] - pub fully_decode_reserved_expansion: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct HttpRule { - #[prost(string, tag="1")] - pub selector: ::prost::alloc::string::String, - #[prost(string, tag="7")] - pub body: ::prost::alloc::string::String, - #[prost(string, tag="12")] - pub response_body: ::prost::alloc::string::String, - #[prost(message, repeated, tag="11")] - pub additional_bindings: ::prost::alloc::vec::Vec, - #[prost(oneof="http_rule::Pattern", tags="2, 3, 4, 5, 6, 8")] - pub pattern: ::core::option::Option, -} -/// Nested message and enum types in `HttpRule`. -pub mod http_rule { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] - pub enum Pattern { - #[prost(string, tag="2")] - Get(::prost::alloc::string::String), - #[prost(string, tag="3")] - Put(::prost::alloc::string::String), - #[prost(string, tag="4")] - Post(::prost::alloc::string::String), - #[prost(string, tag="5")] - Delete(::prost::alloc::string::String), - #[prost(string, tag="6")] - Patch(::prost::alloc::string::String), - #[prost(message, tag="8")] - Custom(super::CustomHttpPattern), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CustomHttpPattern { - #[prost(string, tag="1")] - pub kind: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub path: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum FieldBehavior { - Unspecified = 0, - Optional = 1, - Required = 2, - OutputOnly = 3, - InputOnly = 4, - Immutable = 5, - UnorderedList = 6, - NonEmptyDefault = 7, - Identifier = 8, -} -impl FieldBehavior { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "FIELD_BEHAVIOR_UNSPECIFIED", - Self::Optional => "OPTIONAL", - Self::Required => "REQUIRED", - Self::OutputOnly => "OUTPUT_ONLY", - Self::InputOnly => "INPUT_ONLY", - Self::Immutable => "IMMUTABLE", - Self::UnorderedList => "UNORDERED_LIST", - Self::NonEmptyDefault => "NON_EMPTY_DEFAULT", - Self::Identifier => "IDENTIFIER", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "FIELD_BEHAVIOR_UNSPECIFIED" => Some(Self::Unspecified), - "OPTIONAL" => Some(Self::Optional), - "REQUIRED" => Some(Self::Required), - "OUTPUT_ONLY" => Some(Self::OutputOnly), - "INPUT_ONLY" => Some(Self::InputOnly), - "IMMUTABLE" => Some(Self::Immutable), - "UNORDERED_LIST" => Some(Self::UnorderedList), - "NON_EMPTY_DEFAULT" => Some(Self::NonEmptyDefault), - "IDENTIFIER" => Some(Self::Identifier), - _ => None, - } - } -} -/// Encoded file descriptor set for the `google.api` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xc1, 0x78, 0x0a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x68, 0x74, 0x74, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x22, 0x79, 0x0a, 0x04, 0x48, 0x74, 0x74, 0x70, 0x12, 0x2a, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x45, 0x0a, 0x1f, 0x66, 0x75, - 0x6c, 0x6c, 0x79, 0x5f, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x5f, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1c, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x44, 0x65, 0x63, 0x6f, 0x64, 0x65, - 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0xda, 0x02, 0x0a, 0x08, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x03, 0x67, 0x65, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x67, 0x65, 0x74, 0x12, 0x12, - 0x0a, 0x03, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x70, - 0x75, 0x74, 0x12, 0x14, 0x0a, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x04, 0x70, 0x6f, 0x73, 0x74, 0x12, 0x18, 0x0a, 0x06, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x05, 0x70, 0x61, 0x74, 0x63, 0x68, 0x12, 0x37, 0x0a, 0x06, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, - 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x48, 0x00, 0x52, 0x06, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x5f, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x6f, 0x64, 0x79, 0x12, 0x45, 0x0a, 0x13, - 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x12, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x42, 0x09, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x22, 0x3b, - 0x0a, 0x11, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x48, 0x74, 0x74, 0x70, 0x50, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0xa7, 0x01, 0x0a, 0x0e, - 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x09, - 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, - 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, - 0x03, 0x47, 0x41, 0x58, 0xaa, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, - 0x69, 0xca, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, - 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x4a, 0xd4, 0x72, 0x0a, 0x07, 0x12, 0x05, 0x0e, 0x00, 0xf1, 0x02, - 0x01, 0x0a, 0xbc, 0x04, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x0e, 0x00, 0x12, 0x32, 0xb1, 0x04, 0x20, - 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30, 0x32, 0x35, 0x20, 0x47, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x43, 0x0a, 0x0a, 0x20, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, - 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, 0x20, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, - 0x22, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x79, 0x6f, 0x75, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x69, 0x6e, - 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x59, - 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x20, - 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x20, 0x61, 0x74, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x74, 0x74, - 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2e, 0x6f, - 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x4c, 0x49, 0x43, 0x45, - 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 0x30, 0x0a, 0x0a, 0x20, 0x55, 0x6e, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x77, 0x20, 0x6f, 0x72, 0x20, 0x61, - 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x72, 0x69, 0x74, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x0a, 0x20, 0x64, - 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, - 0x6e, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x20, 0x42, 0x41, 0x53, 0x49, 0x53, 0x2c, - 0x0a, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, 0x41, 0x52, 0x52, 0x41, 0x4e, - 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, - 0x4e, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, 0x49, 0x4e, 0x44, 0x2c, 0x20, - 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x20, 0x6f, - 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, 0x61, 0x6e, - 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x6e, 0x67, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x0a, - 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x0a, - 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x10, 0x00, 0x13, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, - 0x03, 0x12, 0x00, 0x58, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x12, 0x00, 0x58, 0x0a, - 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x13, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0a, 0x12, - 0x03, 0x13, 0x00, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x14, 0x00, 0x2a, 0x0a, 0x09, - 0x0a, 0x02, 0x08, 0x08, 0x12, 0x03, 0x14, 0x00, 0x2a, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, - 0x15, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x01, 0x12, 0x03, 0x15, 0x00, 0x27, 0x0a, 0xcd, - 0x01, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x1b, 0x00, 0x28, 0x01, 0x1a, 0xc0, 0x01, 0x20, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x2e, 0x20, 0x49, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x5b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, - 0x6c, 0x65, 0x5d, 0x5b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, - 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x5d, 0x2c, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x52, 0x50, 0x43, 0x20, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, - 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x52, 0x45, 0x53, 0x54, - 0x20, 0x41, 0x50, 0x49, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x1b, 0x08, 0x0c, 0x0a, 0xa2, 0x01, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x1f, 0x02, 0x1e, 0x1a, 0x94, 0x01, 0x20, 0x41, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, - 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x20, 0x41, 0x50, 0x49, 0x20, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x2a, 0x2a, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x2a, 0x2a, - 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x22, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, - 0x65, 0x20, 0x77, 0x69, 0x6e, 0x73, 0x22, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x1f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1f, 0x0b, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1f, 0x14, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x1f, 0x1c, 0x1d, 0x0a, 0x94, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, - 0x12, 0x03, 0x27, 0x02, 0x2b, 0x1a, 0x86, 0x02, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, - 0x61, 0x74, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x55, 0x52, 0x49, - 0x2d, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x69, 0x6e, 0x0a, 0x20, 0x63, 0x61, 0x73, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, - 0x20, 0x22, 0x25, 0x32, 0x46, 0x22, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, - 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x64, - 0x65, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x52, 0x46, 0x43, 0x20, 0x36, 0x35, 0x37, 0x30, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, - 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x0a, 0x20, 0x73, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x27, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x27, 0x07, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x27, 0x29, 0x2a, 0x0a, 0x87, 0x53, 0x0a, 0x02, 0x04, 0x01, 0x12, - 0x06, 0xb2, 0x02, 0x00, 0xe8, 0x02, 0x01, 0x1a, 0xf8, 0x52, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, - 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x20, 0x67, 0x52, - 0x50, 0x43, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, - 0x61, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x48, - 0x54, 0x54, 0x50, 0x20, 0x52, 0x45, 0x53, 0x54, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x73, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x64, 0x65, - 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, - 0x41, 0x50, 0x49, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x45, 0x53, 0x54, 0x20, 0x41, 0x50, - 0x49, 0x73, 0x2e, 0x20, 0x4d, 0x61, 0x6e, 0x79, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x5b, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x0a, 0x20, 0x41, 0x50, 0x49, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x29, 0x2c, 0x0a, 0x20, 0x5b, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x20, 0x45, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x29, 0x2c, 0x20, 0x5b, 0x67, - 0x52, 0x50, 0x43, 0x0a, 0x20, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5d, 0x28, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, - 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x29, 0x2c, 0x0a, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x5b, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x65, - 0x6e, 0x76, 0x6f, 0x79, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x29, - 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, 0x0a, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x61, 0x72, 0x67, - 0x65, 0x20, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x60, - 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x60, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2f, 0x52, 0x45, 0x53, 0x54, 0x20, 0x6d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x0a, 0x20, 0x68, 0x6f, - 0x77, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x6f, 0x72, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x52, 0x50, 0x43, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x20, 0x55, 0x52, - 0x4c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x61, 0x6c, - 0x73, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, - 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x20, - 0x60, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x60, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x74, - 0x79, 0x70, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x60, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x52, 0x50, - 0x43, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x45, 0x61, 0x63, 0x68, - 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x20, 0x48, 0x54, - 0x54, 0x50, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, - 0x61, 0x74, 0x68, 0x0a, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, - 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x6c, 0x6f, - 0x6e, 0x67, 0x0a, 0x20, 0x61, 0x73, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, - 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x28, 0x6e, 0x6f, 0x6e, 0x2d, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x28, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x28, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, - 0x65, 0x74, 0x3a, 0x20, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x7b, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x2a, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x3b, - 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, - 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x20, 0x2f, 0x2f, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, - 0x48, 0x54, 0x54, 0x50, 0x20, 0x52, 0x45, 0x53, 0x54, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x52, 0x50, - 0x43, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x62, 0x65, 0x6c, - 0x6f, 0x77, 0x3a, 0x0a, 0x0a, 0x20, 0x2d, 0x20, 0x48, 0x54, 0x54, 0x50, 0x3a, 0x20, 0x60, 0x47, - 0x45, 0x54, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, - 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x60, 0x0a, 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, 0x43, 0x3a, - 0x20, 0x60, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x6e, 0x61, 0x6d, - 0x65, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x31, 0x32, 0x33, - 0x34, 0x35, 0x36, 0x22, 0x29, 0x60, 0x0a, 0x0a, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x0a, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, - 0x6c, 0x79, 0x20, 0x62, 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, - 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x48, - 0x54, 0x54, 0x50, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, - 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x72, 0x70, 0x63, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, - 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x3a, 0x22, 0x2f, - 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x73, 0x75, 0x62, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x61, 0x70, 0x70, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x20, 0x72, 0x65, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, - 0x4d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x60, 0x72, - 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x73, 0x75, 0x62, 0x20, - 0x3d, 0x20, 0x33, 0x3b, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x4d, 0x61, 0x70, 0x70, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x60, 0x73, 0x75, 0x62, 0x2e, 0x73, 0x75, - 0x62, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x74, 0x6f, 0x20, 0x52, 0x50, - 0x43, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x62, 0x65, 0x6c, - 0x6f, 0x77, 0x3a, 0x0a, 0x0a, 0x20, 0x2d, 0x20, 0x48, 0x54, 0x54, 0x50, 0x3a, 0x20, 0x60, 0x47, - 0x45, 0x54, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, - 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x3f, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3d, - 0x32, 0x26, 0x73, 0x75, 0x62, 0x2e, 0x73, 0x75, 0x62, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x3d, 0x66, - 0x6f, 0x6f, 0x60, 0x0a, 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, 0x43, 0x3a, 0x20, 0x60, 0x47, 0x65, - 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x22, 0x20, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x32, 0x20, 0x73, 0x75, 0x62, 0x3a, 0x0a, 0x20, - 0x53, 0x75, 0x62, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x73, 0x75, 0x62, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x3a, 0x20, 0x22, 0x66, 0x6f, 0x6f, 0x22, 0x29, 0x29, 0x60, 0x0a, 0x0a, 0x20, - 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x20, 0x61, 0x0a, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x70, 0x72, 0x69, 0x6d, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x70, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x0a, 0x20, 0x61, 0x73, - 0x20, 0x60, 0x2e, 0x2e, 0x2e, 0x3f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x3d, 0x41, 0x26, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x3d, 0x42, 0x60, 0x2e, 0x20, 0x49, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, - 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x0a, 0x20, 0x60, 0x2e, - 0x2e, 0x2e, 0x3f, 0x66, 0x6f, 0x6f, 0x2e, 0x61, 0x3d, 0x41, 0x26, 0x66, 0x6f, 0x6f, 0x2e, 0x62, - 0x3d, 0x42, 0x26, 0x66, 0x6f, 0x6f, 0x2e, 0x63, 0x3d, 0x43, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, - 0x62, 0x6f, 0x64, 0x79, 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x2e, 0x20, 0x43, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x20, 0x61, 0x20, 0x52, - 0x45, 0x53, 0x54, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x29, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x3a, 0x20, 0x22, 0x2f, 0x76, 0x31, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x3b, - 0x20, 0x2f, 0x2f, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x55, 0x52, 0x4c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x3d, 0x20, 0x32, - 0x3b, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, - 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x74, 0x6f, 0x20, 0x52, 0x50, - 0x43, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, - 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, - 0x69, 0x73, 0x20, 0x64, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x65, 0x6e, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x3a, 0x0a, 0x0a, 0x20, 0x2d, 0x20, 0x48, 0x54, 0x54, 0x50, - 0x3a, 0x20, 0x60, 0x50, 0x41, 0x54, 0x43, 0x48, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x20, 0x7b, 0x20, 0x22, - 0x74, 0x65, 0x78, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x48, 0x69, 0x21, 0x22, 0x20, 0x7d, 0x60, 0x0a, - 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, 0x43, 0x3a, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x22, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x20, 0x7b, 0x20, 0x74, 0x65, 0x78, 0x74, 0x3a, 0x20, 0x22, 0x48, 0x69, - 0x21, 0x22, 0x20, 0x7d, 0x29, 0x60, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x60, 0x2a, 0x60, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x65, 0x76, - 0x65, 0x72, 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, - 0x62, 0x65, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x0a, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x20, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, - 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x3a, 0x20, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, - 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x3a, 0x20, 0x22, - 0x2a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x3d, - 0x20, 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x0a, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, - 0x69, 0x6e, 0x67, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x74, 0x6f, - 0x20, 0x52, 0x50, 0x43, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x20, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x3a, 0x0a, 0x0a, 0x20, 0x2d, 0x20, 0x48, 0x54, 0x54, - 0x50, 0x3a, 0x20, 0x60, 0x50, 0x41, 0x54, 0x43, 0x48, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x20, 0x7b, 0x20, - 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x48, 0x69, 0x21, 0x22, 0x20, 0x7d, 0x60, - 0x0a, 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, 0x43, 0x3a, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x22, 0x20, 0x74, 0x65, - 0x78, 0x74, 0x3a, 0x20, 0x22, 0x48, 0x69, 0x21, 0x22, 0x29, 0x60, 0x0a, 0x0a, 0x20, 0x4e, 0x6f, - 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x69, - 0x6e, 0x67, 0x20, 0x60, 0x2a, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, - 0x64, 0x79, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x74, - 0x6f, 0x0a, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x65, 0x6e, 0x64, - 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x20, 0x54, - 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x6b, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x61, 0x72, 0x65, 0x6c, - 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x61, 0x63, 0x74, 0x69, - 0x63, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x6e, - 0x67, 0x20, 0x52, 0x45, 0x53, 0x54, 0x20, 0x41, 0x50, 0x49, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x60, 0x2a, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x64, 0x6f, 0x6e, 0x27, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, - 0x52, 0x4c, 0x20, 0x61, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x72, - 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x0a, 0x0a, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x52, 0x50, 0x43, 0x20, 0x62, 0x79, - 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, - 0x60, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x28, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x4d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x3a, 0x20, - 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x3a, 0x20, 0x22, - 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x20, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, - 0x31, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x20, 0x3d, 0x20, 0x32, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x77, 0x6f, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x74, 0x6f, 0x20, 0x52, - 0x50, 0x43, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x2d, - 0x20, 0x48, 0x54, 0x54, 0x50, 0x3a, 0x20, 0x60, 0x47, 0x45, 0x54, 0x20, 0x2f, 0x76, 0x31, 0x2f, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x60, - 0x0a, 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, 0x43, 0x3a, 0x20, 0x60, 0x47, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, - 0x3a, 0x20, 0x22, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x22, 0x29, 0x60, 0x0a, 0x0a, 0x20, 0x2d, - 0x20, 0x48, 0x54, 0x54, 0x50, 0x3a, 0x20, 0x60, 0x47, 0x45, 0x54, 0x20, 0x2f, 0x76, 0x31, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x6d, 0x65, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2f, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x60, 0x0a, 0x20, 0x2d, 0x20, 0x67, 0x52, 0x50, - 0x43, 0x3a, 0x20, 0x60, 0x47, 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x6d, 0x65, 0x22, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, - 0x22, 0x29, 0x60, 0x0a, 0x0a, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x48, 0x54, 0x54, 0x50, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x0a, 0x0a, 0x20, 0x31, - 0x2e, 0x20, 0x4c, 0x65, 0x61, 0x66, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x28, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, - 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x72, 0x65, 0x65, - 0x20, 0x63, 0x61, 0x74, 0x65, 0x67, 0x6f, 0x72, 0x69, 0x65, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x2d, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, - 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, - 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, - 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x5b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, - 0x65, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x5d, 0x5b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x64, 0x79, - 0x5d, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x79, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, - 0x54, 0x54, 0x50, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, 0x41, 0x6c, - 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x41, - 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x70, - 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, - 0x0a, 0x20, 0x20, 0x32, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x5b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, - 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x5d, 0x5b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x64, - 0x79, 0x5d, 0x20, 0x69, 0x73, 0x20, 0x22, 0x2a, 0x22, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x0a, 0x20, 0x20, 0x71, 0x75, 0x65, - 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2c, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x0a, 0x20, 0x20, 0x33, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x5b, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x62, - 0x6f, 0x64, 0x79, 0x5d, 0x5b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x62, 0x6f, 0x64, 0x79, 0x5d, 0x20, 0x69, - 0x73, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x0a, 0x20, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x76, 0x69, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, - 0x61, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x20, - 0x50, 0x61, 0x74, 0x68, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x73, 0x79, - 0x6e, 0x74, 0x61, 0x78, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x2f, 0x22, 0x20, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x73, 0x20, 0x5b, 0x20, 0x56, 0x65, 0x72, 0x62, 0x20, 0x5d, 0x20, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x3d, 0x20, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x7b, 0x20, 0x22, 0x2f, 0x22, 0x20, 0x53, 0x65, 0x67, 0x6d, - 0x65, 0x6e, 0x74, 0x20, 0x7d, 0x20, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x20, 0x3d, 0x20, 0x22, 0x2a, 0x22, 0x20, 0x7c, 0x20, 0x22, 0x2a, - 0x2a, 0x22, 0x20, 0x7c, 0x20, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x20, 0x7c, 0x20, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x3d, 0x20, 0x22, 0x7b, 0x22, 0x20, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x20, 0x5b, 0x20, 0x22, 0x3d, 0x22, 0x20, 0x53, 0x65, - 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x5d, 0x20, 0x22, 0x7d, 0x22, 0x20, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x50, 0x61, 0x74, 0x68, 0x20, 0x3d, 0x20, - 0x49, 0x44, 0x45, 0x4e, 0x54, 0x20, 0x7b, 0x20, 0x22, 0x2e, 0x22, 0x20, 0x49, 0x44, 0x45, 0x4e, - 0x54, 0x20, 0x7d, 0x20, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x56, 0x65, 0x72, 0x62, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x3d, 0x20, 0x22, 0x3a, 0x22, 0x20, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, - 0x4c, 0x20, 0x3b, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, - 0x20, 0x60, 0x2a, 0x60, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, - 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x73, - 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x6e, 0x74, - 0x61, 0x78, 0x20, 0x60, 0x2a, 0x2a, 0x60, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x0a, - 0x20, 0x7a, 0x65, 0x72, 0x6f, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x55, 0x52, - 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2c, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x65, 0x78, - 0x63, 0x65, 0x70, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x56, 0x65, 0x72, 0x62, 0x60, 0x2e, - 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x60, 0x56, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x60, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, - 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x61, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x69, 0x74, 0x73, 0x0a, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x2e, 0x20, 0x41, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, - 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x0a, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x20, 0x69, 0x74, 0x73, 0x20, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x60, 0x7b, 0x76, 0x61, 0x72, - 0x7d, 0x60, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x7b, 0x76, 0x61, 0x72, 0x3d, 0x2a, 0x7d, 0x60, 0x2e, 0x0a, - 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x60, 0x4c, 0x49, - 0x54, 0x45, 0x52, 0x41, 0x4c, 0x60, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x20, 0x6c, - 0x69, 0x74, 0x65, 0x72, 0x61, 0x6c, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x60, 0x4c, 0x49, 0x54, 0x45, 0x52, 0x41, 0x4c, 0x60, 0x0a, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x2c, 0x20, - 0x73, 0x75, 0x63, 0x68, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, - 0x74, 0x2d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x0a, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x0a, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x6c, 0x79, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, - 0x74, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x60, 0x22, 0x7b, 0x76, 0x61, - 0x72, 0x7d, 0x22, 0x60, 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x60, 0x22, 0x7b, 0x76, 0x61, 0x72, 0x3d, - 0x2a, 0x7d, 0x22, 0x60, 0x2c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, - 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x55, 0x52, - 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x73, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, - 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, - 0x74, 0x20, 0x60, 0x5b, 0x2d, 0x5f, 0x2e, 0x7e, 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x7a, 0x41, 0x2d, - 0x5a, 0x5d, 0x60, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2d, - 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, 0x73, 0x65, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, - 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x53, 0x75, 0x63, 0x68, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, - 0x6c, 0x65, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x20, 0x75, 0x70, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x0a, 0x20, 0x5b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x0a, 0x20, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x73, 0x29, 0x20, 0x61, 0x73, 0x0a, 0x20, 0x60, 0x7b, 0x76, 0x61, 0x72, 0x7d, 0x60, - 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6c, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x60, 0x22, 0x7b, 0x76, 0x61, - 0x72, 0x3d, 0x66, 0x6f, 0x6f, 0x2f, 0x2a, 0x7d, 0x22, 0x60, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x60, - 0x22, 0x7b, 0x76, 0x61, 0x72, 0x3d, 0x2a, 0x2a, 0x7d, 0x22, 0x60, 0x2c, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x74, 0x6f, 0x20, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x69, 0x64, - 0x65, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, - 0x73, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x60, 0x5b, 0x2d, 0x5f, 0x2e, 0x7e, 0x2f, - 0x30, 0x2d, 0x39, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x5d, 0x60, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x2d, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x2e, - 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x69, 0x64, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x76, 0x65, 0x72, - 0x73, 0x65, 0x20, 0x64, 0x65, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x65, 0x78, 0x63, - 0x65, 0x70, 0x74, 0x20, 0x22, 0x25, 0x32, 0x46, 0x22, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x22, 0x25, - 0x32, 0x66, 0x22, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x0a, 0x20, 0x75, 0x6e, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x2e, 0x20, 0x53, 0x75, 0x63, 0x68, 0x20, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x20, 0x75, 0x70, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x5b, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x79, 0x0a, 0x20, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x5d, 0x28, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x73, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x64, 0x69, 0x73, 0x63, - 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x29, 0x20, 0x61, 0x73, 0x0a, 0x20, 0x60, 0x7b, 0x2b, - 0x76, 0x61, 0x72, 0x7d, 0x60, 0x2e, 0x0a, 0x0a, 0x20, 0x55, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x67, - 0x52, 0x50, 0x43, 0x20, 0x41, 0x50, 0x49, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x20, - 0x67, 0x52, 0x50, 0x43, 0x20, 0x41, 0x50, 0x49, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x29, 0x20, - 0x69, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x67, - 0x52, 0x50, 0x43, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, - 0x65, 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x66, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x0a, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x20, 0x69, 0x73, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x59, - 0x41, 0x4d, 0x4c, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x60, 0x0a, 0x20, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, - 0x20, 0x41, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, - 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x2c, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x65, 0x20, 0x67, 0x52, 0x50, 0x43, 0x0a, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x59, 0x41, 0x4d, - 0x4c, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x64, 0x6f, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x62, 0x79, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, - 0x6e, 0x67, 0x20, 0x61, 0x0a, 0x20, 0x60, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x60, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6d, 0x61, 0x70, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x52, 0x50, 0x43, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, - 0x52, 0x45, 0x53, 0x54, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x20, 0x61, - 0x63, 0x68, 0x69, 0x65, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, - 0x65, 0x0a, 0x20, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, - 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x6c, 0x79, 0x20, 0x75, 0x73, 0x65, 0x66, - 0x75, 0x6c, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x0a, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x61, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, - 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x4e, 0x6f, 0x74, - 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x20, 0x67, 0x52, - 0x50, 0x43, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x60, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, - 0x6c, 0x65, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x74, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2d, 0x20, - 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x3a, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x2e, 0x47, - 0x65, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x3a, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2f, 0x7b, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x7b, 0x73, 0x75, 0x62, 0x2e, 0x73, 0x75, 0x62, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x7d, 0x0a, 0x0a, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x74, - 0x65, 0x73, 0x0a, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x54, - 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x61, 0x20, 0x67, 0x52, 0x50, 0x43, - 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x52, 0x45, 0x53, 0x54, 0x20, 0x65, 0x6e, - 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x20, 0x74, 0x6f, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x63, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x6c, 0x6c, - 0x6f, 0x77, 0x20, 0x74, 0x68, 0x65, 0x20, 0x5b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, - 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x23, 0x6a, 0x73, 0x6f, 0x6e, 0x29, 0x2e, - 0x0a, 0x0a, 0x20, 0x57, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x6e, - 0x67, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x72, 0x69, - 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x5b, - 0x52, 0x46, 0x43, 0x20, 0x36, 0x35, 0x37, 0x30, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, - 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x72, 0x66, 0x63, 0x36, 0x35, 0x37, 0x30, 0x29, 0x20, 0x53, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x33, 0x2e, 0x32, 0x2e, 0x32, 0x20, 0x53, 0x69, 0x6d, - 0x70, 0x6c, 0x65, 0x20, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x45, 0x78, 0x70, 0x61, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x2a, 0x2a, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x2a, 0x2a, 0x20, 0x66, - 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x52, 0x46, 0x43, 0x20, 0x36, 0x35, 0x37, 0x30, 0x20, 0x53, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x33, 0x2e, 0x32, 0x2e, 0x33, 0x20, 0x52, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x64, 0x20, 0x45, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x61, 0x6c, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x20, - 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x60, 0x3f, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x23, 0x60, - 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6c, 0x65, - 0x61, 0x64, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x55, - 0x52, 0x4c, 0x73, 0x2e, 0x20, 0x41, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x2c, 0x20, 0x67, 0x52, 0x50, 0x43, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, - 0x64, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, 0x61, 0x20, 0x63, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x20, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x20, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, - 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x70, 0x61, 0x74, 0x68, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x2a, - 0x2a, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x2a, 0x2a, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2c, 0x0a, 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x61, 0x70, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x76, 0x61, - 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x76, 0x61, 0x72, - 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x2a, 0x2a, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, - 0x74, 0x2a, 0x2a, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x22, 0x2f, 0x22, 0x20, 0x63, 0x68, 0x61, 0x72, - 0x61, 0x63, 0x74, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, - 0x6f, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x20, 0x63, - 0x61, 0x73, 0x65, 0x20, 0x22, 0x7b, 0x76, 0x61, 0x72, 0x7d, 0x22, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x22, 0x2f, 0x22, 0x0a, 0x20, 0x63, 0x68, - 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6e, - 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x63, 0x79, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x61, - 0x74, 0x68, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x73, 0x68, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, - 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, 0x20, 0x52, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2c, - 0x20, 0x62, 0x65, 0x63, 0x61, 0x75, 0x73, 0x65, 0x0a, 0x20, 0x6e, 0x6f, 0x20, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x63, 0x61, 0x6e, 0x20, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x2e, 0x0a, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x50, 0x49, 0x20, 0x6e, 0x65, - 0x65, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, - 0x4e, 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6d, 0x61, 0x70, - 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x72, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x2e, 0x20, 0x48, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x73, 0x6f, 0x6d, - 0x65, 0x20, 0x67, 0x52, 0x50, 0x43, 0x0a, 0x20, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x63, 0x6f, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x65, 0x61, 0x74, 0x75, 0x72, 0x65, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xb2, 0x02, 0x08, 0x10, 0x0a, - 0x8f, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0xb7, 0x02, 0x02, 0x16, 0x1a, 0x80, - 0x01, 0x20, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x2e, 0x0a, 0x0a, - 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x5d, 0x5b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x75, 0x6c, - 0x65, 0x2e, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x5d, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x0a, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb7, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb7, 0x02, 0x09, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb7, 0x02, 0x14, 0x15, 0x0a, 0xd0, - 0x01, 0x0a, 0x04, 0x04, 0x01, 0x08, 0x00, 0x12, 0x06, 0xbc, 0x02, 0x02, 0xd2, 0x02, 0x03, 0x1a, - 0xbf, 0x01, 0x20, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x69, 0x73, - 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x7b, 0x67, 0x65, 0x74, 0x7c, 0x70, 0x75, 0x74, 0x7c, 0x70, 0x6f, 0x73, 0x74, 0x7c, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x7c, 0x70, 0x61, 0x74, 0x63, 0x68, 0x7d, 0x20, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x20, 0x41, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x27, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x27, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, 0x12, 0x04, 0xbc, 0x02, 0x08, 0x0f, - 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x13, 0x1a, 0x4e, - 0x20, 0x4d, 0x61, 0x70, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x47, 0x45, - 0x54, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x67, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, - 0x74, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x02, 0x11, 0x12, 0x0a, 0x40, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x02, 0x12, 0x04, 0xc2, 0x02, 0x04, 0x13, 0x1a, 0x32, 0x20, 0x4d, 0x61, 0x70, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x50, 0x55, 0x54, 0x2e, 0x20, 0x55, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x69, 0x6e, 0x67, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc2, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x02, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc2, 0x02, 0x11, 0x12, 0x0a, 0x58, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x04, 0x14, 0x1a, 0x4a, 0x20, 0x4d, 0x61, 0x70, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x50, 0x4f, 0x53, 0x54, 0x2e, 0x20, 0x55, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x70, 0x65, - 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x05, 0x12, 0x04, 0xc5, - 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc5, 0x02, - 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x12, - 0x13, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x04, 0x12, 0x04, 0xc8, 0x02, 0x04, 0x16, 0x1a, - 0x34, 0x20, 0x4d, 0x61, 0x70, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x44, - 0x45, 0x4c, 0x45, 0x54, 0x45, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x05, 0x12, 0x04, - 0xc8, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc8, - 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc8, 0x02, - 0x14, 0x15, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x04, 0xcb, 0x02, 0x04, 0x15, - 0x1a, 0x33, 0x20, 0x4d, 0x61, 0x70, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, - 0x50, 0x41, 0x54, 0x43, 0x48, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x05, 0x12, 0x04, - 0xcb, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0xcb, - 0x02, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, 0xcb, 0x02, - 0x13, 0x14, 0x0a, 0x98, 0x02, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x04, 0xd1, 0x02, 0x04, - 0x21, 0x1a, 0x89, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, - 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x61, - 0x6e, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x0a, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, - 0x20, 0x61, 0x73, 0x20, 0x48, 0x45, 0x41, 0x44, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x2a, 0x22, - 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x65, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x48, - 0x54, 0x54, 0x50, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x64, 0x2d, 0x63, - 0x61, 0x72, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, - 0x75, 0x6c, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x57, 0x65, 0x62, 0x20, 0x28, 0x48, 0x54, - 0x4d, 0x4c, 0x29, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x06, 0x06, 0x12, 0x04, 0xd1, 0x02, 0x04, 0x15, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x06, 0x01, 0x12, 0x04, 0xd1, 0x02, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x06, 0x03, 0x12, 0x04, 0xd1, 0x02, 0x1f, 0x20, 0x0a, 0xc4, 0x02, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x07, 0x12, 0x04, 0xda, 0x02, 0x02, 0x12, 0x1a, 0xb5, 0x02, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x0a, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x60, - 0x2a, 0x60, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, - 0x62, 0x6f, 0x64, 0x79, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x6e, 0x79, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x0a, 0x0a, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x70, 0x2d, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x05, 0x12, 0x04, 0xda, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x04, 0xda, 0x02, 0x09, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, 0x04, 0xda, 0x02, 0x10, 0x11, 0x0a, 0x99, - 0x02, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x08, 0x12, 0x04, 0xe2, 0x02, 0x02, 0x1c, 0x1a, 0x8a, 0x02, - 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x0a, 0x20, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, - 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, - 0x74, 0x69, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x0a, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x6f, 0x64, 0x79, 0x2e, 0x0a, 0x0a, - 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x72, 0x65, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, - 0x65, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x74, 0x6f, 0x70, 0x2d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x0a, 0x20, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x08, 0x05, 0x12, 0x04, 0xe2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x08, 0x01, 0x12, 0x04, 0xe2, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, - 0x03, 0x12, 0x04, 0xe2, 0x02, 0x19, 0x1b, 0x0a, 0xbb, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x09, - 0x12, 0x04, 0xe7, 0x02, 0x02, 0x2d, 0x1a, 0xac, 0x01, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x2e, 0x20, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x62, 0x69, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x60, 0x61, 0x64, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x60, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, 0x73, - 0x20, 0x28, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6e, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x64, 0x65, - 0x65, 0x70, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x04, 0x12, 0x04, - 0xe7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x06, 0x12, 0x04, 0xe7, - 0x02, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x01, 0x12, 0x04, 0xe7, 0x02, - 0x14, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x03, 0x12, 0x04, 0xe7, 0x02, 0x2a, - 0x2c, 0x0a, 0x47, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xeb, 0x02, 0x00, 0xf1, 0x02, 0x01, 0x1a, - 0x39, 0x20, 0x41, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x48, - 0x54, 0x54, 0x50, 0x20, 0x76, 0x65, 0x72, 0x62, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, - 0x01, 0x12, 0x04, 0xeb, 0x02, 0x08, 0x19, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x04, 0xed, 0x02, 0x02, 0x12, 0x1a, 0x24, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, - 0x48, 0x54, 0x54, 0x50, 0x20, 0x76, 0x65, 0x72, 0x62, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xed, 0x02, 0x10, 0x11, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xf0, 0x02, 0x02, 0x12, 0x1a, 0x27, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x76, 0x65, 0x72, 0x62, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x10, 0x11, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x80, 0x09, 0x0a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, - 0x69, 0x1a, 0x15, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x68, 0x74, - 0x74, 0x70, 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, 0x3a, 0x4b, 0x0a, 0x04, 0x68, 0x74, - 0x74, 0x70, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0xb0, 0xca, 0xbc, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x04, 0x68, 0x74, 0x74, 0x70, 0x42, 0xae, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, - 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x58, 0xaa, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, - 0x69, 0xe2, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, 0x69, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x4a, 0x94, 0x06, 0x0a, 0x06, 0x12, 0x04, 0x0e, - 0x00, 0x1e, 0x01, 0x0a, 0xbc, 0x04, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x0e, 0x00, 0x12, 0x32, 0xb1, - 0x04, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, 0x30, 0x32, 0x35, - 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x43, 0x0a, 0x0a, 0x20, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2c, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x28, 0x74, 0x68, - 0x65, 0x20, 0x22, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x3b, 0x0a, 0x20, 0x79, - 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, - 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x2e, 0x0a, - 0x20, 0x59, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x62, 0x74, 0x61, 0x69, 0x6e, 0x20, - 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x61, 0x74, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, - 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, - 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x4c, 0x49, - 0x43, 0x45, 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 0x30, 0x0a, 0x0a, 0x20, 0x55, 0x6e, 0x6c, 0x65, - 0x73, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x77, 0x20, 0x6f, 0x72, - 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x72, - 0x69, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x0a, - 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, - 0x20, 0x61, 0x6e, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x20, 0x42, 0x41, 0x53, 0x49, - 0x53, 0x2c, 0x0a, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, 0x41, 0x52, 0x52, - 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, 0x49, 0x4e, 0x44, - 0x2c, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, 0x65, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x6c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, 0x6e, 0x69, 0x6e, - 0x67, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x6e, - 0x64, 0x0a, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x2e, 0x0a, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x10, 0x00, 0x13, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x00, 0x12, 0x03, 0x12, 0x00, 0x1f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x13, - 0x00, 0x2a, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x15, 0x00, 0x58, 0x0a, 0x09, 0x0a, 0x02, - 0x08, 0x0b, 0x12, 0x03, 0x15, 0x00, 0x58, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x16, 0x00, - 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0a, 0x12, 0x03, 0x16, 0x00, 0x22, 0x0a, 0x08, 0x0a, 0x01, - 0x08, 0x12, 0x03, 0x17, 0x00, 0x31, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x08, 0x12, 0x03, 0x17, 0x00, - 0x31, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x18, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x08, - 0x01, 0x12, 0x03, 0x18, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x1b, 0x00, 0x1e, - 0x01, 0x0a, 0x1c, 0x0a, 0x02, 0x07, 0x00, 0x12, 0x03, 0x1d, 0x02, 0x1b, 0x1a, 0x11, 0x20, 0x53, - 0x65, 0x65, 0x20, 0x60, 0x48, 0x74, 0x74, 0x70, 0x52, 0x75, 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02, 0x12, 0x03, 0x1b, 0x07, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x07, - 0x00, 0x06, 0x12, 0x03, 0x1d, 0x02, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x01, 0x12, 0x03, - 0x1d, 0x0b, 0x0f, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, 0x12, 0x03, 0x1d, 0x12, 0x1a, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x92, 0x24, 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 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, 0x2a, 0xb6, 0x01, 0x0a, 0x0d, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x12, 0x1e, 0x0a, 0x1a, 0x46, - 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x42, 0x45, 0x48, 0x41, 0x56, 0x49, 0x4f, 0x52, 0x5f, 0x55, 0x4e, - 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x4f, - 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x52, 0x45, 0x51, - 0x55, 0x49, 0x52, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x4f, 0x55, 0x54, 0x50, 0x55, - 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x03, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x4e, 0x50, 0x55, - 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x10, 0x04, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4d, 0x4d, 0x55, - 0x54, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x55, 0x4e, 0x4f, 0x52, 0x44, - 0x45, 0x52, 0x45, 0x44, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x06, 0x12, 0x15, 0x0a, 0x11, 0x4e, - 0x4f, 0x4e, 0x5f, 0x45, 0x4d, 0x50, 0x54, 0x59, 0x5f, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, - 0x10, 0x07, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, - 0x10, 0x08, 0x3a, 0x64, 0x0a, 0x0e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 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, 0x9c, 0x08, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x42, 0xb0, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x12, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x42, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, - 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, 0x03, 0x47, 0x41, 0x58, 0xaa, 0x02, 0x0a, 0x47, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x41, 0x70, 0x69, 0xca, 0x02, 0x0a, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x5c, 0x41, 0x70, 0x69, 0xe2, 0x02, 0x16, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x41, 0x70, - 0x69, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, - 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x41, 0x70, 0x69, 0x4a, 0xe6, 0x1f, 0x0a, 0x06, - 0x12, 0x04, 0x0e, 0x00, 0x67, 0x01, 0x0a, 0xbc, 0x04, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x0e, 0x00, - 0x12, 0x32, 0xb1, 0x04, 0x20, 0x43, 0x6f, 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x32, - 0x30, 0x32, 0x35, 0x20, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x20, 0x4c, 0x4c, 0x43, 0x0a, 0x0a, - 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, - 0x73, 0x65, 0x2c, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x32, 0x2e, 0x30, 0x20, - 0x28, 0x74, 0x68, 0x65, 0x20, 0x22, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x3b, - 0x0a, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x65, 0x78, 0x63, 0x65, - 0x70, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x63, 0x65, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x2e, 0x0a, 0x20, 0x59, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x62, 0x74, 0x61, - 0x69, 0x6e, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x61, 0x74, 0x0a, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x61, 0x70, 0x61, - 0x63, 0x68, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, - 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x2d, 0x32, 0x2e, 0x30, 0x0a, 0x0a, 0x20, 0x55, - 0x6e, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6c, 0x61, 0x77, - 0x20, 0x6f, 0x72, 0x20, 0x61, 0x67, 0x72, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, - 0x20, 0x77, 0x72, 0x69, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, - 0x72, 0x65, 0x0a, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, 0x20, - 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x22, 0x41, 0x53, 0x20, 0x49, 0x53, 0x22, 0x20, 0x42, - 0x41, 0x53, 0x49, 0x53, 0x2c, 0x0a, 0x20, 0x57, 0x49, 0x54, 0x48, 0x4f, 0x55, 0x54, 0x20, 0x57, - 0x41, 0x52, 0x52, 0x41, 0x4e, 0x54, 0x49, 0x45, 0x53, 0x20, 0x4f, 0x52, 0x20, 0x43, 0x4f, 0x4e, - 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x20, 0x4f, 0x46, 0x20, 0x41, 0x4e, 0x59, 0x20, 0x4b, - 0x49, 0x4e, 0x44, 0x2c, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x2e, 0x0a, - 0x20, 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x20, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x67, 0x6f, 0x76, 0x65, 0x72, - 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x10, 0x00, 0x13, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x12, 0x00, 0x2a, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, - 0x03, 0x14, 0x00, 0x58, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x14, 0x00, 0x58, 0x0a, - 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x15, 0x00, 0x22, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0a, 0x12, - 0x03, 0x15, 0x00, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x16, 0x00, 0x33, 0x0a, 0x09, - 0x0a, 0x02, 0x08, 0x08, 0x12, 0x03, 0x16, 0x00, 0x33, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, - 0x17, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x01, 0x12, 0x03, 0x17, 0x00, 0x27, 0x0a, 0x09, - 0x0a, 0x01, 0x07, 0x12, 0x04, 0x1a, 0x00, 0x28, 0x01, 0x0a, 0xda, 0x03, 0x0a, 0x02, 0x07, 0x00, - 0x12, 0x03, 0x27, 0x02, 0x4b, 0x1a, 0xce, 0x03, 0x20, 0x41, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, - 0x69, 0x6f, 0x72, 0x20, 0x28, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2c, 0x20, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x2e, - 0x29, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x73, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, - 0x76, 0x69, 0x6f, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x20, 0x3d, 0x20, 0x31, 0x20, 0x5b, 0x28, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, - 0x72, 0x29, 0x20, 0x3d, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x4f, 0x4e, 0x4c, 0x59, - 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x74, 0x6c, 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x28, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, - 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x49, 0x4e, 0x50, 0x55, 0x54, - 0x5f, 0x4f, 0x4e, 0x4c, 0x59, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 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, 0x20, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x20, 0x3d, 0x20, 0x31, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x5b, 0x28, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, - 0x4f, 0x4e, 0x4c, 0x59, 0x2c, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x28, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x49, 0x4d, 0x4d, 0x55, 0x54, 0x41, - 0x42, 0x4c, 0x45, 0x5d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02, 0x12, 0x03, 0x1a, - 0x07, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x04, 0x12, 0x03, 0x27, 0x02, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x07, 0x00, 0x06, 0x12, 0x03, 0x27, 0x0b, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, - 0x01, 0x12, 0x03, 0x27, 0x24, 0x32, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, 0x12, 0x03, 0x27, - 0x35, 0x39, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x08, 0x12, 0x03, 0x27, 0x3a, 0x4a, 0x0a, 0x0b, - 0x0a, 0x04, 0x07, 0x00, 0x08, 0x02, 0x12, 0x03, 0x27, 0x3b, 0x49, 0x0a, 0xea, 0x02, 0x0a, 0x02, - 0x05, 0x00, 0x12, 0x04, 0x30, 0x00, 0x67, 0x01, 0x1a, 0xdd, 0x02, 0x20, 0x41, 0x6e, 0x20, 0x69, - 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x67, 0x69, - 0x76, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x28, 0x66, 0x6f, 0x72, 0x20, 0x65, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2c, 0x20, 0x6f, - 0x72, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, - 0x74, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x2a, - 0x2a, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x2a, 0x2a, 0x20, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, - 0x69, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x75, 0x66, 0x66, - 0x65, 0x72, 0x73, 0x20, 0x69, 0x74, 0x73, 0x65, 0x6c, 0x66, 0x3b, 0x20, 0x69, 0x74, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x0a, 0x20, 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x61, 0x66, 0x66, 0x65, 0x63, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x41, 0x50, 0x49, - 0x20, 0x74, 0x6f, 0x6f, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x20, 0x4e, 0x6f, - 0x74, 0x65, 0x3a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x2a, 0x2a, - 0x6d, 0x61, 0x79, 0x2a, 0x2a, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x75, 0x74, 0x75, 0x72, 0x65, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, - 0x03, 0x30, 0x05, 0x12, 0x0a, 0x3f, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x32, 0x02, - 0x21, 0x1a, 0x32, 0x20, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x6e, 0x75, - 0x6d, 0x73, 0x2e, 0x20, 0x44, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x32, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x32, 0x1f, - 0x20, 0x0a, 0xa1, 0x01, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x37, 0x02, 0x0f, 0x1a, - 0x93, 0x01, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, - 0x64, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x61, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x20, 0x57, 0x68, - 0x69, 0x6c, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x6d, 0x70, 0x68, - 0x61, 0x73, 0x69, 0x73, 0x20, 0x69, 0x66, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x70, 0x72, 0x69, - 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x37, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x37, 0x0d, - 0x0e, 0x0a, 0xc0, 0x01, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x3c, 0x02, 0x0f, 0x1a, - 0xb2, 0x01, 0x20, 0x44, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x61, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x0a, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x2a, - 0x2a, 0x6d, 0x75, 0x73, 0x74, 0x2a, 0x2a, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x6f, 0x20, 0x73, - 0x6f, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x28, 0x75, 0x73, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x60, - 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x41, 0x52, 0x47, 0x55, 0x4d, 0x45, 0x4e, 0x54, - 0x60, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3c, - 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x3c, 0x0d, 0x0e, - 0x0a, 0xfd, 0x01, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x42, 0x02, 0x12, 0x1a, 0xef, - 0x01, 0x20, 0x44, 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x2a, 0x6d, 0x75, 0x73, 0x74, 0x2a, - 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, - 0x2a, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x2a, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x77, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, - 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x27, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x63, 0x65, 0x29, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x42, 0x02, 0x0d, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x42, 0x10, 0x11, 0x0a, 0x9e, 0x01, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x47, 0x02, 0x11, 0x1a, 0x90, 0x01, 0x20, 0x44, 0x65, - 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x2e, 0x0a, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x63, 0x6f, - 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x47, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x47, 0x0f, 0x10, 0x0a, 0xa3, 0x01, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x05, 0x12, 0x03, 0x4c, 0x02, 0x10, 0x1a, 0x95, 0x01, 0x20, 0x44, 0x65, 0x6e, 0x6f, 0x74, - 0x65, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x61, 0x73, 0x20, 0x69, 0x6d, - 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, - 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, - 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x61, 0x66, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x4c, 0x02, 0x0b, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x4c, 0x0e, 0x0f, 0x0a, 0x93, 0x02, 0x0a, 0x04, - 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x52, 0x02, 0x15, 0x1a, 0x85, 0x02, 0x20, 0x44, 0x65, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x20, 0x28, 0x72, 0x65, 0x70, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x6e, 0x20, 0x75, 0x6e, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x2c, 0x20, 0x72, 0x61, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x0a, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x27, 0x73, - 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x52, 0x02, 0x10, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x52, 0x13, 0x14, 0x0a, 0x81, 0x02, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x07, 0x12, 0x03, 0x58, 0x02, 0x18, 0x1a, 0xf3, 0x01, 0x20, 0x44, - 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, - 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2c, 0x0a, 0x20, 0x61, 0x20, - 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x77, 0x68, 0x61, 0x74, 0x0a, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x58, 0x02, 0x13, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x58, 0x16, 0x17, 0x0a, 0xf8, 0x04, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, 0x03, 0x66, 0x02, 0x11, 0x1a, 0xea, 0x04, 0x20, 0x44, - 0x65, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x28, 0x61, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x0a, 0x20, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x29, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x79, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x41, 0x49, 0x50, 0x2d, 0x63, 0x6f, 0x6d, - 0x70, 0x6c, 0x69, 0x61, 0x6e, 0x74, 0x20, 0x41, 0x50, 0x49, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x0a, - 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x0a, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x6f, - 0x66, 0x74, 0x65, 0x6e, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x0a, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x74, 0x20, - 0x69, 0x73, 0x20, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x28, - 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, - 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x0a, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x6e, - 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, 0x69, - 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x29, 0x2e, 0x20, - 0x49, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x6d, 0x65, 0x74, 0x68, - 0x6f, 0x64, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x60, 0x49, - 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x60, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, - 0x01, 0x12, 0x03, 0x66, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, - 0x03, 0x66, 0x0f, 0x10, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -]; -include!("google.api.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/google/api/google.api.serde.rs b/rust/crates/sift_rs/src/gen/google/api/google.api.serde.rs deleted file mode 100644 index e4b88e49e..000000000 --- a/rust/crates/sift_rs/src/gen/google/api/google.api.serde.rs +++ /dev/null @@ -1,536 +0,0 @@ -// @generated -impl serde::Serialize for CustomHttpPattern { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.kind.is_empty() { - len += 1; - } - if !self.path.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("google.api.CustomHttpPattern", len)?; - if !self.kind.is_empty() { - struct_ser.serialize_field("kind", &self.kind)?; - } - if !self.path.is_empty() { - struct_ser.serialize_field("path", &self.path)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CustomHttpPattern { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "kind", - "path", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Kind, - Path, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "kind" => Ok(GeneratedField::Kind), - "path" => Ok(GeneratedField::Path), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CustomHttpPattern; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct google.api.CustomHttpPattern") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut kind__ = None; - let mut path__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Kind => { - if kind__.is_some() { - return Err(serde::de::Error::duplicate_field("kind")); - } - kind__ = Some(map_.next_value()?); - } - GeneratedField::Path => { - if path__.is_some() { - return Err(serde::de::Error::duplicate_field("path")); - } - path__ = Some(map_.next_value()?); - } - } - } - Ok(CustomHttpPattern { - kind: kind__.unwrap_or_default(), - path: path__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("google.api.CustomHttpPattern", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for FieldBehavior { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "FIELD_BEHAVIOR_UNSPECIFIED", - Self::Optional => "OPTIONAL", - Self::Required => "REQUIRED", - Self::OutputOnly => "OUTPUT_ONLY", - Self::InputOnly => "INPUT_ONLY", - Self::Immutable => "IMMUTABLE", - Self::UnorderedList => "UNORDERED_LIST", - Self::NonEmptyDefault => "NON_EMPTY_DEFAULT", - Self::Identifier => "IDENTIFIER", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for FieldBehavior { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "FIELD_BEHAVIOR_UNSPECIFIED", - "OPTIONAL", - "REQUIRED", - "OUTPUT_ONLY", - "INPUT_ONLY", - "IMMUTABLE", - "UNORDERED_LIST", - "NON_EMPTY_DEFAULT", - "IDENTIFIER", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = FieldBehavior; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "FIELD_BEHAVIOR_UNSPECIFIED" => Ok(FieldBehavior::Unspecified), - "OPTIONAL" => Ok(FieldBehavior::Optional), - "REQUIRED" => Ok(FieldBehavior::Required), - "OUTPUT_ONLY" => Ok(FieldBehavior::OutputOnly), - "INPUT_ONLY" => Ok(FieldBehavior::InputOnly), - "IMMUTABLE" => Ok(FieldBehavior::Immutable), - "UNORDERED_LIST" => Ok(FieldBehavior::UnorderedList), - "NON_EMPTY_DEFAULT" => Ok(FieldBehavior::NonEmptyDefault), - "IDENTIFIER" => Ok(FieldBehavior::Identifier), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for Http { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.rules.is_empty() { - len += 1; - } - if self.fully_decode_reserved_expansion { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("google.api.Http", len)?; - if !self.rules.is_empty() { - struct_ser.serialize_field("rules", &self.rules)?; - } - if self.fully_decode_reserved_expansion { - struct_ser.serialize_field("fullyDecodeReservedExpansion", &self.fully_decode_reserved_expansion)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Http { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "rules", - "fully_decode_reserved_expansion", - "fullyDecodeReservedExpansion", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Rules, - FullyDecodeReservedExpansion, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "rules" => Ok(GeneratedField::Rules), - "fullyDecodeReservedExpansion" | "fully_decode_reserved_expansion" => Ok(GeneratedField::FullyDecodeReservedExpansion), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Http; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct google.api.Http") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut rules__ = None; - let mut fully_decode_reserved_expansion__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Rules => { - if rules__.is_some() { - return Err(serde::de::Error::duplicate_field("rules")); - } - rules__ = Some(map_.next_value()?); - } - GeneratedField::FullyDecodeReservedExpansion => { - if fully_decode_reserved_expansion__.is_some() { - return Err(serde::de::Error::duplicate_field("fullyDecodeReservedExpansion")); - } - fully_decode_reserved_expansion__ = Some(map_.next_value()?); - } - } - } - Ok(Http { - rules: rules__.unwrap_or_default(), - fully_decode_reserved_expansion: fully_decode_reserved_expansion__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("google.api.Http", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for HttpRule { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.selector.is_empty() { - len += 1; - } - if !self.body.is_empty() { - len += 1; - } - if !self.response_body.is_empty() { - len += 1; - } - if !self.additional_bindings.is_empty() { - len += 1; - } - if self.pattern.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("google.api.HttpRule", len)?; - if !self.selector.is_empty() { - struct_ser.serialize_field("selector", &self.selector)?; - } - if !self.body.is_empty() { - struct_ser.serialize_field("body", &self.body)?; - } - if !self.response_body.is_empty() { - struct_ser.serialize_field("responseBody", &self.response_body)?; - } - if !self.additional_bindings.is_empty() { - struct_ser.serialize_field("additionalBindings", &self.additional_bindings)?; - } - if let Some(v) = self.pattern.as_ref() { - match v { - http_rule::Pattern::Get(v) => { - struct_ser.serialize_field("get", v)?; - } - http_rule::Pattern::Put(v) => { - struct_ser.serialize_field("put", v)?; - } - http_rule::Pattern::Post(v) => { - struct_ser.serialize_field("post", v)?; - } - http_rule::Pattern::Delete(v) => { - struct_ser.serialize_field("delete", v)?; - } - http_rule::Pattern::Patch(v) => { - struct_ser.serialize_field("patch", v)?; - } - http_rule::Pattern::Custom(v) => { - struct_ser.serialize_field("custom", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for HttpRule { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "selector", - "body", - "response_body", - "responseBody", - "additional_bindings", - "additionalBindings", - "get", - "put", - "post", - "delete", - "patch", - "custom", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Selector, - Body, - ResponseBody, - AdditionalBindings, - Get, - Put, - Post, - Delete, - Patch, - Custom, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "selector" => Ok(GeneratedField::Selector), - "body" => Ok(GeneratedField::Body), - "responseBody" | "response_body" => Ok(GeneratedField::ResponseBody), - "additionalBindings" | "additional_bindings" => Ok(GeneratedField::AdditionalBindings), - "get" => Ok(GeneratedField::Get), - "put" => Ok(GeneratedField::Put), - "post" => Ok(GeneratedField::Post), - "delete" => Ok(GeneratedField::Delete), - "patch" => Ok(GeneratedField::Patch), - "custom" => Ok(GeneratedField::Custom), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = HttpRule; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct google.api.HttpRule") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut selector__ = None; - let mut body__ = None; - let mut response_body__ = None; - let mut additional_bindings__ = None; - let mut pattern__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Selector => { - if selector__.is_some() { - return Err(serde::de::Error::duplicate_field("selector")); - } - selector__ = Some(map_.next_value()?); - } - GeneratedField::Body => { - if body__.is_some() { - return Err(serde::de::Error::duplicate_field("body")); - } - body__ = Some(map_.next_value()?); - } - GeneratedField::ResponseBody => { - if response_body__.is_some() { - return Err(serde::de::Error::duplicate_field("responseBody")); - } - response_body__ = Some(map_.next_value()?); - } - GeneratedField::AdditionalBindings => { - if additional_bindings__.is_some() { - return Err(serde::de::Error::duplicate_field("additionalBindings")); - } - additional_bindings__ = Some(map_.next_value()?); - } - GeneratedField::Get => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("get")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Get); - } - GeneratedField::Put => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("put")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Put); - } - GeneratedField::Post => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("post")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Post); - } - GeneratedField::Delete => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("delete")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Delete); - } - GeneratedField::Patch => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("patch")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Patch); - } - GeneratedField::Custom => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("custom")); - } - pattern__ = map_.next_value::<::std::option::Option<_>>()?.map(http_rule::Pattern::Custom) -; - } - } - } - Ok(HttpRule { - selector: selector__.unwrap_or_default(), - body: body__.unwrap_or_default(), - response_body: response_body__.unwrap_or_default(), - additional_bindings: additional_bindings__.unwrap_or_default(), - pattern: pattern__, - }) - } - } - deserializer.deserialize_struct("google.api.HttpRule", FIELDS, GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.rs b/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.rs deleted file mode 100644 index c1cb2830f..000000000 --- a/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.rs +++ /dev/null @@ -1,3448 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Swagger { - #[prost(string, tag="1")] - pub swagger: ::prost::alloc::string::String, - #[prost(message, optional, tag="2")] - pub info: ::core::option::Option, - #[prost(string, tag="3")] - pub host: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub base_path: ::prost::alloc::string::String, - #[prost(enumeration="Scheme", repeated, tag="5")] - pub schemes: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag="6")] - pub consumes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="7")] - pub produces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(map="string, message", tag="10")] - pub responses: ::std::collections::HashMap<::prost::alloc::string::String, Response>, - #[prost(message, optional, tag="11")] - pub security_definitions: ::core::option::Option, - #[prost(message, repeated, tag="12")] - pub security: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="13")] - pub tags: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="14")] - pub external_docs: ::core::option::Option, - #[prost(map="string, message", tag="15")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Operation { - #[prost(string, repeated, tag="1")] - pub tags: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, tag="2")] - pub summary: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="4")] - pub external_docs: ::core::option::Option, - #[prost(string, tag="5")] - pub operation_id: ::prost::alloc::string::String, - #[prost(string, repeated, tag="6")] - pub consumes: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="7")] - pub produces: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(map="string, message", tag="9")] - pub responses: ::std::collections::HashMap<::prost::alloc::string::String, Response>, - #[prost(enumeration="Scheme", repeated, tag="10")] - pub schemes: ::prost::alloc::vec::Vec, - #[prost(bool, tag="11")] - pub deprecated: bool, - #[prost(message, repeated, tag="12")] - pub security: ::prost::alloc::vec::Vec, - #[prost(map="string, message", tag="13")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, - #[prost(message, optional, tag="14")] - pub parameters: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Parameters { - #[prost(message, repeated, tag="1")] - pub headers: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct HeaderParameter { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(enumeration="header_parameter::Type", tag="3")] - pub r#type: i32, - #[prost(string, tag="4")] - pub format: ::prost::alloc::string::String, - #[prost(bool, tag="5")] - pub required: bool, -} -/// Nested message and enum types in `HeaderParameter`. -pub mod header_parameter { - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum Type { - Unknown = 0, - String = 1, - Number = 2, - Integer = 3, - Boolean = 4, - } - impl Type { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unknown => "UNKNOWN", - Self::String => "STRING", - Self::Number => "NUMBER", - Self::Integer => "INTEGER", - Self::Boolean => "BOOLEAN", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "STRING" => Some(Self::String), - "NUMBER" => Some(Self::Number), - "INTEGER" => Some(Self::Integer), - "BOOLEAN" => Some(Self::Boolean), - _ => None, - } - } - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Header { - #[prost(string, tag="1")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub r#type: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub format: ::prost::alloc::string::String, - #[prost(string, tag="6")] - pub default: ::prost::alloc::string::String, - #[prost(string, tag="13")] - pub pattern: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Response { - #[prost(string, tag="1")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="2")] - pub schema: ::core::option::Option, - #[prost(map="string, message", tag="3")] - pub headers: ::std::collections::HashMap<::prost::alloc::string::String, Header>, - #[prost(map="string, string", tag="4")] - pub examples: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, - #[prost(map="string, message", tag="5")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Info { - #[prost(string, tag="1")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub terms_of_service: ::prost::alloc::string::String, - #[prost(message, optional, tag="4")] - pub contact: ::core::option::Option, - #[prost(message, optional, tag="5")] - pub license: ::core::option::Option, - #[prost(string, tag="6")] - pub version: ::prost::alloc::string::String, - #[prost(map="string, message", tag="7")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Contact { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub url: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub email: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct License { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub url: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ExternalDocumentation { - #[prost(string, tag="1")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub url: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Schema { - #[prost(message, optional, tag="1")] - pub json_schema: ::core::option::Option, - #[prost(string, tag="2")] - pub discriminator: ::prost::alloc::string::String, - #[prost(bool, tag="3")] - pub read_only: bool, - #[prost(message, optional, tag="5")] - pub external_docs: ::core::option::Option, - #[prost(string, tag="6")] - pub example: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct EnumSchema { - #[prost(string, tag="1")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub default: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub title: ::prost::alloc::string::String, - #[prost(bool, tag="4")] - pub required: bool, - #[prost(bool, tag="5")] - pub read_only: bool, - #[prost(message, optional, tag="6")] - pub external_docs: ::core::option::Option, - #[prost(string, tag="7")] - pub example: ::prost::alloc::string::String, - #[prost(string, tag="8")] - pub r#ref: ::prost::alloc::string::String, - #[prost(map="string, message", tag="9")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct JsonSchema { - #[prost(string, tag="3")] - pub r#ref: ::prost::alloc::string::String, - #[prost(string, tag="5")] - pub title: ::prost::alloc::string::String, - #[prost(string, tag="6")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="7")] - pub default: ::prost::alloc::string::String, - #[prost(bool, tag="8")] - pub read_only: bool, - #[prost(string, tag="9")] - pub example: ::prost::alloc::string::String, - #[prost(double, tag="10")] - pub multiple_of: f64, - #[prost(double, tag="11")] - pub maximum: f64, - #[prost(bool, tag="12")] - pub exclusive_maximum: bool, - #[prost(double, tag="13")] - pub minimum: f64, - #[prost(bool, tag="14")] - pub exclusive_minimum: bool, - #[prost(uint64, tag="15")] - pub max_length: u64, - #[prost(uint64, tag="16")] - pub min_length: u64, - #[prost(string, tag="17")] - pub pattern: ::prost::alloc::string::String, - #[prost(uint64, tag="20")] - pub max_items: u64, - #[prost(uint64, tag="21")] - pub min_items: u64, - #[prost(bool, tag="22")] - pub unique_items: bool, - #[prost(uint64, tag="24")] - pub max_properties: u64, - #[prost(uint64, tag="25")] - pub min_properties: u64, - #[prost(string, repeated, tag="26")] - pub required: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="34")] - pub array: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(enumeration="json_schema::JsonSchemaSimpleTypes", repeated, tag="35")] - pub r#type: ::prost::alloc::vec::Vec, - #[prost(string, tag="36")] - pub format: ::prost::alloc::string::String, - #[prost(string, repeated, tag="46")] - pub r#enum: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag="1001")] - pub field_configuration: ::core::option::Option, - #[prost(map="string, message", tag="48")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -/// Nested message and enum types in `JSONSchema`. -pub mod json_schema { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] - pub struct FieldConfiguration { - #[prost(string, tag="47")] - pub path_param_name: ::prost::alloc::string::String, - #[prost(bool, tag="49")] - pub deprecated: bool, - } - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum JsonSchemaSimpleTypes { - Unknown = 0, - Array = 1, - Boolean = 2, - Integer = 3, - Null = 4, - Number = 5, - Object = 6, - String = 7, - } - impl JsonSchemaSimpleTypes { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unknown => "UNKNOWN", - Self::Array => "ARRAY", - Self::Boolean => "BOOLEAN", - Self::Integer => "INTEGER", - Self::Null => "NULL", - Self::Number => "NUMBER", - Self::Object => "OBJECT", - Self::String => "STRING", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "ARRAY" => Some(Self::Array), - "BOOLEAN" => Some(Self::Boolean), - "INTEGER" => Some(Self::Integer), - "NULL" => Some(Self::Null), - "NUMBER" => Some(Self::Number), - "OBJECT" => Some(Self::Object), - "STRING" => Some(Self::String), - _ => None, - } - } - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Tag { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="3")] - pub external_docs: ::core::option::Option, - #[prost(map="string, message", tag="4")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SecurityDefinitions { - #[prost(map="string, message", tag="1")] - pub security: ::std::collections::HashMap<::prost::alloc::string::String, SecurityScheme>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SecurityScheme { - #[prost(enumeration="security_scheme::Type", tag="1")] - pub r#type: i32, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub name: ::prost::alloc::string::String, - #[prost(enumeration="security_scheme::In", tag="4")] - pub r#in: i32, - #[prost(enumeration="security_scheme::Flow", tag="5")] - pub flow: i32, - #[prost(string, tag="6")] - pub authorization_url: ::prost::alloc::string::String, - #[prost(string, tag="7")] - pub token_url: ::prost::alloc::string::String, - #[prost(message, optional, tag="8")] - pub scopes: ::core::option::Option, - #[prost(map="string, message", tag="9")] - pub extensions: ::std::collections::HashMap<::prost::alloc::string::String, ::pbjson_types::Value>, -} -/// Nested message and enum types in `SecurityScheme`. -pub mod security_scheme { - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum Type { - Invalid = 0, - Basic = 1, - ApiKey = 2, - Oauth2 = 3, - } - impl Type { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Invalid => "TYPE_INVALID", - Self::Basic => "TYPE_BASIC", - Self::ApiKey => "TYPE_API_KEY", - Self::Oauth2 => "TYPE_OAUTH2", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "TYPE_INVALID" => Some(Self::Invalid), - "TYPE_BASIC" => Some(Self::Basic), - "TYPE_API_KEY" => Some(Self::ApiKey), - "TYPE_OAUTH2" => Some(Self::Oauth2), - _ => None, - } - } - } - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum In { - Invalid = 0, - Query = 1, - Header = 2, - } - impl In { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Invalid => "IN_INVALID", - Self::Query => "IN_QUERY", - Self::Header => "IN_HEADER", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "IN_INVALID" => Some(Self::Invalid), - "IN_QUERY" => Some(Self::Query), - "IN_HEADER" => Some(Self::Header), - _ => None, - } - } - } - #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] - #[repr(i32)] - pub enum Flow { - Invalid = 0, - Implicit = 1, - Password = 2, - Application = 3, - AccessCode = 4, - } - impl Flow { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Invalid => "FLOW_INVALID", - Self::Implicit => "FLOW_IMPLICIT", - Self::Password => "FLOW_PASSWORD", - Self::Application => "FLOW_APPLICATION", - Self::AccessCode => "FLOW_ACCESS_CODE", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "FLOW_INVALID" => Some(Self::Invalid), - "FLOW_IMPLICIT" => Some(Self::Implicit), - "FLOW_PASSWORD" => Some(Self::Password), - "FLOW_APPLICATION" => Some(Self::Application), - "FLOW_ACCESS_CODE" => Some(Self::AccessCode), - _ => None, - } - } - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SecurityRequirement { - #[prost(map="string, message", tag="1")] - pub security_requirement: ::std::collections::HashMap<::prost::alloc::string::String, security_requirement::SecurityRequirementValue>, -} -/// Nested message and enum types in `SecurityRequirement`. -pub mod security_requirement { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] - pub struct SecurityRequirementValue { - #[prost(string, repeated, tag="1")] - pub scope: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Scopes { - #[prost(map="string, string", tag="1")] - pub scope: ::std::collections::HashMap<::prost::alloc::string::String, ::prost::alloc::string::String>, -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum Scheme { - Unknown = 0, - Http = 1, - Https = 2, - Ws = 3, - Wss = 4, -} -impl Scheme { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unknown => "UNKNOWN", - Self::Http => "HTTP", - Self::Https => "HTTPS", - Self::Ws => "WS", - Self::Wss => "WSS", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "UNKNOWN" => Some(Self::Unknown), - "HTTP" => Some(Self::Http), - "HTTPS" => Some(Self::Https), - "WS" => Some(Self::Ws), - "WSS" => Some(Self::Wss), - _ => None, - } - } -} -/// Encoded file descriptor set for the `grpc.gateway.protoc_gen_openapiv2.options` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xa1, 0xd6, 0x02, 0x0a, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, - 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x12, 0x29, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1c, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb3, 0x08, 0x0a, 0x07, - 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x77, 0x61, 0x67, 0x67, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, - 0x72, 0x12, 0x43, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x6f, - 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x62, 0x61, - 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x62, - 0x61, 0x73, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x07, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, - 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, - 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, - 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x73, 0x12, 0x5f, 0x0a, 0x09, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x41, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x77, 0x61, 0x67, - 0x67, 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x12, 0x71, 0x0a, - 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x5a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x42, 0x0a, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, - 0x12, 0x65, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x62, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x42, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x71, 0x0a, 0x0e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 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, - 0x49, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, - 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, - 0x0a, 0x22, 0xd6, 0x07, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x65, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, 0x6d, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x6e, - 0x73, 0x75, 0x6d, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x73, 0x12, 0x61, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x09, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x18, - 0x0a, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x07, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x12, 0x5a, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x0c, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x52, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x12, 0x64, 0x0a, - 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x55, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0a, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x1a, 0x71, 0x0a, 0x0e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 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, 0x49, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, - 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x22, 0x62, 0x0a, 0x0a, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x54, 0x0a, 0x07, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, - 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x52, 0x07, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x22, 0xa3, - 0x02, 0x0a, 0x0f, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x22, 0x45, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, - 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x02, 0x12, 0x0b, - 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x42, - 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x04, 0x4a, 0x04, 0x08, 0x06, 0x10, 0x07, 0x4a, 0x04, - 0x08, 0x07, 0x10, 0x08, 0x22, 0xd8, 0x01, 0x0a, 0x06, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, - 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x18, 0x0a, - 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, - 0x72, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, - 0x6e, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x4a, 0x04, 0x08, - 0x07, 0x10, 0x08, 0x4a, 0x04, 0x08, 0x08, 0x10, 0x09, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0a, 0x4a, - 0x04, 0x08, 0x0a, 0x10, 0x0b, 0x4a, 0x04, 0x08, 0x0b, 0x10, 0x0c, 0x4a, 0x04, 0x08, 0x0c, 0x10, - 0x0d, 0x4a, 0x04, 0x08, 0x0e, 0x10, 0x0f, 0x4a, 0x04, 0x08, 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, - 0x10, 0x10, 0x11, 0x4a, 0x04, 0x08, 0x11, 0x10, 0x12, 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x22, - 0x9a, 0x05, 0x0a, 0x08, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x49, - 0x0a, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x06, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x5a, 0x0a, 0x07, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x73, 0x12, 0x5d, 0x0a, 0x08, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x41, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x43, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x6d, 0x0a, 0x0c, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 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, 0x47, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x45, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x55, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xd6, 0x03, 0x0a, - 0x04, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, - 0x10, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f, 0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x4c, 0x0a, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x5f, 0x0a, - 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x49, 0x6e, - 0x66, 0x6f, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x55, - 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, - 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2f, 0x0a, 0x07, - 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, - 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x4b, 0x0a, - 0x15, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0xaa, 0x02, 0x0a, 0x06, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x56, 0x0a, 0x0b, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x52, 0x0a, 0x6a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x24, 0x0a, - 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, 0x69, 0x6e, 0x61, - 0x74, 0x6f, 0x72, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, - 0x12, 0x65, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xe8, 0x03, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, - 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, - 0x79, 0x12, 0x65, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, - 0x63, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x72, 0x65, 0x66, 0x12, 0x65, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x55, 0x0a, 0x0f, 0x45, - 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xf7, 0x0a, 0x0a, 0x0a, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x66, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x72, 0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x6e, - 0x6c, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x12, 0x1f, 0x0a, 0x0b, - 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x6f, 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x01, 0x52, 0x0a, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x12, 0x18, 0x0a, - 0x07, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, - 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x2b, 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x18, 0x0c, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, - 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x2b, - 0x0a, 0x11, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x5f, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x78, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, - 0x61, 0x78, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x09, 0x6d, 0x61, 0x78, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x69, - 0x6e, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x10, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, - 0x6d, 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x74, - 0x74, 0x65, 0x72, 0x6e, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x61, 0x74, 0x74, - 0x65, 0x72, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x14, 0x20, 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x15, 0x20, - 0x01, 0x28, 0x04, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x21, 0x0a, - 0x0c, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x5f, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x16, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x0b, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, - 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x78, 0x5f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x50, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x69, 0x6e, 0x5f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x04, 0x52, - 0x0d, 0x6d, 0x69, 0x6e, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x1a, - 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x18, 0x1a, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x18, 0x22, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x61, 0x72, 0x72, 0x61, 0x79, - 0x12, 0x5f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x23, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x4b, - 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x16, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x24, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x06, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x65, 0x6e, 0x75, - 0x6d, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x7a, 0x0a, - 0x13, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x0a, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x1a, 0x5c, 0x0a, 0x12, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0f, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x70, 0x61, 0x74, 0x68, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x31, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x1a, 0x55, - 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x77, 0x0a, 0x15, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x0b, - 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x41, - 0x52, 0x52, 0x41, 0x59, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, - 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x49, 0x4e, 0x54, 0x45, 0x47, 0x45, 0x52, 0x10, 0x03, - 0x12, 0x08, 0x0a, 0x04, 0x4e, 0x55, 0x4c, 0x4c, 0x10, 0x04, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x55, - 0x4d, 0x42, 0x45, 0x52, 0x10, 0x05, 0x12, 0x0a, 0x0a, 0x06, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, - 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x4a, 0x04, - 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, - 0x4a, 0x04, 0x08, 0x12, 0x10, 0x13, 0x4a, 0x04, 0x08, 0x13, 0x10, 0x14, 0x4a, 0x04, 0x08, 0x17, - 0x10, 0x18, 0x4a, 0x04, 0x08, 0x1b, 0x10, 0x1c, 0x4a, 0x04, 0x08, 0x1c, 0x10, 0x1d, 0x4a, 0x04, - 0x08, 0x1d, 0x10, 0x1e, 0x4a, 0x04, 0x08, 0x1e, 0x10, 0x22, 0x4a, 0x04, 0x08, 0x25, 0x10, 0x2a, - 0x4a, 0x04, 0x08, 0x2a, 0x10, 0x2b, 0x4a, 0x04, 0x08, 0x2b, 0x10, 0x2e, 0x22, 0xd9, 0x02, 0x0a, - 0x03, 0x54, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x65, 0x0a, 0x0d, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, - 0x73, 0x12, 0x5e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x54, 0x61, 0x67, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x55, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xf7, 0x01, 0x0a, 0x13, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x68, 0x0a, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x4c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, - 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x08, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x1a, 0x76, 0x0a, 0x0d, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x4f, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, - 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, - 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, - 0x38, 0x01, 0x22, 0xff, 0x06, 0x0a, 0x0e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x4c, 0x0a, 0x02, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x49, 0x6e, 0x52, 0x02, 0x69, 0x6e, 0x12, 0x52, 0x0a, - 0x04, 0x66, 0x6c, 0x6f, 0x77, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3e, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x46, 0x6c, 0x6f, 0x77, 0x52, 0x04, 0x66, 0x6c, 0x6f, - 0x77, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x61, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x1b, - 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x55, 0x72, 0x6c, 0x12, 0x49, 0x0a, 0x06, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x52, 0x06, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x69, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x49, 0x2e, 0x67, 0x72, 0x70, - 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x1a, 0x55, 0x0a, 0x0f, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 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, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4b, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x41, 0x53, 0x49, 0x43, - 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x50, 0x49, 0x5f, 0x4b, - 0x45, 0x59, 0x10, 0x02, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4f, 0x41, 0x55, - 0x54, 0x48, 0x32, 0x10, 0x03, 0x22, 0x31, 0x0a, 0x02, 0x49, 0x6e, 0x12, 0x0e, 0x0a, 0x0a, 0x49, - 0x4e, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x49, - 0x4e, 0x5f, 0x51, 0x55, 0x45, 0x52, 0x59, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x5f, - 0x48, 0x45, 0x41, 0x44, 0x45, 0x52, 0x10, 0x02, 0x22, 0x6a, 0x0a, 0x04, 0x46, 0x6c, 0x6f, 0x77, - 0x12, 0x10, 0x0a, 0x0c, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, - 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x49, 0x4d, 0x50, 0x4c, 0x49, - 0x43, 0x49, 0x54, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x50, 0x41, - 0x53, 0x53, 0x57, 0x4f, 0x52, 0x44, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4c, 0x4f, 0x57, - 0x5f, 0x41, 0x50, 0x50, 0x4c, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x03, 0x12, 0x14, - 0x0a, 0x10, 0x46, 0x4c, 0x4f, 0x57, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x43, 0x4f, - 0x44, 0x45, 0x10, 0x04, 0x22, 0xf6, 0x02, 0x0a, 0x13, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x8a, 0x01, 0x0a, - 0x14, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x1a, 0x30, 0x0a, 0x18, 0x53, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x1a, 0x9f, 0x01, 0x0a, 0x18, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x6d, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x57, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, - 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x96, 0x01, - 0x0a, 0x06, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x12, 0x52, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x1a, 0x38, 0x0a, 0x0a, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x2a, 0x3b, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x00, 0x12, 0x08, 0x0a, - 0x04, 0x48, 0x54, 0x54, 0x50, 0x10, 0x01, 0x12, 0x09, 0x0a, 0x05, 0x48, 0x54, 0x54, 0x50, 0x53, - 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x57, 0x53, 0x10, 0x03, 0x12, 0x07, 0x0a, 0x03, 0x57, 0x53, - 0x53, 0x10, 0x04, 0x42, 0xc7, 0x02, 0x0a, 0x2d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, - 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x0e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, - 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, - 0x02, 0x04, 0x47, 0x47, 0x50, 0x4f, 0xaa, 0x02, 0x27, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0xca, 0x02, 0x27, 0x47, 0x72, 0x70, 0x63, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x5c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xe2, 0x02, 0x33, 0x47, 0x72, 0x70, - 0x63, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x47, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5c, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x2a, 0x47, 0x72, 0x70, 0x63, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x3a, 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x76, 0x32, 0x3a, 0x3a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0xec, 0x91, - 0x02, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xf9, 0x05, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, - 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x32, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, - 0x06, 0x00, 0x5d, 0x0a, 0x09, 0x0a, 0x02, 0x08, 0x0b, 0x12, 0x03, 0x06, 0x00, 0x5d, 0x0a, 0x63, - 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x10, 0x01, 0x1a, 0x57, 0x20, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, - 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x20, 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x0a, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x05, 0x0b, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0b, 0x02, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x02, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x0b, 0x0c, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, - 0x12, 0x03, 0x0c, 0x02, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x0c, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x0c, 0x09, - 0x0a, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x02, 0x0c, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x0a, 0x0b, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x03, 0x12, 0x03, 0x0e, 0x02, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x0e, 0x02, 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, - 0x0e, 0x07, 0x08, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0f, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x05, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x0f, 0x08, 0x09, 0x0a, 0xf8, 0x05, 0x0a, - 0x02, 0x04, 0x00, 0x12, 0x04, 0x2c, 0x00, 0x67, 0x01, 0x1a, 0xeb, 0x05, 0x20, 0x60, 0x53, 0x77, - 0x61, 0x67, 0x67, 0x65, 0x72, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, - 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, - 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, - 0x0a, 0x0a, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, - 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, - 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x45, 0x63, 0x68, 0x6f, 0x20, 0x41, 0x50, 0x49, 0x22, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, - 0x20, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x22, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x67, - 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, - 0x6c, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6d, 0x61, - 0x69, 0x6c, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x6e, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x3a, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, - 0x22, 0x42, 0x53, 0x44, 0x20, 0x33, 0x2d, 0x43, 0x6c, 0x61, 0x75, 0x73, 0x65, 0x20, 0x4c, 0x69, - 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x75, 0x72, 0x6c, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, - 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, - 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x73, 0x3a, 0x20, 0x48, 0x54, 0x54, 0x50, 0x53, 0x3b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x3a, 0x20, 0x22, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x73, 0x3a, 0x20, 0x22, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x22, 0x3b, - 0x0a, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, - 0x2c, 0x08, 0x0f, 0x0a, 0xb3, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x30, 0x02, - 0x15, 0x1a, 0xa5, 0x01, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, - 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x55, 0x49, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x70, 0x72, 0x65, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, - 0x65, 0x20, 0x22, 0x32, 0x2e, 0x30, 0x22, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x30, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x30, 0x13, 0x14, 0x0a, 0x63, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x33, 0x02, 0x10, - 0x1a, 0x56, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, - 0x50, 0x49, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x68, 0x65, 0x0a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x66, 0x20, - 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x06, 0x12, 0x03, 0x33, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x33, 0x07, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x33, - 0x0e, 0x0f, 0x0a, 0xa9, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x38, 0x02, 0x12, - 0x1a, 0x9b, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x28, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x70, 0x29, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, - 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x0a, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x6e, 0x6f, 0x72, 0x20, 0x73, 0x75, 0x62, 0x2d, 0x70, - 0x61, 0x74, 0x68, 0x73, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x4d, 0x41, 0x59, 0x20, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x69, 0x73, 0x0a, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, - 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x28, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x72, 0x74, - 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x74, - 0x68, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x38, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x38, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x38, 0x10, 0x11, 0x0a, 0xc8, 0x04, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x03, 0x12, 0x03, 0x42, 0x02, 0x17, 0x1a, 0xba, 0x04, 0x20, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, - 0x73, 0x65, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x64, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6c, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, - 0x74, 0x2e, 0x20, 0x49, 0x66, 0x0a, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, - 0x50, 0x49, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x68, 0x6f, 0x73, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, - 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x61, 0x20, 0x6c, 0x65, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x6c, 0x61, 0x73, 0x68, - 0x20, 0x28, 0x2f, 0x29, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, - 0x6f, 0x72, 0x74, 0x20, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x60, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, - 0x70, 0x61, 0x74, 0x68, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x0a, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x20, - 0x77, 0x69, 0x73, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x60, 0x62, 0x61, 0x73, - 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x60, 0x0a, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, - 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x60, 0x20, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x0a, 0x20, 0x6d, 0x61, 0x6e, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x60, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x60, 0x20, 0x70, - 0x61, 0x74, 0x68, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x63, 0x6f, - 0x64, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, - 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x42, 0x02, - 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x42, 0x09, 0x12, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x42, 0x15, 0x16, 0x0a, 0xe6, 0x01, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x46, 0x02, 0x1e, 0x1a, 0xd8, 0x01, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x2e, - 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x3a, 0x20, 0x22, - 0x68, 0x74, 0x74, 0x70, 0x22, 0x2c, 0x0a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x22, 0x2c, - 0x20, 0x22, 0x77, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x77, 0x73, 0x73, 0x22, 0x2e, 0x20, 0x49, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x69, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x20, 0x74, 0x6f, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x74, - 0x73, 0x65, 0x6c, 0x66, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, 0x12, - 0x03, 0x46, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x46, - 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x46, 0x12, 0x19, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x46, 0x1c, 0x1d, 0x0a, 0xb1, - 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x4a, 0x02, 0x1f, 0x1a, 0xa3, 0x01, 0x20, - 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x49, 0x4d, 0x45, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x73, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x73, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x41, 0x50, 0x49, 0x73, 0x20, 0x62, 0x75, 0x74, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, - 0x65, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x20, 0x6f, 0x6e, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x41, 0x50, 0x49, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x73, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x0a, 0x20, 0x4d, 0x69, 0x6d, 0x65, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x4a, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x4a, 0x0b, 0x11, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x4a, 0x12, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x4a, 0x1d, 0x1e, 0x0a, 0xb1, 0x01, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x1f, 0x1a, 0xa3, 0x01, 0x20, 0x41, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x49, 0x4d, 0x45, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x72, - 0x6f, 0x64, 0x75, 0x63, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x41, 0x50, 0x49, - 0x73, 0x20, 0x62, 0x75, 0x74, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x64, 0x65, 0x6e, 0x20, 0x6f, 0x6e, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x20, 0x41, 0x50, 0x49, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x73, 0x2e, 0x20, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, - 0x0a, 0x20, 0x4d, 0x69, 0x6d, 0x65, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x4e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x4e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x01, 0x12, 0x03, 0x4e, 0x12, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, - 0x03, 0x12, 0x03, 0x4e, 0x1d, 0x1e, 0x0a, 0x2e, 0x0a, 0x03, 0x04, 0x00, 0x09, 0x12, 0x03, 0x50, - 0x02, 0x0d, 0x1a, 0x22, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x38, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x70, 0x61, - 0x74, 0x68, 0x73, 0x27, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x09, 0x00, 0x12, 0x03, - 0x50, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x01, 0x12, 0x03, 0x50, 0x0b, - 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x02, 0x12, 0x03, 0x50, 0x0b, 0x0c, 0x0a, - 0x83, 0x01, 0x0a, 0x03, 0x04, 0x00, 0x09, 0x12, 0x03, 0x53, 0x02, 0x0d, 0x1a, 0x77, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x20, 0x39, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x27, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x72, - 0x65, 0x61, 0x64, 0x79, 0x0a, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x61, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x09, 0x01, 0x12, 0x03, 0x53, - 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x01, 0x01, 0x12, 0x03, 0x53, 0x0b, 0x0c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x01, 0x02, 0x12, 0x03, 0x53, 0x0b, 0x0c, 0x0a, 0x93, - 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x56, 0x02, 0x27, 0x1a, 0x85, 0x01, 0x20, - 0x41, 0x6e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x68, 0x6f, 0x6c, - 0x64, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x63, 0x72, - 0x6f, 0x73, 0x73, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x64, - 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x67, - 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x56, - 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x56, 0x18, 0x21, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x56, 0x24, 0x26, 0x0a, 0x55, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x58, 0x02, 0x30, 0x1a, 0x48, 0x20, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, - 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x06, 0x12, 0x03, - 0x58, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x58, 0x16, - 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x58, 0x2d, 0x2f, 0x0a, - 0xa1, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x5d, 0x02, 0x2d, 0x1a, 0x93, 0x02, - 0x20, 0x41, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, - 0x66, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, - 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x77, 0x68, 0x6f, 0x6c, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x0a, 0x20, 0x28, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x69, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6c, - 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x4f, 0x52, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x49, - 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x5d, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x5d, 0x0b, 0x1e, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x5d, 0x1f, 0x27, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x5d, 0x2a, 0x2c, 0x0a, 0x97, 0x01, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x60, 0x02, 0x19, 0x1a, 0x89, 0x01, 0x20, 0x41, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x41, 0x50, 0x49, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x20, 0x54, 0x61, 0x67, 0x73, 0x20, - 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x0a, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, - 0x67, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x62, 0x79, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, - 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x03, - 0x60, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x06, 0x12, 0x03, 0x60, 0x0b, - 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x60, 0x0f, 0x13, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x60, 0x16, 0x18, 0x0a, 0x31, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x62, 0x02, 0x2b, 0x1a, 0x24, 0x20, 0x41, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x03, 0x62, 0x02, 0x17, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x62, 0x18, 0x25, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x62, 0x28, 0x2a, 0x0a, 0xeb, 0x01, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x0c, 0x12, 0x03, 0x66, 0x02, 0x35, 0x1a, 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, 0x74, - 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, 0x78, - 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, 0x6f, - 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, 0x65, - 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, - 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, - 0x06, 0x12, 0x03, 0x66, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, - 0x03, 0x66, 0x25, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x66, - 0x32, 0x34, 0x0a, 0xa0, 0x05, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0x82, 0x01, 0x00, 0xb5, 0x01, - 0x01, 0x1a, 0x91, 0x05, 0x20, 0x60, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x27, 0x73, 0x20, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, - 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, - 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, - 0x2e, 0x6d, 0x64, 0x23, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, - 0x20, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x45, 0x63, 0x68, 0x6f, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x70, 0x63, 0x20, - 0x45, 0x63, 0x68, 0x6f, 0x28, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x29, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x28, 0x53, 0x69, 0x6d, - 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x29, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x68, 0x74, 0x74, 0x70, 0x29, 0x20, 0x3d, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x65, 0x74, 0x3a, 0x20, 0x22, 0x2f, - 0x76, 0x31, 0x2f, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2f, 0x65, 0x63, 0x68, 0x6f, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x72, - 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, - 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x20, 0x3d, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, - 0x3a, 0x20, 0x22, 0x47, 0x65, 0x74, 0x20, 0x61, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x2e, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x3a, 0x20, 0x22, 0x67, 0x65, 0x74, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x74, 0x61, 0x67, 0x73, 0x3a, 0x20, 0x22, 0x65, 0x63, 0x68, 0x6f, 0x22, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6b, 0x65, 0x79, - 0x3a, 0x20, 0x22, 0x32, 0x30, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x4f, 0x4b, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, - 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0x82, 0x01, - 0x08, 0x11, 0x0a, 0x98, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0x85, 0x01, 0x02, - 0x1b, 0x1a, 0x89, 0x01, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x61, 0x67, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x41, 0x50, 0x49, 0x20, 0x64, 0x6f, 0x63, 0x75, - 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x2e, 0x20, 0x54, 0x61, 0x67, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x0a, - 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x04, 0x12, 0x04, 0x85, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x85, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x01, 0x19, 0x1a, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x01, 0x12, 0x04, 0x88, 0x01, 0x02, 0x15, 0x1a, 0x88, 0x01, 0x20, 0x41, 0x20, 0x73, 0x68, - 0x6f, 0x72, 0x74, 0x20, 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x77, - 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x20, 0x72, 0x65, 0x61, 0x64, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, - 0x75, 0x69, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x53, - 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x6e, 0x20, 0x31, 0x32, 0x30, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0x88, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x88, 0x01, 0x09, - 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x88, 0x01, 0x13, 0x14, - 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x19, 0x1a, 0x68, - 0x20, 0x41, 0x20, 0x76, 0x65, 0x72, 0x62, 0x6f, 0x73, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6c, 0x61, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, - 0x2e, 0x20, 0x47, 0x46, 0x4d, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x72, 0x69, - 0x63, 0x68, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, - 0x05, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, - 0x12, 0x04, 0x8b, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, - 0x04, 0x8b, 0x01, 0x17, 0x18, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x04, 0x8d, - 0x01, 0x02, 0x2a, 0x1a, 0x37, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x18, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x03, 0x03, 0x12, 0x04, 0x8d, 0x01, 0x28, 0x29, 0x0a, 0x9f, 0x02, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x04, 0x12, 0x04, 0x92, 0x01, 0x02, 0x1a, 0x1a, 0x90, 0x02, 0x20, 0x55, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, - 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, - 0x61, 0x6d, 0x6f, 0x6e, 0x67, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x54, 0x6f, 0x6f, 0x6c, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x20, - 0x4d, 0x41, 0x59, 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x6c, 0x79, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x20, 0x61, 0x6e, - 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x63, - 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x0a, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x6f, 0x6c, - 0x6c, 0x6f, 0x77, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, - 0x6e, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x04, 0x05, 0x12, 0x04, 0x92, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x04, 0x01, 0x12, 0x04, 0x92, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x04, 0x03, 0x12, 0x04, 0x92, 0x01, 0x18, 0x19, 0x0a, 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x05, 0x12, 0x04, 0x96, 0x01, 0x02, 0x1f, 0x1a, 0xd9, 0x01, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x49, 0x4d, 0x45, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, - 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x73, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x41, 0x59, 0x20, 0x62, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, - 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x4d, 0x69, 0x6d, 0x65, 0x20, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x04, 0x12, 0x04, 0x96, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x05, 0x12, 0x04, 0x96, 0x01, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0x96, 0x01, 0x12, 0x1a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, 0x96, 0x01, 0x1d, 0x1e, 0x0a, - 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x1f, 0x1a, 0xd9, - 0x01, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x49, 0x4d, 0x45, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, - 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x73, 0x0a, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x20, 0x41, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x4d, 0x41, 0x59, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x6c, 0x65, 0x61, 0x72, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x64, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x4d, 0x69, - 0x6d, 0x65, 0x20, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x06, 0x04, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x06, 0x05, 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, - 0x01, 0x12, 0x04, 0x9a, 0x01, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x03, - 0x12, 0x04, 0x9a, 0x01, 0x1d, 0x1e, 0x0a, 0x34, 0x0a, 0x03, 0x04, 0x01, 0x09, 0x12, 0x04, 0x9c, - 0x01, 0x02, 0x0d, 0x1a, 0x27, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x38, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x01, 0x09, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x09, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x09, - 0x00, 0x02, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x63, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, - 0x12, 0x04, 0x9f, 0x01, 0x02, 0x26, 0x1a, 0x55, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x0a, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x07, 0x06, 0x12, 0x04, 0x9f, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x18, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x07, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x24, 0x25, 0x0a, 0xb2, 0x01, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x08, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x1f, 0x1a, 0xa3, 0x01, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x4d, 0x55, 0x53, - 0x54, 0x20, 0x62, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x3a, 0x0a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x22, 0x2c, 0x20, 0x22, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x77, 0x73, 0x22, 0x2c, 0x20, 0x22, 0x77, 0x73, 0x73, - 0x22, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x65, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x04, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x08, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x1c, 0x1e, 0x0a, 0x87, 0x01, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x09, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x17, 0x1a, 0x79, 0x20, 0x44, 0x65, 0x63, - 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x55, 0x73, 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x6f, 0x70, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, - 0x65, 0x20, 0x72, 0x65, 0x66, 0x72, 0x61, 0x69, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x44, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x05, 0x12, 0x04, - 0xa6, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x01, 0x12, 0x04, 0xa6, - 0x01, 0x07, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x03, 0x12, 0x04, 0xa6, 0x01, - 0x14, 0x16, 0x0a, 0xee, 0x02, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0a, 0x12, 0x04, 0xac, 0x01, 0x02, - 0x2d, 0x1a, 0xdf, 0x02, 0x20, 0x41, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x0a, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x0a, 0x20, 0x28, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x69, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6c, - 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x4f, 0x52, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x29, 0x2e, 0x20, 0x54, 0x68, - 0x69, 0x73, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x64, 0x65, 0x63, - 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x70, 0x2d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, - 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x72, 0x65, 0x6d, - 0x6f, 0x76, 0x65, 0x20, 0x61, 0x20, 0x74, 0x6f, 0x70, 0x2d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x0a, - 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xac, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xac, 0x01, 0x0b, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xac, 0x01, 0x1f, 0x27, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xac, 0x01, 0x2a, 0x2c, 0x0a, - 0xec, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0b, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x35, 0x1a, 0xdd, - 0x01, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x22, 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, - 0x20, 0x22, 0x78, 0x2d, 0x66, 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, - 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, - 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, - 0x72, 0x64, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, - 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, - 0x72, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xb0, 0x01, 0x32, 0x34, 0x0a, 0xc3, 0x01, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x0c, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x1d, 0x1a, 0xb4, 0x01, 0x20, 0x43, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, - 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, - 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x62, 0x69, 0x6e, 0x67, 0x2d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x2f, 0x0a, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x23, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x0c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xb4, 0x01, 0x0d, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xb4, 0x01, 0x1a, 0x1c, 0x0a, 0x9a, - 0x03, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xbc, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x1a, 0x8b, 0x03, - 0x20, 0x60, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x60, 0x20, 0x69, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x74, - 0x65, 0x63, 0x68, 0x6e, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x62, 0x72, 0x65, 0x61, 0x6b, - 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x61, 0x74, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, - 0x20, 0x32, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x61, 0x73, 0x20, 0x77, 0x65, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x0a, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, - 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x68, 0x65, 0x72, 0x65, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, - 0x20, 0x77, 0x65, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, - 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x0a, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x62, - 0x65, 0x79, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x65, - 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x20, - 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, - 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x23, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x02, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x08, 0x12, 0x0a, 0x99, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x00, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x27, 0x1a, 0x8a, 0x01, 0x20, 0x60, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, - 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x62, 0x69, 0x6e, 0x67, 0x2d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x2f, 0x23, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbf, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbf, 0x01, - 0x0b, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x1b, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x25, 0x26, - 0x0a, 0x76, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0xc4, 0x01, 0x00, 0xde, 0x01, 0x01, 0x1a, 0x68, - 0x20, 0x60, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x60, 0x20, 0x61, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, - 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, - 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x23, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, - 0x04, 0xc4, 0x01, 0x08, 0x17, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x03, 0x04, 0x00, 0x12, 0x06, 0xc7, - 0x01, 0x02, 0xcd, 0x01, 0x03, 0x1a, 0x62, 0x20, 0x60, 0x54, 0x79, 0x70, 0x65, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x48, 0x54, - 0x54, 0x50, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x0a, - 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, - 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x23, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x04, - 0x00, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x07, 0x0b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x03, 0x04, 0x00, - 0x02, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x04, 0x0b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x04, - 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xc8, 0x01, 0x0e, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x03, - 0x04, 0x00, 0x02, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x04, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, - 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x03, 0x04, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xc9, 0x01, 0x0d, 0x0e, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0xca, 0x01, 0x04, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xca, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xca, 0x01, 0x0d, 0x0e, 0x0a, 0x0e, - 0x0a, 0x06, 0x04, 0x03, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x04, 0x10, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x04, 0x0b, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0xcb, 0x01, 0x0e, 0x0f, - 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x03, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0xcc, 0x01, 0x04, 0x10, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x04, - 0x0b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x04, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0xcc, 0x01, - 0x0e, 0x0f, 0x0a, 0x2a, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x12, - 0x1a, 0x1c, 0x20, 0x60, 0x4e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x10, 0x11, 0x0a, 0x43, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x19, 0x1a, 0x35, 0x20, 0x60, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x09, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd2, 0x01, 0x17, 0x18, 0x0a, 0xd5, 0x01, - 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x10, 0x1a, 0xc6, 0x01, 0x20, - 0x60, 0x54, 0x79, 0x70, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, - 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x22, 0x2c, 0x20, 0x22, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x20, 0x22, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, 0x22, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x22, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, - 0x2e, 0x69, 0x6f, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x76, 0x32, 0x2f, 0x23, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, - 0x79, 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, 0x12, 0x04, - 0xd5, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd5, - 0x01, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd5, 0x01, - 0x0e, 0x0f, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x14, - 0x1a, 0x42, 0x20, 0x60, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x60, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd7, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd7, 0x01, - 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x12, - 0x13, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x14, 0x1a, - 0x30, 0x20, 0x60, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x60, 0x20, 0x69, 0x6e, 0x64, - 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x65, - 0x61, 0x64, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x07, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x12, 0x13, 0x0a, 0x4c, - 0x0a, 0x03, 0x04, 0x03, 0x09, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x0d, 0x1a, 0x3f, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x36, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2c, 0x20, 0x62, - 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x77, 0x61, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x03, 0x09, 0x00, 0x12, 0x04, 0xdb, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x09, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x09, - 0x00, 0x02, 0x12, 0x04, 0xdb, 0x01, 0x0b, 0x0c, 0x0a, 0x71, 0x0a, 0x03, 0x04, 0x03, 0x09, 0x12, - 0x04, 0xdd, 0x01, 0x02, 0x0d, 0x1a, 0x64, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x37, 0x20, - 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x60, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x60, 0x2e, - 0x20, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x72, 0x72, 0x61, - 0x79, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x03, 0x09, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x09, - 0x01, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x09, 0x01, - 0x02, 0x12, 0x04, 0xdd, 0x01, 0x0b, 0x0c, 0x0a, 0xb7, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, - 0xe4, 0x01, 0x00, 0x8b, 0x02, 0x01, 0x1a, 0xa8, 0x01, 0x20, 0x60, 0x48, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, - 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, - 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, - 0x6d, 0x64, 0x23, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0xe4, 0x01, 0x08, 0x0e, 0x0a, 0x43, - 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x19, 0x1a, 0x35, 0x20, 0x60, - 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe6, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x09, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x17, 0x18, - 0x0a, 0x91, 0x01, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x12, 0x1a, - 0x82, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x6f, 0x6e, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x22, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x2c, 0x20, 0x22, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x22, 0x2c, 0x20, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x65, 0x72, - 0x22, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x22, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x22, 0x61, 0x72, 0x72, 0x61, 0x79, 0x22, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe8, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe8, 0x01, - 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x10, - 0x11, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0xea, 0x01, 0x02, 0x14, 0x1a, - 0x42, 0x20, 0x60, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x60, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, - 0x78, 0x74, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, - 0x6c, 0x79, 0x20, 0x6d, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x04, 0xea, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xea, 0x01, 0x09, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0xea, 0x01, 0x12, 0x13, - 0x0a, 0x4c, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xec, 0x01, 0x02, 0x0d, 0x1a, 0x3f, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x34, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2c, - 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x77, 0x61, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x04, 0x09, 0x00, 0x12, 0x04, 0xec, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x09, 0x00, 0x01, 0x12, 0x04, 0xec, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x09, 0x00, 0x02, 0x12, 0x04, 0xec, 0x01, 0x0b, 0x0c, 0x0a, 0x70, 0x0a, 0x03, 0x04, 0x04, - 0x09, 0x12, 0x04, 0xee, 0x01, 0x02, 0x0d, 0x1a, 0x63, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x35, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x60, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x60, 0x20, 0x44, 0x65, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x72, 0x72, 0x61, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x09, 0x01, 0x12, 0x04, 0xee, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x09, 0x01, 0x01, 0x12, 0x04, 0xee, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, - 0x01, 0x02, 0x12, 0x04, 0xee, 0x01, 0x0b, 0x0c, 0x0a, 0x8c, 0x02, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x03, 0x12, 0x04, 0xf2, 0x01, 0x02, 0x15, 0x1a, 0xfd, 0x01, 0x20, 0x60, 0x44, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x60, 0x20, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x75, 0x73, 0x65, 0x20, 0x69, - 0x66, 0x20, 0x6e, 0x6f, 0x6e, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, - 0x2f, 0x68, 0x74, 0x6d, 0x6c, 0x2f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x2d, 0x66, 0x67, 0x65, 0x2d, - 0x6a, 0x73, 0x6f, 0x6e, 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2d, 0x76, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x30, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2d, 0x36, 0x2e, 0x32, 0x2e, 0x0a, 0x20, 0x55, 0x6e, 0x6c, 0x69, 0x6b, 0x65, 0x20, 0x4a, - 0x53, 0x4f, 0x4e, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, - 0x12, 0x04, 0xf2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xf2, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xf2, 0x01, 0x13, 0x14, 0x0a, 0x31, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xf4, 0x01, 0x02, - 0x0d, 0x1a, 0x24, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x37, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, 0x61, 0x78, - 0x69, 0x6d, 0x75, 0x6d, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x02, 0x12, - 0x04, 0xf4, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, - 0xf4, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xf4, - 0x01, 0x0b, 0x0c, 0x0a, 0x3a, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x0d, - 0x1a, 0x2d, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x38, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x65, 0x78, 0x63, 0x6c, - 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x27, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x03, 0x12, 0x04, 0xf6, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x09, 0x03, 0x01, 0x12, 0x04, 0xf6, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x09, 0x03, 0x02, 0x12, 0x04, 0xf6, 0x01, 0x0b, 0x0c, 0x0a, 0x31, 0x0a, 0x03, 0x04, - 0x04, 0x09, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x0d, 0x1a, 0x24, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x20, 0x39, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x27, 0x6d, 0x69, 0x6e, 0x69, 0x6d, 0x75, 0x6d, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x04, 0x09, 0x04, 0x12, 0x04, 0xf8, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x09, 0x04, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x09, 0x04, 0x02, 0x12, 0x04, 0xf8, 0x01, 0x0b, 0x0c, 0x0a, 0x3b, 0x0a, 0x03, 0x04, 0x04, - 0x09, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x0e, 0x1a, 0x2e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x31, 0x30, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x27, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x4d, 0x69, 0x6e, - 0x69, 0x6d, 0x75, 0x6d, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x05, 0x12, - 0x04, 0xfa, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x05, 0x01, 0x12, 0x04, - 0xfa, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x05, 0x02, 0x12, 0x04, 0xfa, - 0x01, 0x0b, 0x0d, 0x0a, 0x34, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0e, - 0x1a, 0x27, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x31, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, 0x61, 0x78, - 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, - 0x06, 0x12, 0x04, 0xfc, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x06, 0x01, - 0x12, 0x04, 0xfc, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x06, 0x02, 0x12, - 0x04, 0xfc, 0x01, 0x0b, 0x0d, 0x0a, 0x34, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0xfe, 0x01, - 0x02, 0x0e, 0x1a, 0x27, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x32, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, - 0x69, 0x6e, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x04, 0x09, 0x07, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, - 0x07, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x07, - 0x02, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x0d, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, - 0x04, 0x80, 0x02, 0x02, 0x16, 0x1a, 0x5e, 0x20, 0x27, 0x50, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, - 0x27, 0x20, 0x53, 0x65, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x74, 0x6f, - 0x6f, 0x6c, 0x73, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x68, 0x74, 0x6d, - 0x6c, 0x2f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x2d, 0x66, 0x67, 0x65, 0x2d, 0x6a, 0x73, 0x6f, 0x6e, - 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x30, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x35, 0x2e, - 0x32, 0x2e, 0x33, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x05, 0x12, 0x04, - 0x80, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x04, 0x80, - 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x04, 0x80, 0x02, - 0x13, 0x15, 0x0a, 0x33, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0x82, 0x02, 0x02, 0x0e, 0x1a, - 0x26, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x34, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, 0x61, 0x78, 0x49, - 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x08, 0x12, - 0x04, 0x82, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x08, 0x01, 0x12, 0x04, - 0x82, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x08, 0x02, 0x12, 0x04, 0x82, - 0x02, 0x0b, 0x0d, 0x0a, 0x33, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0x84, 0x02, 0x02, 0x0e, - 0x1a, 0x26, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x35, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, 0x69, 0x6e, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, 0x09, - 0x12, 0x04, 0x84, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x09, 0x01, 0x12, - 0x04, 0x84, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x09, 0x02, 0x12, 0x04, - 0x84, 0x02, 0x0b, 0x0d, 0x0a, 0x36, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0x86, 0x02, 0x02, - 0x0e, 0x1a, 0x29, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x36, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x09, 0x0a, 0x12, 0x04, 0x86, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x09, 0x0a, 0x01, 0x12, 0x04, 0x86, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, - 0x0a, 0x02, 0x12, 0x04, 0x86, 0x02, 0x0b, 0x0d, 0x0a, 0x2f, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, - 0x04, 0x88, 0x02, 0x02, 0x0e, 0x1a, 0x22, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x37, - 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x27, 0x65, 0x6e, 0x75, 0x6d, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x09, - 0x0b, 0x12, 0x04, 0x88, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x0b, 0x01, - 0x12, 0x04, 0x88, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, 0x0b, 0x02, 0x12, - 0x04, 0x88, 0x02, 0x0b, 0x0d, 0x0a, 0x35, 0x0a, 0x03, 0x04, 0x04, 0x09, 0x12, 0x04, 0x8a, 0x02, - 0x02, 0x0e, 0x1a, 0x28, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x38, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x4f, 0x66, 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x04, 0x09, 0x0c, 0x12, 0x04, 0x8a, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x09, 0x0c, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x09, - 0x0c, 0x02, 0x12, 0x04, 0x8a, 0x02, 0x0b, 0x0d, 0x0a, 0xbd, 0x01, 0x0a, 0x02, 0x04, 0x05, 0x12, - 0x06, 0x91, 0x02, 0x00, 0xa3, 0x02, 0x01, 0x1a, 0xae, 0x01, 0x20, 0x60, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, - 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, - 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, - 0x04, 0x91, 0x02, 0x08, 0x10, 0x0a, 0x7b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x94, - 0x02, 0x02, 0x19, 0x1a, 0x6d, 0x20, 0x60, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x47, 0x46, 0x4d, - 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x69, 0x63, 0x68, 0x20, 0x74, 0x65, 0x78, - 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0x94, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x02, 0x09, 0x14, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x02, 0x17, 0x18, 0x0a, - 0x97, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0x97, 0x02, 0x02, 0x14, 0x1a, 0x88, - 0x01, 0x20, 0x60, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x60, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, - 0x20, 0x60, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x60, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x65, - 0x61, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x01, 0x06, 0x12, 0x04, 0x97, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, - 0x01, 0x12, 0x04, 0x97, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, - 0x12, 0x04, 0x97, 0x02, 0x12, 0x13, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, - 0x04, 0x9b, 0x02, 0x02, 0x22, 0x1a, 0xda, 0x01, 0x20, 0x60, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x73, 0x60, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, 0x65, - 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x60, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x60, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x6f, 0x6e, 0x69, 0x63, 0x61, 0x6c, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4d, - 0x49, 0x4d, 0x45, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6b, 0x65, 0x79, 0x0a, 0x20, - 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6c, - 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x6e, 0x65, 0x74, 0x2f, - 0x74, 0x65, 0x78, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x23, 0x43, 0x61, 0x6e, 0x6f, 0x6e, - 0x69, 0x63, 0x61, 0x6c, 0x4d, 0x49, 0x4d, 0x45, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x4b, 0x65, - 0x79, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0x9b, 0x02, 0x02, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x02, 0x16, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9b, 0x02, 0x20, 0x21, 0x0a, - 0x9e, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x23, 0x1a, 0x8f, - 0x01, 0x20, 0x60, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x67, 0x69, 0x76, - 0x65, 0x73, 0x20, 0x70, 0x65, 0x72, 0x2d, 0x6d, 0x69, 0x6d, 0x65, 0x74, 0x79, 0x70, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x73, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, - 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, - 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, - 0x23, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2d, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9e, 0x02, 0x16, 0x1e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9e, 0x02, 0x21, 0x22, 0x0a, 0xec, 0x01, - 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xa2, 0x02, 0x02, 0x34, 0x1a, 0xdd, 0x01, 0x20, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x22, 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, - 0x78, 0x2d, 0x66, 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, - 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, - 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, - 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xa2, 0x02, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa2, 0x02, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x04, 0x03, 0x12, 0x04, 0xa2, 0x02, 0x32, 0x33, 0x0a, 0xa1, 0x05, 0x0a, 0x02, 0x04, 0x06, - 0x12, 0x06, 0xbd, 0x02, 0x00, 0xd0, 0x02, 0x01, 0x1a, 0x92, 0x05, 0x20, 0x60, 0x49, 0x6e, 0x66, - 0x6f, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, - 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, - 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, - 0x23, 0x69, 0x6e, 0x66, 0x6f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x45, 0x78, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x29, 0x20, 0x3d, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x20, 0x7b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x45, 0x63, 0x68, - 0x6f, 0x20, 0x41, 0x50, 0x49, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, - 0x20, 0x22, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x6c, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, - 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, - 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x6e, 0x65, 0x40, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x22, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x42, 0x53, 0x44, 0x20, 0x33, 0x2d, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x6c, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, - 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x22, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xbd, 0x02, 0x08, 0x0c, 0x0a, 0x2d, 0x0a, 0x04, 0x04, 0x06, - 0x02, 0x00, 0x12, 0x04, 0xbf, 0x02, 0x02, 0x13, 0x1a, 0x1f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xbf, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xbf, 0x02, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xbf, 0x02, 0x11, 0x12, 0x0a, 0x6d, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, - 0xc2, 0x02, 0x02, 0x19, 0x1a, 0x5f, 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x47, - 0x46, 0x4d, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x69, 0x63, 0x68, 0x0a, 0x20, - 0x74, 0x65, 0x78, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xc2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc2, - 0x02, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc2, 0x02, - 0x17, 0x18, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xc4, 0x02, 0x02, 0x1e, - 0x1a, 0x23, 0x20, 0x54, 0x68, 0x65, 0x20, 0x54, 0x65, 0x72, 0x6d, 0x73, 0x20, 0x6f, 0x66, 0x20, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, - 0xc4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc4, - 0x02, 0x09, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc4, 0x02, - 0x1c, 0x1d, 0x0a, 0x3c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0xc6, 0x02, 0x02, 0x16, - 0x1a, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x06, 0x12, 0x04, 0xc6, 0x02, 0x02, 0x09, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc6, 0x02, 0x0a, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc6, 0x02, 0x14, 0x15, 0x0a, 0x3c, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0xc8, 0x02, 0x02, 0x16, 0x1a, 0x2e, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, - 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc8, 0x02, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x04, 0x01, 0x12, 0x04, 0xc8, 0x02, 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x04, 0x03, 0x12, 0x04, 0xc8, 0x02, 0x14, 0x15, 0x0a, 0x71, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, - 0x12, 0x04, 0xcb, 0x02, 0x02, 0x15, 0x1a, 0x63, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x41, 0x50, 0x49, 0x20, 0x28, 0x6e, 0x6f, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x75, 0x73, 0x65, 0x64, 0x0a, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x05, 0x05, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x05, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x05, 0x03, 0x12, 0x04, 0xcb, 0x02, 0x13, 0x14, 0x0a, 0xec, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, - 0x06, 0x12, 0x04, 0xcf, 0x02, 0x02, 0x34, 0x1a, 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, 0x78, 0x2d, - 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, 0x6f, 0x6f, - 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x73, - 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x32, - 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x06, - 0x12, 0x04, 0xcf, 0x02, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xcf, 0x02, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xcf, 0x02, 0x32, 0x33, 0x0a, 0xe7, 0x03, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xe5, 0x02, 0x00, - 0xee, 0x02, 0x01, 0x1a, 0xd8, 0x03, 0x20, 0x60, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x27, 0x73, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, - 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, - 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, - 0x64, 0x23, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, - 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, - 0x72, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x3a, - 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x67, 0x52, 0x50, - 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x6c, 0x3a, - 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x3a, 0x20, 0x22, 0x6e, 0x6f, 0x6e, 0x65, 0x40, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2e, - 0x63, 0x6f, 0x6d, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x08, 0x0f, 0x0a, 0x48, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x00, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x12, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xe7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe7, - 0x02, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe7, 0x02, - 0x10, 0x11, 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xea, 0x02, 0x02, 0x11, - 0x1a, 0x4f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x63, 0x74, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, - 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x0a, 0x20, 0x55, 0x52, 0x4c, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xea, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xea, 0x02, 0x09, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xea, 0x02, 0x0f, 0x10, 0x0a, 0x71, - 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x04, 0xed, 0x02, 0x02, 0x13, 0x1a, 0x63, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, - 0x70, 0x65, 0x72, 0x73, 0x6f, 0x6e, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x0e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0xed, 0x02, 0x11, 0x12, 0x0a, 0xd6, - 0x03, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x82, 0x03, 0x00, 0x87, 0x03, 0x01, 0x1a, 0xc7, 0x03, - 0x20, 0x60, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, - 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, - 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x6c, 0x69, 0x63, 0x65, - 0x6e, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x7b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3a, 0x20, 0x22, 0x42, 0x53, 0x44, 0x20, 0x33, 0x2d, 0x43, 0x6c, 0x61, - 0x75, 0x73, 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x0a, 0x20, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x6c, 0x3a, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, - 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, - 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x22, 0x3b, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, - 0x0a, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, - 0x82, 0x03, 0x08, 0x0f, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x84, 0x03, - 0x02, 0x12, 0x1a, 0x24, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x84, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x84, 0x03, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x84, 0x03, 0x10, 0x11, 0x0a, 0x56, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0x86, - 0x03, 0x02, 0x11, 0x1a, 0x48, 0x20, 0x41, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x4d, 0x55, 0x53, - 0x54, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0x86, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0x86, 0x03, 0x09, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0x86, 0x03, 0x0f, 0x10, 0x0a, 0xd7, 0x03, 0x0a, 0x02, 0x04, - 0x09, 0x12, 0x06, 0x99, 0x03, 0x00, 0xa0, 0x03, 0x01, 0x1a, 0xc8, 0x03, 0x20, 0x60, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, 0x20, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, - 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, - 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, - 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, - 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, - 0x65, 0x72, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, - 0x73, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x4d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x72, 0x6c, 0x3a, 0x20, 0x22, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x22, 0x3b, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, - 0x7d, 0x3b, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x99, 0x03, 0x08, - 0x1d, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x9c, 0x03, 0x02, 0x19, 0x1a, - 0x68, 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, - 0x67, 0x65, 0x74, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x20, 0x47, 0x46, 0x4d, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x0a, 0x20, 0x72, - 0x69, 0x63, 0x68, 0x20, 0x74, 0x65, 0x78, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, - 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x00, 0x05, 0x12, 0x04, 0x9c, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x9c, 0x03, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, - 0x12, 0x04, 0x9c, 0x03, 0x17, 0x18, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, - 0x9f, 0x03, 0x02, 0x11, 0x1a, 0x4e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x55, - 0x52, 0x4c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9f, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9f, 0x03, - 0x09, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9f, 0x03, 0x0f, - 0x10, 0x0a, 0xb7, 0x01, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xa6, 0x03, 0x00, 0xbb, 0x03, 0x01, - 0x1a, 0xa8, 0x01, 0x20, 0x60, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, - 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0a, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x08, 0x0e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, - 0x12, 0x04, 0xa7, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xa7, 0x03, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xa7, 0x03, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, - 0x03, 0x1b, 0x1c, 0x0a, 0xe7, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xad, 0x03, - 0x02, 0x1b, 0x1a, 0xd8, 0x02, 0x20, 0x41, 0x64, 0x64, 0x73, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, - 0x72, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x70, 0x6f, 0x6c, 0x79, 0x6d, 0x6f, 0x72, 0x70, 0x68, - 0x69, 0x73, 0x6d, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x69, 0x73, 0x63, 0x72, 0x69, 0x6d, - 0x69, 0x6e, 0x61, 0x74, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x0a, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x74, - 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x6e, 0x68, 0x65, - 0x72, 0x69, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x4d, - 0x55, 0x53, 0x54, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x4d, 0x55, 0x53, 0x54, - 0x20, 0x62, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x0a, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x72, 0x20, - 0x61, 0x6e, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x69, 0x6e, 0x68, 0x65, 0x72, 0x69, 0x74, 0x73, 0x20, 0x69, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xad, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xad, 0x03, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xad, 0x03, 0x19, 0x1a, 0x0a, 0xca, 0x02, 0x0a, 0x04, 0x04, - 0x0a, 0x02, 0x02, 0x12, 0x04, 0xb3, 0x03, 0x02, 0x15, 0x1a, 0xbb, 0x02, 0x20, 0x52, 0x65, 0x6c, - 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x53, - 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x22, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, - 0x73, 0x22, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, - 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x61, 0x73, 0x0a, 0x20, 0x22, 0x72, 0x65, 0x61, 0x64, 0x20, - 0x6f, 0x6e, 0x6c, 0x79, 0x22, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x74, 0x20, 0x4d, 0x41, 0x59, 0x20, 0x62, 0x65, - 0x20, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x62, 0x75, 0x74, 0x20, - 0x4d, 0x55, 0x53, 0x54, 0x0a, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x6e, - 0x74, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x72, - 0x65, 0x61, 0x64, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x0a, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x20, 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x62, - 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, - 0x64, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x20, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xb3, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xb3, 0x03, 0x07, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xb3, 0x03, 0x13, 0x14, 0x0a, 0x2d, 0x0a, 0x03, 0x04, 0x0a, 0x09, 0x12, 0x04, 0xb5, 0x03, 0x02, - 0x0d, 0x1a, 0x20, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x34, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x78, 0x6d, 0x6c, - 0x27, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x09, 0x00, 0x12, 0x04, 0xb5, 0x03, 0x0b, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x09, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x03, 0x0b, 0x0c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x09, 0x00, 0x02, 0x12, 0x04, 0xb5, 0x03, 0x0b, 0x0c, 0x0a, - 0x42, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0xb7, 0x03, 0x02, 0x2a, 0x1a, 0x34, 0x20, - 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, - 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb7, 0x03, - 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb7, 0x03, 0x18, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb7, 0x03, 0x28, 0x29, - 0x0a, 0x8a, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0xba, 0x03, 0x02, 0x15, 0x1a, - 0x7c, 0x20, 0x41, 0x20, 0x66, 0x72, 0x65, 0x65, 0x2d, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x69, 0x6e, 0x20, 0x4a, - 0x53, 0x4f, 0x4e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, - 0x70, 0x69, 0x65, 0x64, 0x20, 0x76, 0x65, 0x72, 0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0xba, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0xba, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0xba, 0x03, 0x13, 0x14, 0x0a, 0xc6, 0x03, 0x0a, 0x02, 0x04, - 0x0b, 0x12, 0x06, 0xcc, 0x03, 0x00, 0xe2, 0x03, 0x01, 0x1a, 0xb7, 0x03, 0x20, 0x60, 0x45, 0x6e, - 0x75, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, 0x75, 0x62, - 0x73, 0x65, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, - 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, - 0x73, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x0a, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, - 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, - 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, - 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x29, 0x20, 0x3d, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x4d, 0x79, 0x45, 0x6e, 0x75, - 0x6d, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x3a, 0x22, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x79, 0x20, - 0x6e, 0x69, 0x63, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x22, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, - 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x5a, 0x45, 0x52, 0x4f, 0x22, 0x3b, - 0x0a, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3a, 0x20, 0x74, - 0x72, 0x75, 0x65, 0x3b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2e, 0x2e, 0x2e, 0x0a, 0x20, 0x20, 0x7d, - 0x3b, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xcc, 0x03, 0x08, 0x12, - 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xce, 0x03, 0x02, 0x19, 0x1a, 0x24, - 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xce, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x03, - 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x03, 0x17, - 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x02, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xcf, 0x03, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcf, 0x03, 0x13, 0x14, 0x0a, 0x28, 0x0a, 0x04, - 0x04, 0x0b, 0x02, 0x02, 0x12, 0x04, 0xd1, 0x03, 0x02, 0x13, 0x1a, 0x1a, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x05, 0x12, - 0x04, 0xd1, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xd1, 0x03, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd1, - 0x03, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x03, 0x12, 0x04, 0xd2, 0x03, 0x02, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd2, 0x03, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x03, 0x07, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd2, 0x03, 0x12, 0x13, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x04, 0x12, 0x04, 0xd3, 0x03, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd3, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd3, 0x03, 0x07, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x04, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x13, 0x14, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x0b, 0x02, - 0x05, 0x12, 0x04, 0xd5, 0x03, 0x02, 0x2a, 0x1a, 0x34, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x64, 0x6f, - 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x05, 0x06, 0x12, 0x04, 0xd5, 0x03, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x05, 0x01, 0x12, 0x04, 0xd5, 0x03, 0x18, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x05, 0x03, 0x12, 0x04, 0xd5, 0x03, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, - 0x02, 0x06, 0x12, 0x04, 0xd6, 0x03, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, - 0x05, 0x12, 0x04, 0xd6, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x01, - 0x12, 0x04, 0xd6, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x06, 0x03, 0x12, - 0x04, 0xd6, 0x03, 0x13, 0x14, 0x0a, 0xc5, 0x02, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x07, 0x12, 0x04, - 0xdd, 0x03, 0x02, 0x11, 0x1a, 0xb6, 0x02, 0x20, 0x52, 0x65, 0x66, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, - 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x62, 0x65, 0x20, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x6e, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, - 0x66, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x76, 0x65, 0x72, 0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x20, 0x20, 0x60, 0x72, 0x65, 0x66, 0x3a, 0x20, 0x22, 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, 0x22, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x07, 0x05, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x07, 0x01, 0x12, 0x04, 0xdd, 0x03, 0x09, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x07, 0x03, 0x12, 0x04, 0xdd, 0x03, 0x0f, 0x10, 0x0a, 0xec, 0x01, 0x0a, 0x04, 0x04, - 0x0b, 0x02, 0x08, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x34, 0x1a, 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, - 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, - 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x08, 0x06, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x08, - 0x01, 0x12, 0x04, 0xe1, 0x03, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x08, 0x03, - 0x12, 0x04, 0xe1, 0x03, 0x32, 0x33, 0x0a, 0xe0, 0x06, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0x80, - 0x04, 0x00, 0xee, 0x04, 0x01, 0x1a, 0xd1, 0x06, 0x20, 0x60, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, - 0x68, 0x65, 0x6d, 0x61, 0x60, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, - 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x74, 0x61, 0x6b, - 0x65, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2c, - 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, - 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x73, 0x20, 0x6d, 0x61, 0x64, 0x65, 0x20, 0x62, 0x79, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x20, 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, - 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, - 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x3a, 0x20, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x73, 0x77, 0x72, 0x2e, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x69, 0x6f, 0x2f, 0x4a, 0x73, 0x6f, 0x6e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2f, - 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x61, 0x73, 0x69, 0x63, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x2c, 0x0a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x2d, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2d, 0x6f, 0x72, 0x67, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x2d, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x61, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x6a, 0x73, 0x6f, 0x6e, 0x0a, - 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x0a, 0x0a, 0x20, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x29, 0x20, 0x3d, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6a, 0x73, 0x6f, 0x6e, 0x5f, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x61, 0x3a, 0x20, 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, - 0x69, 0x74, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x53, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x41, 0x20, 0x73, 0x69, - 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x22, 0x0a, 0x20, - 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x3a, - 0x20, 0x5b, 0x22, 0x69, 0x64, 0x22, 0x5d, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x7d, 0x0a, - 0x20, 0x20, 0x20, 0x20, 0x7d, 0x3b, 0x0a, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x2f, 0x2f, 0x20, 0x49, - 0x64, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x69, 0x64, 0x20, 0x3d, 0x20, 0x31, 0x3b, 0x20, 0x5b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x28, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, - 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x29, 0x20, 0x3d, 0x20, - 0x7b, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x20, 0x22, 0x54, 0x68, 0x65, 0x20, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x7d, 0x5d, 0x3b, 0x0a, 0x20, 0x20, 0x7d, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, - 0x12, 0x04, 0x80, 0x04, 0x08, 0x12, 0x0a, 0x46, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0x82, - 0x04, 0x02, 0x0d, 0x1a, 0x39, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x24, - 0x69, 0x64, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x00, 0x12, 0x04, 0x82, 0x04, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x09, 0x00, 0x01, 0x12, 0x04, 0x82, 0x04, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x09, 0x00, 0x02, 0x12, 0x04, 0x82, 0x04, 0x0b, 0x0c, 0x0a, 0x4a, 0x0a, 0x03, 0x04, 0x0c, - 0x09, 0x12, 0x04, 0x84, 0x04, 0x02, 0x0d, 0x1a, 0x3d, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x32, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x27, 0x24, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x20, 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x01, 0x12, 0x04, - 0x84, 0x04, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x01, 0x01, 0x12, 0x04, 0x84, - 0x04, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x01, 0x02, 0x12, 0x04, 0x84, 0x04, - 0x0b, 0x0c, 0x0a, 0xc5, 0x02, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0x8b, 0x04, 0x02, - 0x11, 0x1a, 0xb6, 0x02, 0x20, 0x52, 0x65, 0x66, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x66, 0x75, 0x6c, - 0x6c, 0x79, 0x20, 0x71, 0x75, 0x61, 0x6c, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x65, 0x66, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x76, 0x65, 0x72, - 0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x75, 0x74, - 0x70, 0x75, 0x74, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x3a, 0x0a, 0x20, 0x20, 0x60, 0x72, 0x65, 0x66, 0x3a, 0x20, 0x22, 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, 0x22, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x8b, 0x04, 0x09, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x8b, 0x04, 0x0f, 0x10, 0x0a, 0x4b, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, - 0x8d, 0x04, 0x02, 0x0d, 0x1a, 0x3e, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x34, 0x20, 0x69, - 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, - 0x24, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x02, 0x12, 0x04, 0x8d, 0x04, - 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x02, 0x01, 0x12, 0x04, 0x8d, 0x04, 0x0b, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x02, 0x02, 0x12, 0x04, 0x8d, 0x04, 0x0b, 0x0c, - 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x02, 0x13, 0x1a, 0x1a, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x8f, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x8f, 0x04, 0x11, 0x12, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, - 0x04, 0x91, 0x04, 0x02, 0x19, 0x1a, 0x24, 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x02, 0x05, 0x12, 0x04, 0x91, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x02, 0x01, 0x12, 0x04, 0x91, 0x04, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x02, 0x03, 0x12, 0x04, 0x91, 0x04, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x03, - 0x12, 0x04, 0x92, 0x04, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x05, 0x12, - 0x04, 0x92, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x01, 0x12, 0x04, - 0x92, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x03, 0x12, 0x04, 0x92, - 0x04, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x04, 0x12, 0x04, 0x93, 0x04, 0x02, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x05, 0x12, 0x04, 0x93, 0x04, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x01, 0x12, 0x04, 0x93, 0x04, 0x07, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x03, 0x12, 0x04, 0x93, 0x04, 0x13, 0x14, 0x0a, 0xf5, - 0x02, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x05, 0x12, 0x04, 0x97, 0x04, 0x02, 0x15, 0x1a, 0xe6, 0x02, - 0x20, 0x41, 0x20, 0x66, 0x72, 0x65, 0x65, 0x2d, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x20, 0x54, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x70, 0x69, 0x65, 0x64, 0x0a, 0x20, 0x76, - 0x65, 0x72, 0x62, 0x61, 0x74, 0x69, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, - 0x75, 0x74, 0x70, 0x75, 0x74, 0x20, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x6a, 0x73, - 0x6f, 0x6e, 0x2e, 0x20, 0x51, 0x75, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x62, 0x65, 0x20, 0x65, 0x73, 0x63, 0x61, 0x70, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x32, 0x2e, 0x30, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, - 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, - 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2e, - 0x6d, 0x64, 0x23, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, - 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, - 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x05, 0x12, - 0x04, 0x97, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x01, 0x12, 0x04, - 0x97, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x05, 0x03, 0x12, 0x04, 0x97, - 0x04, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x06, 0x12, 0x04, 0x98, 0x04, 0x02, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x05, 0x12, 0x04, 0x98, 0x04, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x01, 0x12, 0x04, 0x98, 0x04, 0x09, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x06, 0x03, 0x12, 0x04, 0x98, 0x04, 0x17, 0x19, 0x0a, 0x73, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x07, 0x12, 0x04, 0x9b, 0x04, 0x02, 0x16, 0x1a, 0x65, 0x20, 0x4d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x20, 0x75, - 0x70, 0x70, 0x65, 0x72, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, - 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x2c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x05, 0x12, 0x04, 0x9b, 0x04, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x01, 0x12, 0x04, 0x9b, 0x04, 0x09, - 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x07, 0x03, 0x12, 0x04, 0x9b, 0x04, 0x13, 0x15, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x08, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x1e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x08, 0x05, 0x12, 0x04, 0x9c, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x08, 0x01, 0x12, 0x04, 0x9c, 0x04, 0x07, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x08, 0x03, 0x12, 0x04, 0x9c, 0x04, 0x1b, 0x1d, 0x0a, 0x73, 0x0a, 0x04, 0x04, - 0x0c, 0x02, 0x09, 0x12, 0x04, 0x9f, 0x04, 0x02, 0x16, 0x1a, 0x65, 0x20, 0x6d, 0x69, 0x6e, 0x69, - 0x6d, 0x75, 0x6d, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x20, 0x6c, 0x6f, 0x77, 0x65, - 0x72, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6e, 0x75, - 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x0a, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x4d, 0x55, - 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x2c, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x09, 0x05, 0x12, 0x04, 0x9f, 0x04, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x09, 0x01, 0x12, 0x04, 0x9f, 0x04, 0x09, 0x10, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x09, 0x03, 0x12, 0x04, 0x9f, 0x04, 0x13, 0x15, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0c, 0x02, 0x0a, 0x12, 0x04, 0xa0, 0x04, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xa0, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x0a, 0x01, 0x12, 0x04, 0xa0, 0x04, 0x07, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x0a, 0x03, 0x12, 0x04, 0xa0, 0x04, 0x1b, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x0b, - 0x12, 0x04, 0xa1, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0b, 0x05, 0x12, - 0x04, 0xa1, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0b, 0x01, 0x12, 0x04, - 0xa1, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xa1, - 0x04, 0x16, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x0c, 0x12, 0x04, 0xa2, 0x04, 0x02, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0c, 0x05, 0x12, 0x04, 0xa2, 0x04, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xa2, 0x04, 0x09, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xa2, 0x04, 0x16, 0x18, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x0d, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x0d, 0x05, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x0d, 0x03, 0x12, 0x04, 0xa3, 0x04, 0x13, 0x15, 0x0a, 0x53, 0x0a, 0x03, 0x04, 0x0c, 0x09, - 0x12, 0x04, 0xa5, 0x04, 0x02, 0x0e, 0x1a, 0x46, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x31, - 0x38, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x27, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x74, 0x65, - 0x6d, 0x73, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x03, 0x12, 0x04, 0xa5, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x09, 0x03, 0x01, 0x12, 0x04, 0xa5, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x09, 0x03, 0x02, 0x12, 0x04, 0xa5, 0x04, 0x0b, 0x0d, 0x0a, 0x6a, 0x0a, 0x03, 0x04, 0x0c, - 0x09, 0x12, 0x04, 0xa8, 0x04, 0x02, 0x0e, 0x1a, 0x5d, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x31, 0x39, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x27, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x27, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, - 0x69, 0x6e, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x20, 0x77, 0x61, 0x79, 0x2e, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x69, - 0x76, 0x75, 0x63, 0x69, 0x63, 0x61, 0x29, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, 0x27, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x27, 0x3f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x04, 0x12, 0x04, - 0xa8, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x04, 0x01, 0x12, 0x04, 0xa8, - 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x04, 0x02, 0x12, 0x04, 0xa8, 0x04, - 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x0e, 0x12, 0x04, 0xa9, 0x04, 0x02, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0e, 0x05, 0x12, 0x04, 0xa9, 0x04, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xa9, 0x04, 0x09, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xa9, 0x04, 0x15, 0x17, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0c, 0x02, 0x0f, 0x12, 0x04, 0xaa, 0x04, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x0f, 0x05, 0x12, 0x04, 0xaa, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x0f, 0x01, 0x12, 0x04, 0xaa, 0x04, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x0f, 0x03, 0x12, 0x04, 0xaa, 0x04, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x10, - 0x12, 0x04, 0xab, 0x04, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x10, 0x05, 0x12, - 0x04, 0xab, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x10, 0x01, 0x12, 0x04, - 0xab, 0x04, 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x10, 0x03, 0x12, 0x04, 0xab, - 0x04, 0x16, 0x18, 0x0a, 0x4c, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xad, 0x04, 0x02, 0x0e, - 0x1a, 0x3f, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x32, 0x33, 0x20, 0x69, 0x73, 0x20, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x05, 0x12, 0x04, 0xad, 0x04, 0x0b, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x05, 0x01, 0x12, 0x04, 0xad, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x05, 0x02, 0x12, 0x04, 0xad, 0x04, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0c, 0x02, 0x11, 0x12, 0x04, 0xae, 0x04, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x11, 0x05, 0x12, 0x04, 0xae, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x11, 0x01, 0x12, 0x04, 0xae, 0x04, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x11, 0x03, 0x12, 0x04, 0xae, 0x04, 0x1a, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x12, - 0x12, 0x04, 0xaf, 0x04, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x12, 0x05, 0x12, - 0x04, 0xaf, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x12, 0x01, 0x12, 0x04, - 0xaf, 0x04, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x12, 0x03, 0x12, 0x04, 0xaf, - 0x04, 0x1a, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x13, 0x12, 0x04, 0xb0, 0x04, 0x02, - 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x13, 0x04, 0x12, 0x04, 0xb0, 0x04, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x13, 0x05, 0x12, 0x04, 0xb0, 0x04, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x13, 0x01, 0x12, 0x04, 0xb0, 0x04, 0x12, 0x1a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x13, 0x03, 0x12, 0x04, 0xb0, 0x04, 0x1d, 0x1f, 0x0a, 0x88, 0x01, - 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xb3, 0x04, 0x02, 0x0e, 0x1a, 0x7b, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x32, 0x37, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x27, 0x2c, 0x20, 0x62, - 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x0a, 0x20, 0x77, 0x61, 0x79, 0x2e, 0x20, 0x54, 0x4f, 0x44, - 0x4f, 0x28, 0x69, 0x76, 0x75, 0x63, 0x69, 0x63, 0x61, 0x29, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, - 0x27, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x27, 0x3f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x06, - 0x12, 0x04, 0xb3, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x06, 0x01, 0x12, - 0x04, 0xb3, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x06, 0x02, 0x12, 0x04, - 0xb3, 0x04, 0x0b, 0x0d, 0x0a, 0x4f, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xb5, 0x04, 0x02, - 0x0e, 0x1a, 0x42, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x32, 0x38, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x27, 0x2c, 0x20, 0x6f, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, - 0x20, 0x76, 0x32, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x07, 0x12, 0x04, 0xb5, - 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x07, 0x01, 0x12, 0x04, 0xb5, 0x04, - 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x07, 0x02, 0x12, 0x04, 0xb5, 0x04, 0x0b, - 0x0d, 0x0a, 0x7e, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xb8, 0x04, 0x02, 0x0e, 0x1a, 0x71, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x32, 0x39, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, - 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x27, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x27, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x4f, - 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, - 0x77, 0x61, 0x79, 0x2e, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x69, 0x76, 0x75, 0x63, 0x69, - 0x63, 0x61, 0x29, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, 0x27, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x27, 0x3f, - 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x08, 0x12, 0x04, 0xb8, 0x04, 0x0b, 0x0d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x08, 0x01, 0x12, 0x04, 0xb8, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x08, 0x02, 0x12, 0x04, 0xb8, 0x04, 0x0b, 0x0d, 0x0a, 0x9b, 0x01, - 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xbc, 0x04, 0x02, 0x14, 0x1a, 0x8d, 0x01, 0x20, 0x66, - 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x0a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x3a, 0x0a, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x50, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0c, 0x09, 0x09, 0x12, 0x04, 0xbc, 0x04, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, - 0x09, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x09, - 0x02, 0x12, 0x04, 0xbc, 0x04, 0x11, 0x13, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x14, 0x12, - 0x04, 0xbe, 0x04, 0x02, 0x1d, 0x1a, 0x22, 0x20, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x69, 0x6e, - 0x20, 0x27, 0x61, 0x72, 0x72, 0x61, 0x79, 0x27, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x14, 0x04, 0x12, 0x04, 0xbe, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x14, - 0x05, 0x12, 0x04, 0xbe, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x14, 0x01, - 0x12, 0x04, 0xbe, 0x04, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x14, 0x03, 0x12, - 0x04, 0xbe, 0x04, 0x1a, 0x1c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0c, 0x04, 0x00, 0x12, 0x06, 0xc0, - 0x04, 0x02, 0xc9, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x04, 0x00, 0x01, 0x12, 0x04, - 0xc0, 0x04, 0x07, 0x1c, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, - 0xc1, 0x04, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xc1, 0x04, 0x04, 0x0b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x00, 0x02, - 0x12, 0x04, 0xc1, 0x04, 0x0e, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x01, - 0x12, 0x04, 0xc2, 0x04, 0x04, 0x0e, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xc2, 0x04, 0x04, 0x09, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, - 0x01, 0x02, 0x12, 0x04, 0xc2, 0x04, 0x0c, 0x0d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x04, 0xc3, 0x04, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xc3, 0x04, 0x04, 0x0b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, - 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xc3, 0x04, 0x0e, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, - 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0xc4, 0x04, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, - 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc4, 0x04, 0x04, 0x0b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x0c, 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0xc4, 0x04, 0x0e, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x0c, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0xc5, 0x04, 0x04, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x0c, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc5, 0x04, 0x04, 0x08, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0xc5, 0x04, 0x0b, 0x0c, 0x0a, 0x0e, - 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x05, 0x12, 0x04, 0xc6, 0x04, 0x04, 0x0f, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc6, 0x04, 0x04, 0x0a, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x05, 0x02, 0x12, 0x04, 0xc6, 0x04, 0x0d, 0x0e, - 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x06, 0x12, 0x04, 0xc7, 0x04, 0x04, 0x0f, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0xc7, 0x04, 0x04, - 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x06, 0x02, 0x12, 0x04, 0xc7, 0x04, - 0x0d, 0x0e, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x07, 0x12, 0x04, 0xc8, 0x04, - 0x04, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc8, - 0x04, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x04, 0x00, 0x02, 0x07, 0x02, 0x12, 0x04, - 0xc8, 0x04, 0x0d, 0x0e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x15, 0x12, 0x04, 0xcb, 0x04, - 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x15, 0x04, 0x12, 0x04, 0xcb, 0x04, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x15, 0x06, 0x12, 0x04, 0xcb, 0x04, 0x0b, 0x20, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x15, 0x01, 0x12, 0x04, 0xcb, 0x04, 0x21, 0x25, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x15, 0x03, 0x12, 0x04, 0xcb, 0x04, 0x28, 0x2a, 0x0a, 0x18, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x16, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x15, 0x1a, 0x0a, 0x20, 0x60, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x16, - 0x05, 0x12, 0x04, 0xcd, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x16, 0x01, - 0x12, 0x04, 0xcd, 0x04, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x16, 0x03, 0x12, - 0x04, 0xcd, 0x04, 0x12, 0x14, 0x0a, 0x96, 0x01, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xd0, - 0x04, 0x02, 0x14, 0x1a, 0x88, 0x01, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, - 0x6e, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x0a, 0x20, - 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x3a, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x69, - 0x66, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x2c, 0x20, 0x65, 0x6c, 0x73, 0x65, 0x0a, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x0a, 0x12, 0x04, 0xd0, 0x04, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x09, 0x0a, 0x01, 0x12, 0x04, 0xd0, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x09, 0x0a, 0x02, 0x12, 0x04, 0xd0, 0x04, 0x11, 0x13, 0x0a, 0x6a, 0x0a, 0x03, 0x04, 0x0c, - 0x09, 0x12, 0x04, 0xd3, 0x04, 0x02, 0x0e, 0x1a, 0x5d, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x34, 0x32, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x27, 0x61, 0x6c, 0x6c, 0x4f, 0x66, 0x27, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, - 0x69, 0x6e, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x20, 0x77, 0x61, 0x79, 0x2e, 0x0a, 0x20, 0x54, 0x4f, 0x44, 0x4f, 0x28, 0x69, - 0x76, 0x75, 0x63, 0x69, 0x63, 0x61, 0x29, 0x3a, 0x20, 0x61, 0x64, 0x64, 0x20, 0x27, 0x61, 0x6c, - 0x6c, 0x4f, 0x66, 0x27, 0x3f, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x09, 0x0b, 0x12, 0x04, - 0xd3, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x0b, 0x01, 0x12, 0x04, 0xd3, - 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x0b, 0x02, 0x12, 0x04, 0xd3, 0x04, - 0x0b, 0x0d, 0x0a, 0x76, 0x0a, 0x03, 0x04, 0x0c, 0x09, 0x12, 0x04, 0xd7, 0x04, 0x02, 0x14, 0x1a, - 0x69, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x6f, 0x6d, 0x69, - 0x74, 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x0a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x20, 0x76, 0x32, 0x3a, 0x0a, 0x20, 0x61, 0x6e, 0x79, 0x4f, 0x66, 0x2c, 0x20, 0x6f, - 0x6e, 0x65, 0x4f, 0x66, 0x2c, 0x20, 0x6e, 0x6f, 0x74, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, - 0x09, 0x0c, 0x12, 0x04, 0xd7, 0x04, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x0c, - 0x01, 0x12, 0x04, 0xd7, 0x04, 0x0b, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x09, 0x0c, 0x02, - 0x12, 0x04, 0xd7, 0x04, 0x11, 0x13, 0x0a, 0x7c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x17, 0x12, 0x04, - 0xd9, 0x04, 0x02, 0x1c, 0x1a, 0x6e, 0x20, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x69, 0x6e, 0x20, - 0x60, 0x65, 0x6e, 0x75, 0x6d, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x74, 0x6f, - 0x6f, 0x6c, 0x73, 0x2e, 0x69, 0x65, 0x74, 0x66, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x68, 0x74, 0x6d, - 0x6c, 0x2f, 0x64, 0x72, 0x61, 0x66, 0x74, 0x2d, 0x66, 0x67, 0x65, 0x2d, 0x6a, 0x73, 0x6f, 0x6e, - 0x2d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x2d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x30, 0x30, 0x23, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x35, 0x2e, - 0x35, 0x2e, 0x31, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x17, 0x04, 0x12, 0x04, 0xd9, - 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x17, 0x05, 0x12, 0x04, 0xd9, 0x04, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x17, 0x01, 0x12, 0x04, 0xd9, 0x04, 0x12, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x17, 0x03, 0x12, 0x04, 0xd9, 0x04, 0x19, 0x1b, - 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x18, 0x12, 0x04, 0xdc, 0x04, 0x02, 0x30, 0x1a, 0x4d, - 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, - 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x18, 0x06, 0x12, 0x04, 0xdc, 0x04, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x18, 0x01, 0x12, 0x04, 0xdc, 0x04, 0x15, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x18, 0x03, 0x12, 0x04, 0xdc, 0x04, 0x2b, 0x2f, 0x0a, 0xd9, 0x01, 0x0a, 0x04, 0x04, - 0x0c, 0x03, 0x00, 0x12, 0x06, 0xe0, 0x04, 0x02, 0xe9, 0x04, 0x03, 0x1a, 0xc8, 0x01, 0x20, 0x27, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x27, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x64, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6c, 0x65, - 0x76, 0x65, 0x6c, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x73, 0x65, 0x20, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x50, 0x49, 0x76, 0x32, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x03, 0x00, 0x01, 0x12, - 0x04, 0xe0, 0x04, 0x0a, 0x1c, 0x0a, 0x87, 0x02, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, - 0x12, 0x04, 0xe5, 0x04, 0x04, 0x20, 0x1a, 0xf6, 0x01, 0x20, 0x41, 0x6c, 0x74, 0x65, 0x72, 0x6e, - 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, - 0x73, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x76, 0x6f, 0x69, 0x64, 0x20, 0x68, 0x61, 0x76, 0x69, - 0x6e, 0x67, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x76, 0x65, 0x72, - 0x6c, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x0a, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x04, 0x04, 0x0a, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x04, 0x0b, - 0x1a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x04, - 0x1d, 0x1f, 0x0a, 0xa2, 0x01, 0x0a, 0x06, 0x04, 0x0c, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xe8, - 0x04, 0x04, 0x19, 0x1a, 0x91, 0x01, 0x20, 0x44, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x41, 0x6c, 0x6c, - 0x6f, 0x77, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x0a, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6d, - 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xe8, 0x04, 0x04, 0x08, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xe8, 0x04, 0x09, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0c, 0x03, - 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe8, 0x04, 0x16, 0x18, 0x0a, 0xec, 0x01, 0x0a, 0x04, 0x04, - 0x0c, 0x02, 0x19, 0x12, 0x04, 0xed, 0x04, 0x02, 0x35, 0x1a, 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, - 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, - 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x19, 0x06, 0x12, 0x04, 0xed, 0x04, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x19, - 0x01, 0x12, 0x04, 0xed, 0x04, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x19, 0x03, - 0x12, 0x04, 0xed, 0x04, 0x32, 0x34, 0x0a, 0xae, 0x01, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xf4, - 0x04, 0x00, 0x82, 0x05, 0x01, 0x1a, 0x9f, 0x01, 0x20, 0x60, 0x54, 0x61, 0x67, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, - 0x20, 0x54, 0x61, 0x67, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x74, 0x61, 0x67, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, - 0xf4, 0x04, 0x08, 0x0b, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xf8, - 0x04, 0x02, 0x12, 0x1a, 0x9a, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67, 0x2e, 0x20, 0x55, 0x73, 0x65, 0x20, - 0x69, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x0a, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x54, 0x61, - 0x67, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, - 0x67, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x0a, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf8, 0x04, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x04, 0x09, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x04, 0x10, 0x11, 0x0a, 0x66, 0x0a, - 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x04, 0x02, 0x19, 0x1a, 0x58, 0x20, 0x41, 0x20, - 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67, 0x2e, 0x20, 0x47, - 0x46, 0x4d, 0x20, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x69, 0x63, 0x68, 0x20, 0x74, - 0x65, 0x78, 0x74, 0x0a, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xfb, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, - 0x04, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfb, 0x04, - 0x17, 0x18, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x04, 0xfd, 0x04, 0x02, 0x2a, - 0x1a, 0x31, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x65, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x61, - 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x06, 0x12, 0x04, 0xfd, 0x04, - 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfd, 0x04, 0x18, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfd, 0x04, 0x28, 0x29, - 0x0a, 0xec, 0x01, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x04, 0x81, 0x05, 0x02, 0x34, 0x1a, - 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, - 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, - 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, - 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, - 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x06, 0x12, 0x04, 0x81, 0x05, 0x02, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x01, 0x12, 0x04, 0x81, 0x05, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x03, 0x03, 0x12, 0x04, 0x81, 0x05, 0x32, 0x33, 0x0a, 0xb2, 0x03, 0x0a, - 0x02, 0x04, 0x0e, 0x12, 0x06, 0x8c, 0x05, 0x00, 0x90, 0x05, 0x01, 0x1a, 0xa3, 0x03, 0x20, 0x60, - 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, - 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x0a, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x20, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, - 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, - 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, - 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x44, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, - 0x41, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x0a, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, - 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x6c, 0x65, 0x76, 0x61, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0x8c, 0x05, 0x08, 0x1b, 0x0a, 0x60, - 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0x8f, 0x05, 0x02, 0x2b, 0x1a, 0x52, 0x20, 0x41, - 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, - 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2c, 0x20, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x22, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x20, 0x69, 0x74, 0x0a, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8f, 0x05, 0x02, 0x1d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8f, 0x05, 0x1e, 0x26, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8f, 0x05, 0x29, 0x2a, 0x0a, 0xd5, 0x03, - 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0x9b, 0x05, 0x00, 0xd5, 0x05, 0x01, 0x1a, 0xc6, 0x03, 0x20, - 0x60, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, - 0x76, 0x32, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x27, 0x73, 0x0a, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x53, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, 0x65, - 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, - 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x69, 0x74, 0x79, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, - 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x20, 0x53, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x62, 0x61, 0x73, 0x69, 0x63, 0x20, 0x61, 0x75, - 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x41, 0x50, 0x49, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x28, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, - 0x20, 0x61, 0x73, 0x0a, 0x20, 0x61, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x72, - 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x4f, 0x41, 0x75, 0x74, 0x68, - 0x32, 0x27, 0x73, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x73, - 0x20, 0x28, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x2c, 0x0a, 0x20, 0x70, 0x61, 0x73, - 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, - 0x64, 0x65, 0x29, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0x9b, 0x05, - 0x08, 0x16, 0x0a, 0x63, 0x0a, 0x04, 0x04, 0x0f, 0x04, 0x00, 0x12, 0x06, 0x9e, 0x05, 0x02, 0xa3, - 0x05, 0x03, 0x1a, 0x53, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x62, 0x61, 0x73, 0x69, 0x63, 0x22, 0x2c, 0x0a, - 0x20, 0x22, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x6f, 0x61, - 0x75, 0x74, 0x68, 0x32, 0x22, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x04, 0x00, 0x01, - 0x12, 0x04, 0x9e, 0x05, 0x07, 0x0b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x00, 0x02, 0x00, - 0x12, 0x04, 0x9f, 0x05, 0x04, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x00, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x9f, 0x05, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x00, 0x02, - 0x00, 0x02, 0x12, 0x04, 0x9f, 0x05, 0x13, 0x14, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x00, - 0x02, 0x01, 0x12, 0x04, 0xa0, 0x05, 0x04, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xa0, 0x05, 0x04, 0x0e, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, - 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa0, 0x05, 0x11, 0x12, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, - 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0xa1, 0x05, 0x04, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, - 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x05, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x0f, 0x04, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa1, 0x05, 0x13, 0x14, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x0f, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0xa2, 0x05, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x0f, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa2, 0x05, 0x04, 0x0f, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x0f, 0x04, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0xa2, 0x05, 0x12, 0x13, 0x0a, 0x54, - 0x0a, 0x04, 0x04, 0x0f, 0x04, 0x01, 0x12, 0x06, 0xa6, 0x05, 0x02, 0xaa, 0x05, 0x03, 0x1a, 0x44, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, - 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x22, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x04, 0x01, 0x01, 0x12, 0x04, 0xa6, - 0x05, 0x07, 0x09, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0xa7, - 0x05, 0x04, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xa7, 0x05, 0x04, 0x0e, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x00, 0x02, 0x12, - 0x04, 0xa7, 0x05, 0x11, 0x12, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x01, 0x12, - 0x04, 0xa8, 0x05, 0x04, 0x11, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xa8, 0x05, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, 0x02, 0x01, - 0x02, 0x12, 0x04, 0xa8, 0x05, 0x0f, 0x10, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x01, 0x02, - 0x02, 0x12, 0x04, 0xa9, 0x05, 0x04, 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xa9, 0x05, 0x04, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x01, - 0x02, 0x02, 0x02, 0x12, 0x04, 0xa9, 0x05, 0x10, 0x11, 0x0a, 0x87, 0x01, 0x0a, 0x04, 0x04, 0x0f, - 0x04, 0x02, 0x12, 0x06, 0xae, 0x05, 0x02, 0xb4, 0x05, 0x03, 0x1a, 0x77, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x0a, 0x20, 0x22, 0x69, 0x6d, 0x70, - 0x6c, 0x69, 0x63, 0x69, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x64, 0x65, - 0x22, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x04, 0x02, 0x01, 0x12, 0x04, 0xae, 0x05, - 0x07, 0x0b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xaf, 0x05, - 0x04, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaf, - 0x05, 0x04, 0x10, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, - 0xaf, 0x05, 0x13, 0x14, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xb0, 0x05, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xb0, 0x05, 0x04, 0x11, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x01, 0x02, - 0x12, 0x04, 0xb0, 0x05, 0x14, 0x15, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x02, - 0x12, 0x04, 0xb1, 0x05, 0x04, 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xb1, 0x05, 0x04, 0x11, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, 0x02, - 0x02, 0x02, 0x12, 0x04, 0xb1, 0x05, 0x14, 0x15, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, 0x04, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xb2, 0x05, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, 0x02, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xb2, 0x05, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, 0x04, - 0x02, 0x02, 0x03, 0x02, 0x12, 0x04, 0xb2, 0x05, 0x17, 0x18, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0f, - 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0xb3, 0x05, 0x04, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x0f, - 0x04, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb3, 0x05, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x0f, 0x04, 0x02, 0x02, 0x04, 0x02, 0x12, 0x04, 0xb3, 0x05, 0x17, 0x18, 0x0a, 0x61, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xb8, 0x05, 0x02, 0x10, 0x1a, 0x53, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x20, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, - 0x62, 0x61, 0x73, 0x69, 0x63, 0x22, 0x2c, 0x0a, 0x20, 0x22, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, - 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x22, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb8, 0x05, 0x02, 0x06, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb8, 0x05, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb8, 0x05, 0x0e, 0x0f, 0x0a, 0x38, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xba, 0x05, 0x02, 0x19, 0x1a, 0x2a, 0x20, 0x41, 0x20, 0x73, - 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, - 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, 0x12, - 0x04, 0xba, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xba, 0x05, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xba, - 0x05, 0x17, 0x18, 0x0a, 0x58, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x02, 0x12, 0x04, 0xbd, 0x05, 0x02, - 0x12, 0x1a, 0x4a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x71, 0x75, - 0x65, 0x72, 0x79, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbd, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbd, 0x05, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xbd, 0x05, 0x10, 0x11, 0x0a, 0x66, 0x0a, 0x04, 0x04, 0x0f, - 0x02, 0x03, 0x12, 0x04, 0xc1, 0x05, 0x02, 0x0c, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, - 0x50, 0x49, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x22, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x20, 0x6f, 0x72, 0x0a, 0x20, 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x22, 0x2e, 0x0a, 0x20, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x70, 0x69, 0x4b, 0x65, 0x79, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x06, 0x12, 0x04, 0xc1, 0x05, 0x02, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc1, 0x05, 0x05, 0x07, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc1, 0x05, 0x0a, 0x0b, 0x0a, - 0x99, 0x01, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x04, 0x12, 0x04, 0xc5, 0x05, 0x02, 0x10, 0x1a, 0x8a, - 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x20, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x20, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x0a, - 0x20, 0x22, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x22, 0x2c, 0x20, 0x22, 0x70, 0x61, - 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x2c, 0x20, 0x22, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x6f, 0x72, 0x20, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x2e, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc5, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x04, 0x01, 0x12, 0x04, 0xc5, 0x05, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x04, 0x03, 0x12, 0x04, 0xc5, 0x05, 0x0e, 0x0f, 0x0a, 0x98, 0x01, 0x0a, 0x04, 0x04, 0x0f, 0x02, - 0x05, 0x12, 0x04, 0xc9, 0x05, 0x02, 0x1f, 0x1a, 0x89, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x2e, - 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x61, 0x75, 0x74, - 0x68, 0x32, 0x2f, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x63, 0x69, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x64, - 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x05, 0x12, 0x04, 0xc9, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc9, 0x05, 0x09, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc9, 0x05, 0x1d, 0x1e, - 0x0a, 0xa4, 0x01, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x06, 0x12, 0x04, 0xcd, 0x05, 0x02, 0x17, 0x1a, - 0x95, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x55, 0x52, 0x4c, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x53, 0x48, 0x4f, 0x55, 0x4c, 0x44, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x0a, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x55, 0x52, 0x4c, 0x2e, - 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x61, 0x75, 0x74, - 0x68, 0x32, 0x2f, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x2c, 0x20, 0x6f, 0x61, 0x75, - 0x74, 0x68, 0x32, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2f, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x43, 0x6f, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x05, - 0x12, 0x04, 0xcd, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x01, 0x12, - 0x04, 0xcd, 0x05, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x03, 0x12, 0x04, - 0xcd, 0x05, 0x15, 0x16, 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x07, 0x12, 0x04, 0xd0, 0x05, - 0x02, 0x14, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x32, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, - 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x2e, 0x0a, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x07, 0x06, 0x12, 0x04, 0xd0, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x07, 0x01, 0x12, 0x04, 0xd0, 0x05, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x07, 0x03, 0x12, 0x04, 0xd0, 0x05, 0x12, 0x13, 0x0a, 0xec, 0x01, 0x0a, 0x04, 0x04, - 0x0f, 0x02, 0x08, 0x12, 0x04, 0xd4, 0x05, 0x02, 0x34, 0x1a, 0xdd, 0x01, 0x20, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x22, - 0x78, 0x2d, 0x22, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x22, 0x78, 0x2d, 0x66, - 0x6f, 0x6f, 0x22, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x62, 0x65, 0x0a, 0x20, 0x65, 0x78, 0x74, 0x72, 0x61, 0x20, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x20, 0x4f, 0x70, - 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2e, 0x69, 0x6f, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x32, 0x2d, 0x30, 0x2f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x2d, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x08, 0x06, 0x12, 0x04, 0xd4, 0x05, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x08, - 0x01, 0x12, 0x04, 0xd4, 0x05, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x08, 0x03, - 0x12, 0x04, 0xd4, 0x05, 0x32, 0x33, 0x0a, 0x9b, 0x04, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xe2, - 0x05, 0x00, 0xee, 0x05, 0x01, 0x1a, 0x8c, 0x04, 0x20, 0x60, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, - 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, - 0x0a, 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, - 0x20, 0x53, 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, - 0x6e, 0x41, 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x65, 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x70, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x0a, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x73, 0x20, 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x20, 0x69, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x28, 0x74, - 0x68, 0x61, 0x74, 0x0a, 0x20, 0x69, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x72, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x6c, 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x41, 0x4e, 0x44, 0x20, - 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x63, 0x6f, 0x72, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x0a, 0x20, 0x64, 0x65, - 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x53, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xe2, 0x05, 0x08, - 0x1b, 0x0a, 0xbe, 0x01, 0x0a, 0x04, 0x04, 0x10, 0x03, 0x00, 0x12, 0x06, 0xe6, 0x05, 0x02, 0xe8, - 0x05, 0x03, 0x1a, 0xad, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x22, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, 0x22, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x0a, 0x20, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, 0x63, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, - 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x72, - 0x61, 0x79, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x03, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x05, 0x0a, - 0x22, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x10, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xe7, 0x05, 0x04, - 0x1e, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x10, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe7, 0x05, - 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x10, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe7, - 0x05, 0x0d, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x10, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xe7, 0x05, 0x14, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x10, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xe7, 0x05, 0x1c, 0x1d, 0x0a, 0x9b, 0x02, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, - 0xed, 0x05, 0x02, 0x41, 0x1a, 0x8c, 0x02, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, - 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, - 0x64, 0x65, 0x63, 0x6c, 0x61, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x53, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x65, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x22, 0x6f, 0x61, 0x75, 0x74, 0x68, 0x32, - 0x22, 0x2c, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x65, - 0x63, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, 0x65, - 0x6d, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, - 0x72, 0x61, 0x79, 0x20, 0x4d, 0x55, 0x53, 0x54, 0x20, 0x62, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xed, 0x05, - 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xed, 0x05, 0x28, - 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xed, 0x05, 0x3f, 0x40, - 0x0a, 0xf2, 0x01, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xf5, 0x05, 0x00, 0xf9, 0x05, 0x01, 0x1a, - 0xe3, 0x01, 0x20, 0x60, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x20, 0x76, 0x32, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x53, 0x63, - 0x6f, 0x70, 0x65, 0x73, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x53, - 0x65, 0x65, 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x41, 0x49, 0x2f, 0x4f, 0x70, 0x65, 0x6e, 0x41, - 0x50, 0x49, 0x2d, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x33, 0x2e, 0x30, 0x2e, 0x30, 0x2f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x32, 0x2e, 0x30, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x73, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x0a, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x4f, 0x41, 0x75, - 0x74, 0x68, 0x32, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x20, 0x73, 0x63, 0x68, - 0x65, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xf5, 0x05, - 0x08, 0x0e, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x05, 0x02, 0x20, - 0x1a, 0x5e, 0x20, 0x4d, 0x61, 0x70, 0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, - 0x61, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x69, 0x74, 0x20, 0x28, - 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x29, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x05, 0x02, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x05, 0x16, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x05, 0x1e, 0x1f, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xdc, 0x17, 0x0a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, - 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, - 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 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, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, - 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x3a, 0x7e, 0x0a, 0x11, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, - 0x5f, 0x73, 0x77, 0x61, 0x67, 0x67, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, - 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x77, 0x61, 0x67, 0x67, 0x65, - 0x72, 0x52, 0x10, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x53, 0x77, 0x61, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x86, 0x01, 0x0a, 0x13, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x5f, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x7e, 0x0a, 0x10, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, - 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, 0x92, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, - 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, - 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0f, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x3a, 0x7b, 0x0a, 0x0e, - 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x1c, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0x08, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x45, 0x6e, 0x75, 0x6d, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x52, 0x0d, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x75, 0x0a, 0x0d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 0x74, 0x61, 0x67, 0x12, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x92, 0x08, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x54, - 0x61, 0x67, 0x52, 0x0c, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x54, 0x61, 0x67, - 0x3a, 0x7e, 0x0a, 0x0f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5f, 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, 0x92, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x72, 0x70, 0x63, - 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, - 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4a, 0x53, 0x4f, 0x4e, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, - 0x52, 0x0e, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x42, 0xc9, 0x02, 0x0a, 0x2d, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, - 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, - 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x76, - 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02, - 0x04, 0x47, 0x47, 0x50, 0x4f, 0xaa, 0x02, 0x27, 0x47, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x61, 0x74, - 0x65, 0x77, 0x61, 0x79, 0x2e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, 0x70, - 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xca, - 0x02, 0x27, 0x47, 0x72, 0x70, 0x63, 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x5c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xe2, 0x02, 0x33, 0x47, 0x72, 0x70, 0x63, - 0x5c, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x5c, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, - 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x5c, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x2a, 0x47, 0x72, 0x70, 0x63, 0x3a, 0x3a, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x3a, - 0x3a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x47, 0x65, 0x6e, 0x4f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x3a, 0x3a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x4a, 0xdd, 0x0d, 0x0a, - 0x06, 0x12, 0x04, 0x00, 0x00, 0x32, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, - 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x32, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x00, 0x12, 0x03, 0x04, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, - 0x36, 0x0a, 0x08, 0x0a, 0x01, 0x08, 0x12, 0x03, 0x07, 0x00, 0x5d, 0x0a, 0x09, 0x0a, 0x02, 0x08, - 0x0b, 0x12, 0x03, 0x07, 0x00, 0x5d, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x09, 0x00, 0x0f, - 0x01, 0x0a, 0xdb, 0x01, 0x0a, 0x02, 0x07, 0x00, 0x12, 0x03, 0x0e, 0x02, 0x23, 0x1a, 0xcf, 0x01, - 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2d, - 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x72, 0x79, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x49, 0x44, - 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, - 0x61, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, - 0x69, 0x73, 0x20, 0x6f, 0x6b, 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, - 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x0a, 0x20, - 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02, 0x12, 0x03, 0x09, 0x07, 0x22, 0x0a, 0x0a, 0x0a, 0x03, 0x07, - 0x00, 0x06, 0x12, 0x03, 0x0e, 0x02, 0x09, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x01, 0x12, 0x03, - 0x0e, 0x0a, 0x1b, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x03, 0x12, 0x03, 0x0e, 0x1e, 0x22, 0x0a, - 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x10, 0x00, 0x16, 0x01, 0x0a, 0xdb, 0x01, 0x0a, 0x02, 0x07, - 0x01, 0x12, 0x03, 0x15, 0x02, 0x27, 0x1a, 0xcf, 0x01, 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, - 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x40, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, - 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x0a, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x49, 0x44, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6b, 0x61, 0x79, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, - 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x20, 0x6d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x02, 0x12, - 0x03, 0x10, 0x07, 0x24, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x06, 0x12, 0x03, 0x15, 0x02, 0x0b, - 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x01, 0x01, 0x12, 0x03, 0x15, 0x0c, 0x1f, 0x0a, 0x0a, 0x0a, 0x03, - 0x07, 0x01, 0x03, 0x12, 0x03, 0x15, 0x22, 0x26, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x17, - 0x00, 0x1d, 0x01, 0x0a, 0xdb, 0x01, 0x0a, 0x02, 0x07, 0x02, 0x12, 0x03, 0x1c, 0x02, 0x21, 0x1a, - 0xcf, 0x01, 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, - 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x72, 0x79, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, - 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x20, - 0x49, 0x44, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, - 0x2c, 0x20, 0x61, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x49, - 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6b, 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, - 0x2c, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, - 0x0a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, - 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x02, 0x12, 0x03, 0x17, 0x07, 0x25, 0x0a, 0x0a, 0x0a, - 0x03, 0x07, 0x02, 0x06, 0x12, 0x03, 0x1c, 0x02, 0x08, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x01, - 0x12, 0x03, 0x1c, 0x09, 0x19, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x02, 0x03, 0x12, 0x03, 0x1c, 0x1c, - 0x20, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x1e, 0x00, 0x24, 0x01, 0x0a, 0xdb, 0x01, 0x0a, - 0x02, 0x07, 0x03, 0x12, 0x03, 0x23, 0x02, 0x23, 0x1a, 0xcf, 0x01, 0x20, 0x49, 0x44, 0x20, 0x61, - 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, - 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x40, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x52, 0x50, - 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x49, 0x44, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6b, - 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x20, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, - 0x02, 0x12, 0x03, 0x1e, 0x07, 0x22, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, 0x06, 0x12, 0x03, 0x23, - 0x02, 0x0c, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x03, 0x01, 0x12, 0x03, 0x23, 0x0d, 0x1b, 0x0a, 0x0a, - 0x0a, 0x03, 0x07, 0x03, 0x03, 0x12, 0x03, 0x23, 0x1e, 0x22, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, - 0x04, 0x25, 0x00, 0x2b, 0x01, 0x0a, 0xdb, 0x01, 0x0a, 0x02, 0x07, 0x04, 0x12, 0x03, 0x2a, 0x02, - 0x1b, 0x1a, 0xcf, 0x01, 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x62, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2d, 0x67, 0x6c, 0x6f, - 0x62, 0x61, 0x6c, 0x2d, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x40, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, - 0x6d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, - 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x41, 0x6c, - 0x6c, 0x20, 0x49, 0x44, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, - 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, - 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6b, 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, - 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x0a, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x04, 0x02, 0x12, 0x03, 0x25, 0x07, 0x25, 0x0a, - 0x0a, 0x0a, 0x03, 0x07, 0x04, 0x06, 0x12, 0x03, 0x2a, 0x02, 0x05, 0x0a, 0x0a, 0x0a, 0x03, 0x07, - 0x04, 0x01, 0x12, 0x03, 0x2a, 0x06, 0x13, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x04, 0x03, 0x12, 0x03, - 0x2a, 0x16, 0x1a, 0x0a, 0x09, 0x0a, 0x01, 0x07, 0x12, 0x04, 0x2c, 0x00, 0x32, 0x01, 0x0a, 0xdb, - 0x01, 0x0a, 0x02, 0x07, 0x05, 0x12, 0x03, 0x31, 0x02, 0x24, 0x1a, 0xcf, 0x01, 0x20, 0x49, 0x44, - 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2d, 0x65, 0x78, 0x74, - 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x79, 0x40, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, - 0x52, 0x50, 0x43, 0x2d, 0x47, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x49, 0x44, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, - 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x6f, 0x6b, 0x61, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x79, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x79, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x0a, 0x20, 0x64, 0x69, 0x66, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, - 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, - 0x07, 0x05, 0x02, 0x12, 0x03, 0x2c, 0x07, 0x23, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x05, 0x06, 0x12, - 0x03, 0x31, 0x02, 0x0c, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x05, 0x01, 0x12, 0x03, 0x31, 0x0d, 0x1c, - 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x05, 0x03, 0x12, 0x03, 0x31, 0x1f, 0x23, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -]; -include!("grpc.gateway.protoc_gen_openapiv2.options.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.serde.rs b/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.serde.rs deleted file mode 100644 index 4c97668b3..000000000 --- a/rust/crates/sift_rs/src/gen/grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.serde.rs +++ /dev/null @@ -1,4024 +0,0 @@ -// @generated -impl serde::Serialize for Contact { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if !self.url.is_empty() { - len += 1; - } - if !self.email.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Contact", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.url.is_empty() { - struct_ser.serialize_field("url", &self.url)?; - } - if !self.email.is_empty() { - struct_ser.serialize_field("email", &self.email)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Contact { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "url", - "email", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Url, - Email, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "url" => Ok(GeneratedField::Url), - "email" => Ok(GeneratedField::Email), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Contact; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Contact") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut url__ = None; - let mut email__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Url => { - if url__.is_some() { - return Err(serde::de::Error::duplicate_field("url")); - } - url__ = Some(map_.next_value()?); - } - GeneratedField::Email => { - if email__.is_some() { - return Err(serde::de::Error::duplicate_field("email")); - } - email__ = Some(map_.next_value()?); - } - } - } - Ok(Contact { - name: name__.unwrap_or_default(), - url: url__.unwrap_or_default(), - email: email__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Contact", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for EnumSchema { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.description.is_empty() { - len += 1; - } - if !self.default.is_empty() { - len += 1; - } - if !self.title.is_empty() { - len += 1; - } - if self.required { - len += 1; - } - if self.read_only { - len += 1; - } - if self.external_docs.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if !self.r#ref.is_empty() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.EnumSchema", len)?; - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.default.is_empty() { - struct_ser.serialize_field("default", &self.default)?; - } - if !self.title.is_empty() { - struct_ser.serialize_field("title", &self.title)?; - } - if self.required { - struct_ser.serialize_field("required", &self.required)?; - } - if self.read_only { - struct_ser.serialize_field("readOnly", &self.read_only)?; - } - if let Some(v) = self.external_docs.as_ref() { - struct_ser.serialize_field("externalDocs", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if !self.r#ref.is_empty() { - struct_ser.serialize_field("ref", &self.r#ref)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for EnumSchema { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "description", - "default", - "title", - "required", - "read_only", - "readOnly", - "external_docs", - "externalDocs", - "example", - "ref", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Description, - Default, - Title, - Required, - ReadOnly, - ExternalDocs, - Example, - Ref, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "description" => Ok(GeneratedField::Description), - "default" => Ok(GeneratedField::Default), - "title" => Ok(GeneratedField::Title), - "required" => Ok(GeneratedField::Required), - "readOnly" | "read_only" => Ok(GeneratedField::ReadOnly), - "externalDocs" | "external_docs" => Ok(GeneratedField::ExternalDocs), - "example" => Ok(GeneratedField::Example), - "ref" => Ok(GeneratedField::Ref), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = EnumSchema; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.EnumSchema") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut description__ = None; - let mut default__ = None; - let mut title__ = None; - let mut required__ = None; - let mut read_only__ = None; - let mut external_docs__ = None; - let mut example__ = None; - let mut r#ref__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Default => { - if default__.is_some() { - return Err(serde::de::Error::duplicate_field("default")); - } - default__ = Some(map_.next_value()?); - } - GeneratedField::Title => { - if title__.is_some() { - return Err(serde::de::Error::duplicate_field("title")); - } - title__ = Some(map_.next_value()?); - } - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = Some(map_.next_value()?); - } - GeneratedField::ReadOnly => { - if read_only__.is_some() { - return Err(serde::de::Error::duplicate_field("readOnly")); - } - read_only__ = Some(map_.next_value()?); - } - GeneratedField::ExternalDocs => { - if external_docs__.is_some() { - return Err(serde::de::Error::duplicate_field("externalDocs")); - } - external_docs__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - GeneratedField::Ref => { - if r#ref__.is_some() { - return Err(serde::de::Error::duplicate_field("ref")); - } - r#ref__ = Some(map_.next_value()?); - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(EnumSchema { - description: description__.unwrap_or_default(), - default: default__.unwrap_or_default(), - title: title__.unwrap_or_default(), - required: required__.unwrap_or_default(), - read_only: read_only__.unwrap_or_default(), - external_docs: external_docs__, - example: example__.unwrap_or_default(), - r#ref: r#ref__.unwrap_or_default(), - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.EnumSchema", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ExternalDocumentation { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.description.is_empty() { - len += 1; - } - if !self.url.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation", len)?; - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.url.is_empty() { - struct_ser.serialize_field("url", &self.url)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ExternalDocumentation { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "description", - "url", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Description, - Url, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "description" => Ok(GeneratedField::Description), - "url" => Ok(GeneratedField::Url), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ExternalDocumentation; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut description__ = None; - let mut url__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Url => { - if url__.is_some() { - return Err(serde::de::Error::duplicate_field("url")); - } - url__ = Some(map_.next_value()?); - } - } - } - Ok(ExternalDocumentation { - description: description__.unwrap_or_default(), - url: url__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.ExternalDocumentation", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Header { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.description.is_empty() { - len += 1; - } - if !self.r#type.is_empty() { - len += 1; - } - if !self.format.is_empty() { - len += 1; - } - if !self.default.is_empty() { - len += 1; - } - if !self.pattern.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Header", len)?; - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.r#type.is_empty() { - struct_ser.serialize_field("type", &self.r#type)?; - } - if !self.format.is_empty() { - struct_ser.serialize_field("format", &self.format)?; - } - if !self.default.is_empty() { - struct_ser.serialize_field("default", &self.default)?; - } - if !self.pattern.is_empty() { - struct_ser.serialize_field("pattern", &self.pattern)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Header { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "description", - "type", - "format", - "default", - "pattern", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Description, - Type, - Format, - Default, - Pattern, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - "format" => Ok(GeneratedField::Format), - "default" => Ok(GeneratedField::Default), - "pattern" => Ok(GeneratedField::Pattern), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Header; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Header") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut description__ = None; - let mut r#type__ = None; - let mut format__ = None; - let mut default__ = None; - let mut pattern__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value()?); - } - GeneratedField::Format => { - if format__.is_some() { - return Err(serde::de::Error::duplicate_field("format")); - } - format__ = Some(map_.next_value()?); - } - GeneratedField::Default => { - if default__.is_some() { - return Err(serde::de::Error::duplicate_field("default")); - } - default__ = Some(map_.next_value()?); - } - GeneratedField::Pattern => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("pattern")); - } - pattern__ = Some(map_.next_value()?); - } - } - } - Ok(Header { - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - format: format__.unwrap_or_default(), - default: default__.unwrap_or_default(), - pattern: pattern__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Header", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for HeaderParameter { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.r#type != 0 { - len += 1; - } - if !self.format.is_empty() { - len += 1; - } - if self.required { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if self.r#type != 0 { - let v = header_parameter::Type::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - if !self.format.is_empty() { - struct_ser.serialize_field("format", &self.format)?; - } - if self.required { - struct_ser.serialize_field("required", &self.required)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for HeaderParameter { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "description", - "type", - "format", - "required", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Description, - Type, - Format, - Required, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - "format" => Ok(GeneratedField::Format), - "required" => Ok(GeneratedField::Required), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = HeaderParameter; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut description__ = None; - let mut r#type__ = None; - let mut format__ = None; - let mut required__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - GeneratedField::Format => { - if format__.is_some() { - return Err(serde::de::Error::duplicate_field("format")); - } - format__ = Some(map_.next_value()?); - } - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = Some(map_.next_value()?); - } - } - } - Ok(HeaderParameter { - name: name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - format: format__.unwrap_or_default(), - required: required__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.HeaderParameter", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for header_parameter::Type { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unknown => "UNKNOWN", - Self::String => "STRING", - Self::Number => "NUMBER", - Self::Integer => "INTEGER", - Self::Boolean => "BOOLEAN", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for header_parameter::Type { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "UNKNOWN", - "STRING", - "NUMBER", - "INTEGER", - "BOOLEAN", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = header_parameter::Type; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "UNKNOWN" => Ok(header_parameter::Type::Unknown), - "STRING" => Ok(header_parameter::Type::String), - "NUMBER" => Ok(header_parameter::Type::Number), - "INTEGER" => Ok(header_parameter::Type::Integer), - "BOOLEAN" => Ok(header_parameter::Type::Boolean), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for Info { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.title.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if !self.terms_of_service.is_empty() { - len += 1; - } - if self.contact.is_some() { - len += 1; - } - if self.license.is_some() { - len += 1; - } - if !self.version.is_empty() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Info", len)?; - if !self.title.is_empty() { - struct_ser.serialize_field("title", &self.title)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.terms_of_service.is_empty() { - struct_ser.serialize_field("termsOfService", &self.terms_of_service)?; - } - if let Some(v) = self.contact.as_ref() { - struct_ser.serialize_field("contact", v)?; - } - if let Some(v) = self.license.as_ref() { - struct_ser.serialize_field("license", v)?; - } - if !self.version.is_empty() { - struct_ser.serialize_field("version", &self.version)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Info { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "title", - "description", - "terms_of_service", - "termsOfService", - "contact", - "license", - "version", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Title, - Description, - TermsOfService, - Contact, - License, - Version, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "title" => Ok(GeneratedField::Title), - "description" => Ok(GeneratedField::Description), - "termsOfService" | "terms_of_service" => Ok(GeneratedField::TermsOfService), - "contact" => Ok(GeneratedField::Contact), - "license" => Ok(GeneratedField::License), - "version" => Ok(GeneratedField::Version), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Info; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Info") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut title__ = None; - let mut description__ = None; - let mut terms_of_service__ = None; - let mut contact__ = None; - let mut license__ = None; - let mut version__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Title => { - if title__.is_some() { - return Err(serde::de::Error::duplicate_field("title")); - } - title__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::TermsOfService => { - if terms_of_service__.is_some() { - return Err(serde::de::Error::duplicate_field("termsOfService")); - } - terms_of_service__ = Some(map_.next_value()?); - } - GeneratedField::Contact => { - if contact__.is_some() { - return Err(serde::de::Error::duplicate_field("contact")); - } - contact__ = map_.next_value()?; - } - GeneratedField::License => { - if license__.is_some() { - return Err(serde::de::Error::duplicate_field("license")); - } - license__ = map_.next_value()?; - } - GeneratedField::Version => { - if version__.is_some() { - return Err(serde::de::Error::duplicate_field("version")); - } - version__ = Some(map_.next_value()?); - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(Info { - title: title__.unwrap_or_default(), - description: description__.unwrap_or_default(), - terms_of_service: terms_of_service__.unwrap_or_default(), - contact: contact__, - license: license__, - version: version__.unwrap_or_default(), - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Info", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for JsonSchema { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.r#ref.is_empty() { - len += 1; - } - if !self.title.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if !self.default.is_empty() { - len += 1; - } - if self.read_only { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - if self.multiple_of != 0. { - len += 1; - } - if self.maximum != 0. { - len += 1; - } - if self.exclusive_maximum { - len += 1; - } - if self.minimum != 0. { - len += 1; - } - if self.exclusive_minimum { - len += 1; - } - if self.max_length != 0 { - len += 1; - } - if self.min_length != 0 { - len += 1; - } - if !self.pattern.is_empty() { - len += 1; - } - if self.max_items != 0 { - len += 1; - } - if self.min_items != 0 { - len += 1; - } - if self.unique_items { - len += 1; - } - if self.max_properties != 0 { - len += 1; - } - if self.min_properties != 0 { - len += 1; - } - if !self.required.is_empty() { - len += 1; - } - if !self.array.is_empty() { - len += 1; - } - if !self.r#type.is_empty() { - len += 1; - } - if !self.format.is_empty() { - len += 1; - } - if !self.r#enum.is_empty() { - len += 1; - } - if self.field_configuration.is_some() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.JSONSchema", len)?; - if !self.r#ref.is_empty() { - struct_ser.serialize_field("ref", &self.r#ref)?; - } - if !self.title.is_empty() { - struct_ser.serialize_field("title", &self.title)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.default.is_empty() { - struct_ser.serialize_field("default", &self.default)?; - } - if self.read_only { - struct_ser.serialize_field("readOnly", &self.read_only)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - if self.multiple_of != 0. { - struct_ser.serialize_field("multipleOf", &self.multiple_of)?; - } - if self.maximum != 0. { - struct_ser.serialize_field("maximum", &self.maximum)?; - } - if self.exclusive_maximum { - struct_ser.serialize_field("exclusiveMaximum", &self.exclusive_maximum)?; - } - if self.minimum != 0. { - struct_ser.serialize_field("minimum", &self.minimum)?; - } - if self.exclusive_minimum { - struct_ser.serialize_field("exclusiveMinimum", &self.exclusive_minimum)?; - } - if self.max_length != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxLength", ToString::to_string(&self.max_length).as_str())?; - } - if self.min_length != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minLength", ToString::to_string(&self.min_length).as_str())?; - } - if !self.pattern.is_empty() { - struct_ser.serialize_field("pattern", &self.pattern)?; - } - if self.max_items != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxItems", ToString::to_string(&self.max_items).as_str())?; - } - if self.min_items != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minItems", ToString::to_string(&self.min_items).as_str())?; - } - if self.unique_items { - struct_ser.serialize_field("uniqueItems", &self.unique_items)?; - } - if self.max_properties != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("maxProperties", ToString::to_string(&self.max_properties).as_str())?; - } - if self.min_properties != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("minProperties", ToString::to_string(&self.min_properties).as_str())?; - } - if !self.required.is_empty() { - struct_ser.serialize_field("required", &self.required)?; - } - if !self.array.is_empty() { - struct_ser.serialize_field("array", &self.array)?; - } - if !self.r#type.is_empty() { - let v = self.r#type.iter().cloned().map(|v| { - json_schema::JsonSchemaSimpleTypes::try_from(v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", v))) - }).collect::, _>>()?; - struct_ser.serialize_field("type", &v)?; - } - if !self.format.is_empty() { - struct_ser.serialize_field("format", &self.format)?; - } - if !self.r#enum.is_empty() { - struct_ser.serialize_field("enum", &self.r#enum)?; - } - if let Some(v) = self.field_configuration.as_ref() { - struct_ser.serialize_field("fieldConfiguration", v)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for JsonSchema { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "ref", - "title", - "description", - "default", - "read_only", - "readOnly", - "example", - "multiple_of", - "multipleOf", - "maximum", - "exclusive_maximum", - "exclusiveMaximum", - "minimum", - "exclusive_minimum", - "exclusiveMinimum", - "max_length", - "maxLength", - "min_length", - "minLength", - "pattern", - "max_items", - "maxItems", - "min_items", - "minItems", - "unique_items", - "uniqueItems", - "max_properties", - "maxProperties", - "min_properties", - "minProperties", - "required", - "array", - "type", - "format", - "enum", - "field_configuration", - "fieldConfiguration", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Ref, - Title, - Description, - Default, - ReadOnly, - Example, - MultipleOf, - Maximum, - ExclusiveMaximum, - Minimum, - ExclusiveMinimum, - MaxLength, - MinLength, - Pattern, - MaxItems, - MinItems, - UniqueItems, - MaxProperties, - MinProperties, - Required, - Array, - Type, - Format, - Enum, - FieldConfiguration, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "ref" => Ok(GeneratedField::Ref), - "title" => Ok(GeneratedField::Title), - "description" => Ok(GeneratedField::Description), - "default" => Ok(GeneratedField::Default), - "readOnly" | "read_only" => Ok(GeneratedField::ReadOnly), - "example" => Ok(GeneratedField::Example), - "multipleOf" | "multiple_of" => Ok(GeneratedField::MultipleOf), - "maximum" => Ok(GeneratedField::Maximum), - "exclusiveMaximum" | "exclusive_maximum" => Ok(GeneratedField::ExclusiveMaximum), - "minimum" => Ok(GeneratedField::Minimum), - "exclusiveMinimum" | "exclusive_minimum" => Ok(GeneratedField::ExclusiveMinimum), - "maxLength" | "max_length" => Ok(GeneratedField::MaxLength), - "minLength" | "min_length" => Ok(GeneratedField::MinLength), - "pattern" => Ok(GeneratedField::Pattern), - "maxItems" | "max_items" => Ok(GeneratedField::MaxItems), - "minItems" | "min_items" => Ok(GeneratedField::MinItems), - "uniqueItems" | "unique_items" => Ok(GeneratedField::UniqueItems), - "maxProperties" | "max_properties" => Ok(GeneratedField::MaxProperties), - "minProperties" | "min_properties" => Ok(GeneratedField::MinProperties), - "required" => Ok(GeneratedField::Required), - "array" => Ok(GeneratedField::Array), - "type" => Ok(GeneratedField::Type), - "format" => Ok(GeneratedField::Format), - "enum" => Ok(GeneratedField::Enum), - "fieldConfiguration" | "field_configuration" => Ok(GeneratedField::FieldConfiguration), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = JsonSchema; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.JSONSchema") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#ref__ = None; - let mut title__ = None; - let mut description__ = None; - let mut default__ = None; - let mut read_only__ = None; - let mut example__ = None; - let mut multiple_of__ = None; - let mut maximum__ = None; - let mut exclusive_maximum__ = None; - let mut minimum__ = None; - let mut exclusive_minimum__ = None; - let mut max_length__ = None; - let mut min_length__ = None; - let mut pattern__ = None; - let mut max_items__ = None; - let mut min_items__ = None; - let mut unique_items__ = None; - let mut max_properties__ = None; - let mut min_properties__ = None; - let mut required__ = None; - let mut array__ = None; - let mut r#type__ = None; - let mut format__ = None; - let mut r#enum__ = None; - let mut field_configuration__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Ref => { - if r#ref__.is_some() { - return Err(serde::de::Error::duplicate_field("ref")); - } - r#ref__ = Some(map_.next_value()?); - } - GeneratedField::Title => { - if title__.is_some() { - return Err(serde::de::Error::duplicate_field("title")); - } - title__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Default => { - if default__.is_some() { - return Err(serde::de::Error::duplicate_field("default")); - } - default__ = Some(map_.next_value()?); - } - GeneratedField::ReadOnly => { - if read_only__.is_some() { - return Err(serde::de::Error::duplicate_field("readOnly")); - } - read_only__ = Some(map_.next_value()?); - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - GeneratedField::MultipleOf => { - if multiple_of__.is_some() { - return Err(serde::de::Error::duplicate_field("multipleOf")); - } - multiple_of__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::Maximum => { - if maximum__.is_some() { - return Err(serde::de::Error::duplicate_field("maximum")); - } - maximum__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::ExclusiveMaximum => { - if exclusive_maximum__.is_some() { - return Err(serde::de::Error::duplicate_field("exclusiveMaximum")); - } - exclusive_maximum__ = Some(map_.next_value()?); - } - GeneratedField::Minimum => { - if minimum__.is_some() { - return Err(serde::de::Error::duplicate_field("minimum")); - } - minimum__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::ExclusiveMinimum => { - if exclusive_minimum__.is_some() { - return Err(serde::de::Error::duplicate_field("exclusiveMinimum")); - } - exclusive_minimum__ = Some(map_.next_value()?); - } - GeneratedField::MaxLength => { - if max_length__.is_some() { - return Err(serde::de::Error::duplicate_field("maxLength")); - } - max_length__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::MinLength => { - if min_length__.is_some() { - return Err(serde::de::Error::duplicate_field("minLength")); - } - min_length__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::Pattern => { - if pattern__.is_some() { - return Err(serde::de::Error::duplicate_field("pattern")); - } - pattern__ = Some(map_.next_value()?); - } - GeneratedField::MaxItems => { - if max_items__.is_some() { - return Err(serde::de::Error::duplicate_field("maxItems")); - } - max_items__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::MinItems => { - if min_items__.is_some() { - return Err(serde::de::Error::duplicate_field("minItems")); - } - min_items__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::UniqueItems => { - if unique_items__.is_some() { - return Err(serde::de::Error::duplicate_field("uniqueItems")); - } - unique_items__ = Some(map_.next_value()?); - } - GeneratedField::MaxProperties => { - if max_properties__.is_some() { - return Err(serde::de::Error::duplicate_field("maxProperties")); - } - max_properties__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::MinProperties => { - if min_properties__.is_some() { - return Err(serde::de::Error::duplicate_field("minProperties")); - } - min_properties__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::Required => { - if required__.is_some() { - return Err(serde::de::Error::duplicate_field("required")); - } - required__ = Some(map_.next_value()?); - } - GeneratedField::Array => { - if array__.is_some() { - return Err(serde::de::Error::duplicate_field("array")); - } - array__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::>()?.into_iter().map(|x| x as i32).collect()); - } - GeneratedField::Format => { - if format__.is_some() { - return Err(serde::de::Error::duplicate_field("format")); - } - format__ = Some(map_.next_value()?); - } - GeneratedField::Enum => { - if r#enum__.is_some() { - return Err(serde::de::Error::duplicate_field("enum")); - } - r#enum__ = Some(map_.next_value()?); - } - GeneratedField::FieldConfiguration => { - if field_configuration__.is_some() { - return Err(serde::de::Error::duplicate_field("fieldConfiguration")); - } - field_configuration__ = map_.next_value()?; - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(JsonSchema { - r#ref: r#ref__.unwrap_or_default(), - title: title__.unwrap_or_default(), - description: description__.unwrap_or_default(), - default: default__.unwrap_or_default(), - read_only: read_only__.unwrap_or_default(), - example: example__.unwrap_or_default(), - multiple_of: multiple_of__.unwrap_or_default(), - maximum: maximum__.unwrap_or_default(), - exclusive_maximum: exclusive_maximum__.unwrap_or_default(), - minimum: minimum__.unwrap_or_default(), - exclusive_minimum: exclusive_minimum__.unwrap_or_default(), - max_length: max_length__.unwrap_or_default(), - min_length: min_length__.unwrap_or_default(), - pattern: pattern__.unwrap_or_default(), - max_items: max_items__.unwrap_or_default(), - min_items: min_items__.unwrap_or_default(), - unique_items: unique_items__.unwrap_or_default(), - max_properties: max_properties__.unwrap_or_default(), - min_properties: min_properties__.unwrap_or_default(), - required: required__.unwrap_or_default(), - array: array__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - format: format__.unwrap_or_default(), - r#enum: r#enum__.unwrap_or_default(), - field_configuration: field_configuration__, - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.JSONSchema", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for json_schema::FieldConfiguration { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.path_param_name.is_empty() { - len += 1; - } - if self.deprecated { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration", len)?; - if !self.path_param_name.is_empty() { - struct_ser.serialize_field("pathParamName", &self.path_param_name)?; - } - if self.deprecated { - struct_ser.serialize_field("deprecated", &self.deprecated)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for json_schema::FieldConfiguration { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "path_param_name", - "pathParamName", - "deprecated", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PathParamName, - Deprecated, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pathParamName" | "path_param_name" => Ok(GeneratedField::PathParamName), - "deprecated" => Ok(GeneratedField::Deprecated), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = json_schema::FieldConfiguration; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut path_param_name__ = None; - let mut deprecated__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PathParamName => { - if path_param_name__.is_some() { - return Err(serde::de::Error::duplicate_field("pathParamName")); - } - path_param_name__ = Some(map_.next_value()?); - } - GeneratedField::Deprecated => { - if deprecated__.is_some() { - return Err(serde::de::Error::duplicate_field("deprecated")); - } - deprecated__ = Some(map_.next_value()?); - } - } - } - Ok(json_schema::FieldConfiguration { - path_param_name: path_param_name__.unwrap_or_default(), - deprecated: deprecated__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.JSONSchema.FieldConfiguration", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for json_schema::JsonSchemaSimpleTypes { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unknown => "UNKNOWN", - Self::Array => "ARRAY", - Self::Boolean => "BOOLEAN", - Self::Integer => "INTEGER", - Self::Null => "NULL", - Self::Number => "NUMBER", - Self::Object => "OBJECT", - Self::String => "STRING", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for json_schema::JsonSchemaSimpleTypes { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "UNKNOWN", - "ARRAY", - "BOOLEAN", - "INTEGER", - "NULL", - "NUMBER", - "OBJECT", - "STRING", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = json_schema::JsonSchemaSimpleTypes; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "UNKNOWN" => Ok(json_schema::JsonSchemaSimpleTypes::Unknown), - "ARRAY" => Ok(json_schema::JsonSchemaSimpleTypes::Array), - "BOOLEAN" => Ok(json_schema::JsonSchemaSimpleTypes::Boolean), - "INTEGER" => Ok(json_schema::JsonSchemaSimpleTypes::Integer), - "NULL" => Ok(json_schema::JsonSchemaSimpleTypes::Null), - "NUMBER" => Ok(json_schema::JsonSchemaSimpleTypes::Number), - "OBJECT" => Ok(json_schema::JsonSchemaSimpleTypes::Object), - "STRING" => Ok(json_schema::JsonSchemaSimpleTypes::String), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for License { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if !self.url.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.License", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.url.is_empty() { - struct_ser.serialize_field("url", &self.url)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for License { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "url", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Url, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "url" => Ok(GeneratedField::Url), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = License; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.License") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut url__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Url => { - if url__.is_some() { - return Err(serde::de::Error::duplicate_field("url")); - } - url__ = Some(map_.next_value()?); - } - } - } - Ok(License { - name: name__.unwrap_or_default(), - url: url__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.License", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Operation { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.tags.is_empty() { - len += 1; - } - if !self.summary.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.external_docs.is_some() { - len += 1; - } - if !self.operation_id.is_empty() { - len += 1; - } - if !self.consumes.is_empty() { - len += 1; - } - if !self.produces.is_empty() { - len += 1; - } - if !self.responses.is_empty() { - len += 1; - } - if !self.schemes.is_empty() { - len += 1; - } - if self.deprecated { - len += 1; - } - if !self.security.is_empty() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - if self.parameters.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Operation", len)?; - if !self.tags.is_empty() { - struct_ser.serialize_field("tags", &self.tags)?; - } - if !self.summary.is_empty() { - struct_ser.serialize_field("summary", &self.summary)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.external_docs.as_ref() { - struct_ser.serialize_field("externalDocs", v)?; - } - if !self.operation_id.is_empty() { - struct_ser.serialize_field("operationId", &self.operation_id)?; - } - if !self.consumes.is_empty() { - struct_ser.serialize_field("consumes", &self.consumes)?; - } - if !self.produces.is_empty() { - struct_ser.serialize_field("produces", &self.produces)?; - } - if !self.responses.is_empty() { - struct_ser.serialize_field("responses", &self.responses)?; - } - if !self.schemes.is_empty() { - let v = self.schemes.iter().cloned().map(|v| { - Scheme::try_from(v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", v))) - }).collect::, _>>()?; - struct_ser.serialize_field("schemes", &v)?; - } - if self.deprecated { - struct_ser.serialize_field("deprecated", &self.deprecated)?; - } - if !self.security.is_empty() { - struct_ser.serialize_field("security", &self.security)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - if let Some(v) = self.parameters.as_ref() { - struct_ser.serialize_field("parameters", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Operation { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "tags", - "summary", - "description", - "external_docs", - "externalDocs", - "operation_id", - "operationId", - "consumes", - "produces", - "responses", - "schemes", - "deprecated", - "security", - "extensions", - "parameters", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Tags, - Summary, - Description, - ExternalDocs, - OperationId, - Consumes, - Produces, - Responses, - Schemes, - Deprecated, - Security, - Extensions, - Parameters, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "tags" => Ok(GeneratedField::Tags), - "summary" => Ok(GeneratedField::Summary), - "description" => Ok(GeneratedField::Description), - "externalDocs" | "external_docs" => Ok(GeneratedField::ExternalDocs), - "operationId" | "operation_id" => Ok(GeneratedField::OperationId), - "consumes" => Ok(GeneratedField::Consumes), - "produces" => Ok(GeneratedField::Produces), - "responses" => Ok(GeneratedField::Responses), - "schemes" => Ok(GeneratedField::Schemes), - "deprecated" => Ok(GeneratedField::Deprecated), - "security" => Ok(GeneratedField::Security), - "extensions" => Ok(GeneratedField::Extensions), - "parameters" => Ok(GeneratedField::Parameters), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Operation; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Operation") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut tags__ = None; - let mut summary__ = None; - let mut description__ = None; - let mut external_docs__ = None; - let mut operation_id__ = None; - let mut consumes__ = None; - let mut produces__ = None; - let mut responses__ = None; - let mut schemes__ = None; - let mut deprecated__ = None; - let mut security__ = None; - let mut extensions__ = None; - let mut parameters__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Tags => { - if tags__.is_some() { - return Err(serde::de::Error::duplicate_field("tags")); - } - tags__ = Some(map_.next_value()?); - } - GeneratedField::Summary => { - if summary__.is_some() { - return Err(serde::de::Error::duplicate_field("summary")); - } - summary__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::ExternalDocs => { - if external_docs__.is_some() { - return Err(serde::de::Error::duplicate_field("externalDocs")); - } - external_docs__ = map_.next_value()?; - } - GeneratedField::OperationId => { - if operation_id__.is_some() { - return Err(serde::de::Error::duplicate_field("operationId")); - } - operation_id__ = Some(map_.next_value()?); - } - GeneratedField::Consumes => { - if consumes__.is_some() { - return Err(serde::de::Error::duplicate_field("consumes")); - } - consumes__ = Some(map_.next_value()?); - } - GeneratedField::Produces => { - if produces__.is_some() { - return Err(serde::de::Error::duplicate_field("produces")); - } - produces__ = Some(map_.next_value()?); - } - GeneratedField::Responses => { - if responses__.is_some() { - return Err(serde::de::Error::duplicate_field("responses")); - } - responses__ = Some( - map_.next_value::>()? - ); - } - GeneratedField::Schemes => { - if schemes__.is_some() { - return Err(serde::de::Error::duplicate_field("schemes")); - } - schemes__ = Some(map_.next_value::>()?.into_iter().map(|x| x as i32).collect()); - } - GeneratedField::Deprecated => { - if deprecated__.is_some() { - return Err(serde::de::Error::duplicate_field("deprecated")); - } - deprecated__ = Some(map_.next_value()?); - } - GeneratedField::Security => { - if security__.is_some() { - return Err(serde::de::Error::duplicate_field("security")); - } - security__ = Some(map_.next_value()?); - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - GeneratedField::Parameters => { - if parameters__.is_some() { - return Err(serde::de::Error::duplicate_field("parameters")); - } - parameters__ = map_.next_value()?; - } - } - } - Ok(Operation { - tags: tags__.unwrap_or_default(), - summary: summary__.unwrap_or_default(), - description: description__.unwrap_or_default(), - external_docs: external_docs__, - operation_id: operation_id__.unwrap_or_default(), - consumes: consumes__.unwrap_or_default(), - produces: produces__.unwrap_or_default(), - responses: responses__.unwrap_or_default(), - schemes: schemes__.unwrap_or_default(), - deprecated: deprecated__.unwrap_or_default(), - security: security__.unwrap_or_default(), - extensions: extensions__.unwrap_or_default(), - parameters: parameters__, - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Operation", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Parameters { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.headers.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Parameters", len)?; - if !self.headers.is_empty() { - struct_ser.serialize_field("headers", &self.headers)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Parameters { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "headers", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Headers, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "headers" => Ok(GeneratedField::Headers), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Parameters; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Parameters") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut headers__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Headers => { - if headers__.is_some() { - return Err(serde::de::Error::duplicate_field("headers")); - } - headers__ = Some(map_.next_value()?); - } - } - } - Ok(Parameters { - headers: headers__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Parameters", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Response { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.description.is_empty() { - len += 1; - } - if self.schema.is_some() { - len += 1; - } - if !self.headers.is_empty() { - len += 1; - } - if !self.examples.is_empty() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Response", len)?; - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.schema.as_ref() { - struct_ser.serialize_field("schema", v)?; - } - if !self.headers.is_empty() { - struct_ser.serialize_field("headers", &self.headers)?; - } - if !self.examples.is_empty() { - struct_ser.serialize_field("examples", &self.examples)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Response { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "description", - "schema", - "headers", - "examples", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Description, - Schema, - Headers, - Examples, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "description" => Ok(GeneratedField::Description), - "schema" => Ok(GeneratedField::Schema), - "headers" => Ok(GeneratedField::Headers), - "examples" => Ok(GeneratedField::Examples), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Response; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Response") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut description__ = None; - let mut schema__ = None; - let mut headers__ = None; - let mut examples__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Schema => { - if schema__.is_some() { - return Err(serde::de::Error::duplicate_field("schema")); - } - schema__ = map_.next_value()?; - } - GeneratedField::Headers => { - if headers__.is_some() { - return Err(serde::de::Error::duplicate_field("headers")); - } - headers__ = Some( - map_.next_value::>()? - ); - } - GeneratedField::Examples => { - if examples__.is_some() { - return Err(serde::de::Error::duplicate_field("examples")); - } - examples__ = Some( - map_.next_value::>()? - ); - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(Response { - description: description__.unwrap_or_default(), - schema: schema__, - headers: headers__.unwrap_or_default(), - examples: examples__.unwrap_or_default(), - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Response", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Schema { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.json_schema.is_some() { - len += 1; - } - if !self.discriminator.is_empty() { - len += 1; - } - if self.read_only { - len += 1; - } - if self.external_docs.is_some() { - len += 1; - } - if !self.example.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Schema", len)?; - if let Some(v) = self.json_schema.as_ref() { - struct_ser.serialize_field("jsonSchema", v)?; - } - if !self.discriminator.is_empty() { - struct_ser.serialize_field("discriminator", &self.discriminator)?; - } - if self.read_only { - struct_ser.serialize_field("readOnly", &self.read_only)?; - } - if let Some(v) = self.external_docs.as_ref() { - struct_ser.serialize_field("externalDocs", v)?; - } - if !self.example.is_empty() { - struct_ser.serialize_field("example", &self.example)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Schema { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "json_schema", - "jsonSchema", - "discriminator", - "read_only", - "readOnly", - "external_docs", - "externalDocs", - "example", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - JsonSchema, - Discriminator, - ReadOnly, - ExternalDocs, - Example, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "jsonSchema" | "json_schema" => Ok(GeneratedField::JsonSchema), - "discriminator" => Ok(GeneratedField::Discriminator), - "readOnly" | "read_only" => Ok(GeneratedField::ReadOnly), - "externalDocs" | "external_docs" => Ok(GeneratedField::ExternalDocs), - "example" => Ok(GeneratedField::Example), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Schema; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Schema") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut json_schema__ = None; - let mut discriminator__ = None; - let mut read_only__ = None; - let mut external_docs__ = None; - let mut example__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::JsonSchema => { - if json_schema__.is_some() { - return Err(serde::de::Error::duplicate_field("jsonSchema")); - } - json_schema__ = map_.next_value()?; - } - GeneratedField::Discriminator => { - if discriminator__.is_some() { - return Err(serde::de::Error::duplicate_field("discriminator")); - } - discriminator__ = Some(map_.next_value()?); - } - GeneratedField::ReadOnly => { - if read_only__.is_some() { - return Err(serde::de::Error::duplicate_field("readOnly")); - } - read_only__ = Some(map_.next_value()?); - } - GeneratedField::ExternalDocs => { - if external_docs__.is_some() { - return Err(serde::de::Error::duplicate_field("externalDocs")); - } - external_docs__ = map_.next_value()?; - } - GeneratedField::Example => { - if example__.is_some() { - return Err(serde::de::Error::duplicate_field("example")); - } - example__ = Some(map_.next_value()?); - } - } - } - Ok(Schema { - json_schema: json_schema__, - discriminator: discriminator__.unwrap_or_default(), - read_only: read_only__.unwrap_or_default(), - external_docs: external_docs__, - example: example__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Schema", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Scheme { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unknown => "UNKNOWN", - Self::Http => "HTTP", - Self::Https => "HTTPS", - Self::Ws => "WS", - Self::Wss => "WSS", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for Scheme { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "UNKNOWN", - "HTTP", - "HTTPS", - "WS", - "WSS", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Scheme; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "UNKNOWN" => Ok(Scheme::Unknown), - "HTTP" => Ok(Scheme::Http), - "HTTPS" => Ok(Scheme::Https), - "WS" => Ok(Scheme::Ws), - "WSS" => Ok(Scheme::Wss), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for Scopes { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.scope.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Scopes", len)?; - if !self.scope.is_empty() { - struct_ser.serialize_field("scope", &self.scope)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Scopes { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "scope", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Scope, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "scope" => Ok(GeneratedField::Scope), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Scopes; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Scopes") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut scope__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Scope => { - if scope__.is_some() { - return Err(serde::de::Error::duplicate_field("scope")); - } - scope__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(Scopes { - scope: scope__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Scopes", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SecurityDefinitions { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.security.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions", len)?; - if !self.security.is_empty() { - struct_ser.serialize_field("security", &self.security)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SecurityDefinitions { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "security", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Security, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "security" => Ok(GeneratedField::Security), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SecurityDefinitions; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut security__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Security => { - if security__.is_some() { - return Err(serde::de::Error::duplicate_field("security")); - } - security__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(SecurityDefinitions { - security: security__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityDefinitions", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SecurityRequirement { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.security_requirement.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement", len)?; - if !self.security_requirement.is_empty() { - struct_ser.serialize_field("securityRequirement", &self.security_requirement)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SecurityRequirement { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "security_requirement", - "securityRequirement", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - SecurityRequirement, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "securityRequirement" | "security_requirement" => Ok(GeneratedField::SecurityRequirement), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SecurityRequirement; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut security_requirement__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::SecurityRequirement => { - if security_requirement__.is_some() { - return Err(serde::de::Error::duplicate_field("securityRequirement")); - } - security_requirement__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(SecurityRequirement { - security_requirement: security_requirement__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for security_requirement::SecurityRequirementValue { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.scope.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue", len)?; - if !self.scope.is_empty() { - struct_ser.serialize_field("scope", &self.scope)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for security_requirement::SecurityRequirementValue { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "scope", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Scope, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "scope" => Ok(GeneratedField::Scope), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = security_requirement::SecurityRequirementValue; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut scope__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Scope => { - if scope__.is_some() { - return Err(serde::de::Error::duplicate_field("scope")); - } - scope__ = Some(map_.next_value()?); - } - } - } - Ok(security_requirement::SecurityRequirementValue { - scope: scope__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityRequirement.SecurityRequirementValue", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for SecurityScheme { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.r#type != 0 { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if !self.name.is_empty() { - len += 1; - } - if self.r#in != 0 { - len += 1; - } - if self.flow != 0 { - len += 1; - } - if !self.authorization_url.is_empty() { - len += 1; - } - if !self.token_url.is_empty() { - len += 1; - } - if self.scopes.is_some() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme", len)?; - if self.r#type != 0 { - let v = security_scheme::Type::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if self.r#in != 0 { - let v = security_scheme::In::try_from(self.r#in) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#in)))?; - struct_ser.serialize_field("in", &v)?; - } - if self.flow != 0 { - let v = security_scheme::Flow::try_from(self.flow) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.flow)))?; - struct_ser.serialize_field("flow", &v)?; - } - if !self.authorization_url.is_empty() { - struct_ser.serialize_field("authorizationUrl", &self.authorization_url)?; - } - if !self.token_url.is_empty() { - struct_ser.serialize_field("tokenUrl", &self.token_url)?; - } - if let Some(v) = self.scopes.as_ref() { - struct_ser.serialize_field("scopes", v)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for SecurityScheme { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "type", - "description", - "name", - "in", - "flow", - "authorization_url", - "authorizationUrl", - "token_url", - "tokenUrl", - "scopes", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Type, - Description, - Name, - In, - Flow, - AuthorizationUrl, - TokenUrl, - Scopes, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "type" => Ok(GeneratedField::Type), - "description" => Ok(GeneratedField::Description), - "name" => Ok(GeneratedField::Name), - "in" => Ok(GeneratedField::In), - "flow" => Ok(GeneratedField::Flow), - "authorizationUrl" | "authorization_url" => Ok(GeneratedField::AuthorizationUrl), - "tokenUrl" | "token_url" => Ok(GeneratedField::TokenUrl), - "scopes" => Ok(GeneratedField::Scopes), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = SecurityScheme; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut r#type__ = None; - let mut description__ = None; - let mut name__ = None; - let mut r#in__ = None; - let mut flow__ = None; - let mut authorization_url__ = None; - let mut token_url__ = None; - let mut scopes__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::In => { - if r#in__.is_some() { - return Err(serde::de::Error::duplicate_field("in")); - } - r#in__ = Some(map_.next_value::()? as i32); - } - GeneratedField::Flow => { - if flow__.is_some() { - return Err(serde::de::Error::duplicate_field("flow")); - } - flow__ = Some(map_.next_value::()? as i32); - } - GeneratedField::AuthorizationUrl => { - if authorization_url__.is_some() { - return Err(serde::de::Error::duplicate_field("authorizationUrl")); - } - authorization_url__ = Some(map_.next_value()?); - } - GeneratedField::TokenUrl => { - if token_url__.is_some() { - return Err(serde::de::Error::duplicate_field("tokenUrl")); - } - token_url__ = Some(map_.next_value()?); - } - GeneratedField::Scopes => { - if scopes__.is_some() { - return Err(serde::de::Error::duplicate_field("scopes")); - } - scopes__ = map_.next_value()?; - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(SecurityScheme { - r#type: r#type__.unwrap_or_default(), - description: description__.unwrap_or_default(), - name: name__.unwrap_or_default(), - r#in: r#in__.unwrap_or_default(), - flow: flow__.unwrap_or_default(), - authorization_url: authorization_url__.unwrap_or_default(), - token_url: token_url__.unwrap_or_default(), - scopes: scopes__, - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.SecurityScheme", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for security_scheme::Flow { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Invalid => "FLOW_INVALID", - Self::Implicit => "FLOW_IMPLICIT", - Self::Password => "FLOW_PASSWORD", - Self::Application => "FLOW_APPLICATION", - Self::AccessCode => "FLOW_ACCESS_CODE", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for security_scheme::Flow { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "FLOW_INVALID", - "FLOW_IMPLICIT", - "FLOW_PASSWORD", - "FLOW_APPLICATION", - "FLOW_ACCESS_CODE", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = security_scheme::Flow; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "FLOW_INVALID" => Ok(security_scheme::Flow::Invalid), - "FLOW_IMPLICIT" => Ok(security_scheme::Flow::Implicit), - "FLOW_PASSWORD" => Ok(security_scheme::Flow::Password), - "FLOW_APPLICATION" => Ok(security_scheme::Flow::Application), - "FLOW_ACCESS_CODE" => Ok(security_scheme::Flow::AccessCode), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for security_scheme::In { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Invalid => "IN_INVALID", - Self::Query => "IN_QUERY", - Self::Header => "IN_HEADER", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for security_scheme::In { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "IN_INVALID", - "IN_QUERY", - "IN_HEADER", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = security_scheme::In; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "IN_INVALID" => Ok(security_scheme::In::Invalid), - "IN_QUERY" => Ok(security_scheme::In::Query), - "IN_HEADER" => Ok(security_scheme::In::Header), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for security_scheme::Type { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Invalid => "TYPE_INVALID", - Self::Basic => "TYPE_BASIC", - Self::ApiKey => "TYPE_API_KEY", - Self::Oauth2 => "TYPE_OAUTH2", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for security_scheme::Type { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "TYPE_INVALID", - "TYPE_BASIC", - "TYPE_API_KEY", - "TYPE_OAUTH2", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = security_scheme::Type; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "TYPE_INVALID" => Ok(security_scheme::Type::Invalid), - "TYPE_BASIC" => Ok(security_scheme::Type::Basic), - "TYPE_API_KEY" => Ok(security_scheme::Type::ApiKey), - "TYPE_OAUTH2" => Ok(security_scheme::Type::Oauth2), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for Swagger { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.swagger.is_empty() { - len += 1; - } - if self.info.is_some() { - len += 1; - } - if !self.host.is_empty() { - len += 1; - } - if !self.base_path.is_empty() { - len += 1; - } - if !self.schemes.is_empty() { - len += 1; - } - if !self.consumes.is_empty() { - len += 1; - } - if !self.produces.is_empty() { - len += 1; - } - if !self.responses.is_empty() { - len += 1; - } - if self.security_definitions.is_some() { - len += 1; - } - if !self.security.is_empty() { - len += 1; - } - if !self.tags.is_empty() { - len += 1; - } - if self.external_docs.is_some() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Swagger", len)?; - if !self.swagger.is_empty() { - struct_ser.serialize_field("swagger", &self.swagger)?; - } - if let Some(v) = self.info.as_ref() { - struct_ser.serialize_field("info", v)?; - } - if !self.host.is_empty() { - struct_ser.serialize_field("host", &self.host)?; - } - if !self.base_path.is_empty() { - struct_ser.serialize_field("basePath", &self.base_path)?; - } - if !self.schemes.is_empty() { - let v = self.schemes.iter().cloned().map(|v| { - Scheme::try_from(v) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", v))) - }).collect::, _>>()?; - struct_ser.serialize_field("schemes", &v)?; - } - if !self.consumes.is_empty() { - struct_ser.serialize_field("consumes", &self.consumes)?; - } - if !self.produces.is_empty() { - struct_ser.serialize_field("produces", &self.produces)?; - } - if !self.responses.is_empty() { - struct_ser.serialize_field("responses", &self.responses)?; - } - if let Some(v) = self.security_definitions.as_ref() { - struct_ser.serialize_field("securityDefinitions", v)?; - } - if !self.security.is_empty() { - struct_ser.serialize_field("security", &self.security)?; - } - if !self.tags.is_empty() { - struct_ser.serialize_field("tags", &self.tags)?; - } - if let Some(v) = self.external_docs.as_ref() { - struct_ser.serialize_field("externalDocs", v)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Swagger { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "swagger", - "info", - "host", - "base_path", - "basePath", - "schemes", - "consumes", - "produces", - "responses", - "security_definitions", - "securityDefinitions", - "security", - "tags", - "external_docs", - "externalDocs", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Swagger, - Info, - Host, - BasePath, - Schemes, - Consumes, - Produces, - Responses, - SecurityDefinitions, - Security, - Tags, - ExternalDocs, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "swagger" => Ok(GeneratedField::Swagger), - "info" => Ok(GeneratedField::Info), - "host" => Ok(GeneratedField::Host), - "basePath" | "base_path" => Ok(GeneratedField::BasePath), - "schemes" => Ok(GeneratedField::Schemes), - "consumes" => Ok(GeneratedField::Consumes), - "produces" => Ok(GeneratedField::Produces), - "responses" => Ok(GeneratedField::Responses), - "securityDefinitions" | "security_definitions" => Ok(GeneratedField::SecurityDefinitions), - "security" => Ok(GeneratedField::Security), - "tags" => Ok(GeneratedField::Tags), - "externalDocs" | "external_docs" => Ok(GeneratedField::ExternalDocs), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Swagger; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Swagger") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut swagger__ = None; - let mut info__ = None; - let mut host__ = None; - let mut base_path__ = None; - let mut schemes__ = None; - let mut consumes__ = None; - let mut produces__ = None; - let mut responses__ = None; - let mut security_definitions__ = None; - let mut security__ = None; - let mut tags__ = None; - let mut external_docs__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Swagger => { - if swagger__.is_some() { - return Err(serde::de::Error::duplicate_field("swagger")); - } - swagger__ = Some(map_.next_value()?); - } - GeneratedField::Info => { - if info__.is_some() { - return Err(serde::de::Error::duplicate_field("info")); - } - info__ = map_.next_value()?; - } - GeneratedField::Host => { - if host__.is_some() { - return Err(serde::de::Error::duplicate_field("host")); - } - host__ = Some(map_.next_value()?); - } - GeneratedField::BasePath => { - if base_path__.is_some() { - return Err(serde::de::Error::duplicate_field("basePath")); - } - base_path__ = Some(map_.next_value()?); - } - GeneratedField::Schemes => { - if schemes__.is_some() { - return Err(serde::de::Error::duplicate_field("schemes")); - } - schemes__ = Some(map_.next_value::>()?.into_iter().map(|x| x as i32).collect()); - } - GeneratedField::Consumes => { - if consumes__.is_some() { - return Err(serde::de::Error::duplicate_field("consumes")); - } - consumes__ = Some(map_.next_value()?); - } - GeneratedField::Produces => { - if produces__.is_some() { - return Err(serde::de::Error::duplicate_field("produces")); - } - produces__ = Some(map_.next_value()?); - } - GeneratedField::Responses => { - if responses__.is_some() { - return Err(serde::de::Error::duplicate_field("responses")); - } - responses__ = Some( - map_.next_value::>()? - ); - } - GeneratedField::SecurityDefinitions => { - if security_definitions__.is_some() { - return Err(serde::de::Error::duplicate_field("securityDefinitions")); - } - security_definitions__ = map_.next_value()?; - } - GeneratedField::Security => { - if security__.is_some() { - return Err(serde::de::Error::duplicate_field("security")); - } - security__ = Some(map_.next_value()?); - } - GeneratedField::Tags => { - if tags__.is_some() { - return Err(serde::de::Error::duplicate_field("tags")); - } - tags__ = Some(map_.next_value()?); - } - GeneratedField::ExternalDocs => { - if external_docs__.is_some() { - return Err(serde::de::Error::duplicate_field("externalDocs")); - } - external_docs__ = map_.next_value()?; - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(Swagger { - swagger: swagger__.unwrap_or_default(), - info: info__, - host: host__.unwrap_or_default(), - base_path: base_path__.unwrap_or_default(), - schemes: schemes__.unwrap_or_default(), - consumes: consumes__.unwrap_or_default(), - produces: produces__.unwrap_or_default(), - responses: responses__.unwrap_or_default(), - security_definitions: security_definitions__, - security: security__.unwrap_or_default(), - tags: tags__.unwrap_or_default(), - external_docs: external_docs__, - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Swagger", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Tag { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.external_docs.is_some() { - len += 1; - } - if !self.extensions.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Tag", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.external_docs.as_ref() { - struct_ser.serialize_field("externalDocs", v)?; - } - if !self.extensions.is_empty() { - struct_ser.serialize_field("extensions", &self.extensions)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Tag { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "description", - "external_docs", - "externalDocs", - "extensions", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Description, - ExternalDocs, - Extensions, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "externalDocs" | "external_docs" => Ok(GeneratedField::ExternalDocs), - "extensions" => Ok(GeneratedField::Extensions), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Tag; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct grpc.gateway.protoc_gen_openapiv2.options.Tag") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut description__ = None; - let mut external_docs__ = None; - let mut extensions__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::ExternalDocs => { - if external_docs__.is_some() { - return Err(serde::de::Error::duplicate_field("externalDocs")); - } - external_docs__ = map_.next_value()?; - } - GeneratedField::Extensions => { - if extensions__.is_some() { - return Err(serde::de::Error::duplicate_field("extensions")); - } - extensions__ = Some( - map_.next_value::>()? - ); - } - } - } - Ok(Tag { - name: name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - external_docs: external_docs__, - extensions: extensions__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("grpc.gateway.protoc_gen_openapiv2.options.Tag", FIELDS, GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/mod.rs b/rust/crates/sift_rs/src/gen/mod.rs index 3a0caea73..67fd6f6b4 100644 --- a/rust/crates/sift_rs/src/gen/mod.rs +++ b/rust/crates/sift_rs/src/gen/mod.rs @@ -1,31 +1,4 @@ // @generated -pub mod buf { - // @@protoc_insertion_point(attribute:buf.validate) - pub mod validate { - include!("buf/validate/buf.validate.rs"); - // @@protoc_insertion_point(buf.validate) - } -} -pub mod google { - // @@protoc_insertion_point(attribute:google.api) - pub mod api { - include!("google/api/google.api.rs"); - // @@protoc_insertion_point(google.api) - } -} -pub mod grpc { - pub mod gateway { - pub mod protoc_gen_openapiv2 { - // @@protoc_insertion_point(attribute:grpc.gateway.protoc_gen_openapiv2.options) - pub mod options { - include!( - "grpc/gateway/protoc_gen_openapiv2/options/grpc.gateway.protoc_gen_openapiv2.options.rs" - ); - // @@protoc_insertion_point(grpc.gateway.protoc_gen_openapiv2.options) - } - } - } -} pub mod sift { pub mod annotation_logs { // @@protoc_insertion_point(attribute:sift.annotation_logs.v1) @@ -106,6 +79,11 @@ pub mod sift { // @@protoc_insertion_point(sift.common.type.v1) } } + // @@protoc_insertion_point(attribute:sift.common.v1) + pub mod v1 { + include!("sift/common/v1/sift.common.v1.rs"); + // @@protoc_insertion_point(sift.common.v1) + } } pub mod data { // @@protoc_insertion_point(attribute:sift.data.v1) @@ -194,13 +172,6 @@ pub mod sift { // @@protoc_insertion_point(sift.notifications.v1) } } - pub mod options { - // @@protoc_insertion_point(attribute:sift.options.v1) - pub mod v1 { - include!("sift/options/v1/sift.options.v1.rs"); - // @@protoc_insertion_point(sift.options.v1) - } - } pub mod ping { // @@protoc_insertion_point(attribute:sift.ping.v1) pub mod v1 { @@ -208,13 +179,6 @@ pub mod sift { // @@protoc_insertion_point(sift.ping.v1) } } - pub mod policies { - // @@protoc_insertion_point(attribute:sift.policies.v1) - pub mod v1 { - include!("sift/policies/v1/sift.policies.v1.rs"); - // @@protoc_insertion_point(sift.policies.v1) - } - } pub mod protobuf_descriptors { // @@protoc_insertion_point(attribute:sift.protobuf_descriptors.v2) pub mod v2 { @@ -243,13 +207,6 @@ pub mod sift { // @@protoc_insertion_point(sift.reports.v1) } } - pub mod resource_attribute { - // @@protoc_insertion_point(attribute:sift.resource_attribute.v1) - pub mod v1 { - include!("sift/resource_attribute/v1/sift.resource_attribute.v1.rs"); - // @@protoc_insertion_point(sift.resource_attribute.v1) - } - } pub mod roles { // @@protoc_insertion_point(attribute:sift.roles.v2) pub mod v2 { @@ -311,13 +268,6 @@ pub mod sift { // @@protoc_insertion_point(sift.unit.v2) } } - pub mod user_attributes { - // @@protoc_insertion_point(attribute:sift.user_attributes.v1) - pub mod v1 { - include!("sift/user_attributes/v1/sift.user_attributes.v1.rs"); - // @@protoc_insertion_point(sift.user_attributes.v1) - } - } pub mod user_defined_functions { // @@protoc_insertion_point(attribute:sift.user_defined_functions.v1) pub mod v1 { diff --git a/rust/crates/sift_rs/src/gen/sift/annotation_logs/v1/sift.annotation_logs.v1.rs b/rust/crates/sift_rs/src/gen/sift/annotation_logs/v1/sift.annotation_logs.v1.rs index 4b34c750d..084204fac 100644 --- a/rust/crates/sift_rs/src/gen/sift/annotation_logs/v1/sift.annotation_logs.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/annotation_logs/v1/sift.annotation_logs.v1.rs @@ -216,7 +216,7 @@ impl AnnotationCommentBodyElementType { } /// Encoded file descriptor set for the `sift.annotation_logs.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0x93, 0x55, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x0a, 0x8e, 0x55, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, @@ -492,7 +492,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x6f, 0x67, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xc4, 0x32, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, + 0x6f, 0x67, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xbf, 0x32, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xae, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x20, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, @@ -659,8 +659,8 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x59, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x59, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x59, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x59, 0x19, 0x3f, 0x0a, 0xda, 0x04, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x60, 0x02, 0x3d, 0x1a, 0xcc, 0x04, 0x20, 0x41, 0x20, + 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x59, 0x19, 0x3f, 0x0a, 0xd5, 0x04, 0x0a, + 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x60, 0x02, 0x3d, 0x1a, 0xc7, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, @@ -692,212 +692,212 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, - 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, - 0x72, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, - 0x67, 0x73, 0x23, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x6f, 0x67, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x20, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x03, 0x05, 0x12, 0x03, 0x60, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x60, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x03, - 0x60, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x08, 0x12, 0x03, 0x60, 0x14, - 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x60, - 0x15, 0x3b, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x64, 0x00, 0x67, 0x01, 0x1a, 0x46, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, - 0x6f, 0x67, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x64, - 0x08, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x65, 0x02, 0x39, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x65, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x65, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x65, 0x25, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x65, 0x37, 0x38, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, - 0x03, 0x66, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x66, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x66, 0x09, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x66, 0x1b, 0x1c, 0x0a, 0x6f, - 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x6a, 0x00, 0x6f, 0x01, 0x1a, 0x63, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, - 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x2e, 0x0a, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x6a, 0x08, 0x22, 0x0a, 0x60, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x00, 0x12, 0x03, 0x6c, 0x02, 0x44, 0x1a, 0x53, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, - 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x6c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6c, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x6c, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, - 0x12, 0x03, 0x6c, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x6c, 0x1c, 0x42, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, - 0x6e, 0x02, 0x48, 0x1a, 0x29, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6e, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x6e, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x6e, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x6e, 0x20, 0x46, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, 0x72, - 0x00, 0x26, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x05, 0x01, 0x12, 0x03, 0x72, 0x08, 0x23, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x05, 0x74, - 0x00, 0x81, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x74, 0x08, 0x21, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x75, 0x02, 0x48, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x75, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x75, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, - 0x12, 0x03, 0x75, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x75, 0x20, 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, - 0x76, 0x02, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, 0x76, 0x02, - 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x76, 0x1c, 0x28, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x76, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x03, 0x76, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x76, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x02, 0x12, 0x03, 0x77, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x02, 0x06, 0x12, 0x03, 0x77, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x77, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x03, - 0x77, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, 0x03, 0x77, 0x2e, - 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x77, - 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x03, 0x78, 0x02, 0x44, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x03, 0x78, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x03, 0x78, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x03, 0x03, 0x12, 0x03, 0x78, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x03, 0x08, 0x12, 0x03, 0x78, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x78, 0x1c, 0x42, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, - 0x12, 0x03, 0x79, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x06, 0x12, 0x03, - 0x79, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, 0x03, 0x79, 0x14, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x03, 0x79, 0x1b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x08, 0x12, 0x03, 0x79, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x06, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x79, 0x1e, 0x44, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x05, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x05, 0x01, 0x12, 0x03, 0x7a, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, - 0x12, 0x03, 0x7a, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x08, 0x12, 0x03, - 0x7a, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x7a, 0x21, 0x47, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x02, - 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x03, 0x7b, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x09, 0x1d, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x03, 0x7b, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x06, 0x08, 0x12, 0x03, 0x7b, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, - 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x23, 0x49, 0x0a, 0x0d, 0x0a, 0x04, 0x04, 0x06, - 0x08, 0x00, 0x12, 0x05, 0x7c, 0x02, 0x80, 0x01, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x08, - 0x00, 0x01, 0x12, 0x03, 0x7c, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, - 0x03, 0x7d, 0x04, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x06, 0x12, 0x03, 0x7d, - 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x01, 0x12, 0x03, 0x7d, 0x24, 0x2c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7d, 0x2f, 0x30, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x08, 0x12, 0x03, 0x7e, 0x04, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x08, 0x06, 0x12, 0x03, 0x7e, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x08, 0x01, 0x12, 0x03, 0x7e, 0x27, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x03, - 0x12, 0x03, 0x7e, 0x36, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x09, 0x12, 0x03, 0x7f, - 0x04, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x06, 0x12, 0x03, 0x7f, 0x04, 0x22, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x01, 0x12, 0x03, 0x7f, 0x23, 0x2a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x03, 0x12, 0x03, 0x7f, 0x2d, 0x2f, 0x0a, 0x0c, 0x0a, 0x02, - 0x05, 0x00, 0x12, 0x06, 0x83, 0x01, 0x00, 0x88, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, - 0x01, 0x12, 0x04, 0x83, 0x01, 0x05, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, - 0x04, 0x84, 0x01, 0x02, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, - 0x84, 0x01, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x84, - 0x01, 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0x85, 0x01, 0x02, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x01, 0x02, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0x85, 0x01, 0x20, 0x21, 0x0a, - 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x03, 0x12, 0x04, 0x87, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x03, 0x01, 0x12, 0x04, 0x87, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, - 0x02, 0x12, 0x04, 0x87, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x8a, - 0x01, 0x00, 0x8d, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x8a, 0x01, - 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x4a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x09, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8b, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x22, 0x48, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x09, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x01, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x01, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, - 0x12, 0x06, 0x8f, 0x01, 0x00, 0x91, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, - 0x04, 0x8f, 0x01, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x90, - 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x90, 0x01, - 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x01, 0x15, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x01, 0x1d, 0x1e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x01, 0x1f, 0x47, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x01, 0x20, - 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0x93, 0x01, 0x00, 0x99, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0x93, 0x01, 0x05, 0x17, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0x94, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x00, 0x02, 0x12, 0x04, 0x94, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, - 0x12, 0x04, 0x95, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x04, 0x95, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, - 0x95, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0x96, 0x01, - 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0x96, 0x01, 0x1e, 0x1f, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, 0x12, 0x04, 0x97, 0x01, 0x02, 0x23, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0x97, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x04, 0x97, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x01, 0x02, 0x04, 0x12, 0x04, 0x98, 0x01, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x04, 0x01, 0x12, 0x04, 0x98, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x04, 0x02, 0x12, 0x04, 0x98, 0x01, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, - 0x9b, 0x01, 0x00, 0x9d, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x9b, - 0x01, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x02, - 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x27, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x28, 0x2c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x2f, 0x30, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x0a, 0x12, 0x06, 0x9f, 0x01, 0x00, 0xa3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0a, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, - 0x12, 0x04, 0xa0, 0x01, 0x02, 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xa0, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xa0, 0x01, 0x23, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa0, - 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa0, 0x01, - 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xa0, 0x01, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x01, - 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x0d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x10, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa1, 0x01, 0x12, 0x3a, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x13, 0x39, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x59, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x1f, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa2, 0x01, 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x02, 0x08, 0x12, 0x04, 0xa2, 0x01, 0x30, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, - 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa2, 0x01, 0x31, 0x57, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x0b, 0x12, 0x06, 0xa5, 0x01, 0x00, 0xa8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, - 0x01, 0x12, 0x04, 0xa5, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, - 0x04, 0xa6, 0x01, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xa6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, - 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, - 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x15, - 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, - 0x01, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x02, - 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x09, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x16, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa7, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x01, 0x19, 0x3f, 0x0a, - 0x0c, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x06, 0xaa, 0x01, 0x00, 0xae, 0x01, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x05, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x05, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, - 0x02, 0x00, 0x12, 0x04, 0xab, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xab, 0x01, 0x02, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, - 0x12, 0x04, 0xab, 0x01, 0x35, 0x36, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xac, 0x01, 0x02, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xac, - 0x01, 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xac, 0x01, - 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xad, 0x01, 0x02, 0x38, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xad, 0x01, 0x02, 0x33, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, 0xad, 0x01, 0x36, 0x37, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6e, 0x5d, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x23, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x6c, 0x6f, 0x67, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x05, 0x12, 0x03, 0x60, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x60, 0x09, 0x0f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x03, 0x60, 0x12, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x08, 0x12, 0x03, 0x60, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x02, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x60, 0x15, 0x3b, 0x0a, 0x52, 0x0a, + 0x02, 0x04, 0x03, 0x12, 0x04, 0x64, 0x00, 0x67, 0x01, 0x1a, 0x46, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x73, 0x60, 0x2e, + 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x64, 0x08, 0x22, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x65, 0x02, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x04, 0x12, 0x03, 0x65, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, + 0x06, 0x12, 0x03, 0x65, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x65, 0x25, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x65, + 0x37, 0x38, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x66, 0x02, 0x1d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x66, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x66, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x66, 0x1b, 0x1c, 0x0a, 0x6f, 0x0a, 0x02, 0x04, 0x04, 0x12, + 0x04, 0x6a, 0x00, 0x6f, 0x01, 0x1a, 0x63, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x60, 0x20, 0x74, 0x6f, 0x20, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, + 0x01, 0x12, 0x03, 0x6a, 0x08, 0x22, 0x0a, 0x60, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, + 0x6c, 0x02, 0x44, 0x1a, 0x53, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, + 0x05, 0x12, 0x03, 0x6c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x6c, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6c, + 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6c, 0x1b, 0x43, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6c, 0x1c, + 0x42, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x6e, 0x02, 0x48, 0x1a, 0x29, + 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x01, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x6e, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, + 0x6e, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x6e, 0x1f, + 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6e, + 0x20, 0x46, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x03, 0x72, 0x00, 0x26, 0x1a, 0x47, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4c, 0x6f, 0x67, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x72, + 0x08, 0x23, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x05, 0x74, 0x00, 0x81, 0x01, 0x01, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x74, 0x08, 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x00, 0x12, 0x03, 0x75, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x75, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, + 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x03, 0x75, 0x1f, 0x47, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x75, 0x20, + 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x76, 0x02, 0x56, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, 0x76, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x76, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x76, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, + 0x08, 0x12, 0x03, 0x76, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x03, 0x76, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, + 0x03, 0x77, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x06, 0x12, 0x03, 0x77, + 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x03, 0x77, 0x1c, 0x29, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x03, 0x77, 0x2c, 0x2d, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, 0x03, 0x77, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x77, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x03, 0x78, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x03, 0x05, 0x12, 0x03, 0x78, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, + 0x01, 0x12, 0x03, 0x78, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, + 0x03, 0x78, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x03, 0x78, + 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x78, 0x1c, 0x42, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x03, 0x79, 0x02, 0x46, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x06, 0x12, 0x03, 0x79, 0x02, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, 0x03, 0x79, 0x14, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x03, 0x79, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x04, 0x08, 0x12, 0x03, 0x79, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x04, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x79, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, + 0x05, 0x12, 0x03, 0x7a, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x05, 0x12, + 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, 0x12, 0x03, 0x7a, + 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7a, 0x1e, 0x1f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x08, 0x12, 0x03, 0x7a, 0x20, 0x48, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x06, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7a, 0x21, 0x47, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x03, 0x7b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x09, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, + 0x03, 0x12, 0x03, 0x7b, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x08, 0x12, + 0x03, 0x7b, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x7b, 0x23, 0x49, 0x0a, 0x0d, 0x0a, 0x04, 0x04, 0x06, 0x08, 0x00, 0x12, 0x05, 0x7c, + 0x02, 0x80, 0x01, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x08, 0x00, 0x01, 0x12, 0x03, 0x7c, + 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x03, 0x7d, 0x04, 0x31, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x06, 0x12, 0x03, 0x7d, 0x04, 0x23, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x07, 0x01, 0x12, 0x03, 0x7d, 0x24, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7d, 0x2f, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, + 0x08, 0x12, 0x03, 0x7e, 0x04, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x06, 0x12, + 0x03, 0x7e, 0x04, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x01, 0x12, 0x03, 0x7e, + 0x27, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x03, 0x12, 0x03, 0x7e, 0x36, 0x37, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x09, 0x12, 0x03, 0x7f, 0x04, 0x30, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x09, 0x06, 0x12, 0x03, 0x7f, 0x04, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x09, 0x01, 0x12, 0x03, 0x7f, 0x23, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x09, 0x03, 0x12, 0x03, 0x7f, 0x2d, 0x2f, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0x83, + 0x01, 0x00, 0x88, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, + 0x05, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0x84, 0x01, 0x02, 0x26, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x84, 0x01, 0x02, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x84, 0x01, 0x24, 0x25, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0x85, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0x85, 0x01, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, + 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, + 0x12, 0x04, 0x86, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x04, + 0x87, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0x87, + 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0x87, 0x01, + 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x8a, 0x01, 0x00, 0x8d, 0x01, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x8a, 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x8b, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, + 0x01, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, + 0x12, 0x04, 0x8c, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, + 0x04, 0x8c, 0x01, 0x09, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, + 0x8c, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8c, + 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x8c, 0x01, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x8f, 0x01, 0x00, + 0x91, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x08, 0x2a, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x90, 0x01, 0x02, 0x48, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x90, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x01, 0x15, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x01, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, + 0x05, 0x01, 0x12, 0x06, 0x93, 0x01, 0x00, 0x99, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, + 0x01, 0x12, 0x04, 0x93, 0x01, 0x05, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, + 0x04, 0x94, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x94, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0x94, + 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0x95, 0x01, 0x02, + 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x95, 0x01, 0x02, 0x1e, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0x95, 0x01, 0x21, 0x22, 0x0a, + 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0x96, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0x96, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, + 0x01, 0x02, 0x03, 0x12, 0x04, 0x97, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, + 0x03, 0x01, 0x12, 0x04, 0x97, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, + 0x02, 0x12, 0x04, 0x97, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, + 0x04, 0x98, 0x01, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, + 0x98, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x04, 0x98, + 0x01, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x9b, 0x01, 0x00, 0x9d, 0x01, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x08, 0x26, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x31, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x28, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x2f, 0x30, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, + 0x9f, 0x01, 0x00, 0xa3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x9f, + 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xa0, 0x01, 0x02, + 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x22, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x23, 0x27, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa0, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x01, 0x2d, 0x53, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xa1, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x0a, 0x02, 0x02, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x59, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x02, 0x06, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, + 0x01, 0x12, 0x04, 0xa2, 0x01, 0x1f, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, + 0x12, 0x04, 0xa2, 0x01, 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x12, + 0x04, 0xa2, 0x01, 0x30, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xa2, 0x01, 0x31, 0x57, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xa5, + 0x01, 0x00, 0xa8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xa5, 0x01, + 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x3e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x09, 0x10, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x16, 0x3c, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xa7, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x02, + 0x12, 0x06, 0xaa, 0x01, 0x00, 0xae, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, + 0x04, 0xaa, 0x01, 0x05, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x04, 0xab, + 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xab, 0x01, + 0x02, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, 0xab, 0x01, 0x35, + 0x36, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xac, 0x01, 0x02, 0x30, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xac, 0x01, 0x02, 0x2b, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xac, 0x01, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, + 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xad, 0x01, 0x02, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xad, 0x01, 0x02, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, + 0x02, 0x02, 0x02, 0x12, 0x04, 0xad, 0x01, 0x36, 0x37, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, ]; include!("sift.annotation_logs.v1.tonic.rs"); include!("sift.annotation_logs.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.rs b/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.rs index 691bb0e3a..8fbdaeebf 100644 --- a/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.rs @@ -57,6 +57,10 @@ pub struct Annotation { pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, #[prost(bool, tag="27")] pub is_archived: bool, + #[prost(int32, tag="28")] + pub batched_triggers: i32, + #[prost(bool, tag="29")] + pub is_noisy_rule: bool, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct AnnotationLinkedChannelsChannel { @@ -71,8 +75,13 @@ pub struct AnnotationLinkedChannelsBitFieldElement { pub bit_field_name: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct AnnotationLinkedCalculatedChannel { + #[prost(string, tag="1")] + pub calculated_channel_version_id: ::prost::alloc::string::String, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct AnnotationLinkedChannel { - #[prost(oneof="annotation_linked_channel::Type", tags="1, 2")] + #[prost(oneof="annotation_linked_channel::Type", tags="1, 2, 3")] pub r#type: ::core::option::Option, } /// Nested message and enum types in `AnnotationLinkedChannel`. @@ -83,6 +92,8 @@ pub mod annotation_linked_channel { Channel(super::AnnotationLinkedChannelsChannel), #[prost(message, tag="2")] BitFieldElement(super::AnnotationLinkedChannelsBitFieldElement), + #[prost(message, tag="3")] + CalculatedChannel(super::AnnotationLinkedCalculatedChannel), } } #[derive(Clone, PartialEq, ::prost::Message)] @@ -286,7 +297,7 @@ impl AnnotationType { } /// Encoded file descriptor set for the `sift.annotations.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0x9d, 0xbd, 0x01, 0x0a, 0x25, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x0a, 0xc2, 0xc2, 0x01, 0x0a, 0x25, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, @@ -305,7 +316,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0x81, 0x0d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x0d, 0x0a, 0x0a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, @@ -401,398 +412,417 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, - 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x45, 0x0a, 0x1f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x12, 0x2e, 0x0a, 0x10, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x5f, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x65, 0x64, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x73, + 0x12, 0x27, 0x0a, 0x0d, 0x69, 0x73, 0x5f, 0x6e, 0x6f, 0x69, 0x73, 0x79, 0x5f, 0x72, 0x75, 0x6c, + 0x65, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x69, 0x73, + 0x4e, 0x6f, 0x69, 0x73, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x27, 0x0a, 0x25, + 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, + 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x22, 0x45, 0x0a, 0x1f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, + 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x78, 0x0a, 0x27, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0x78, - 0x0a, 0x27, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, - 0x0e, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xdf, 0x01, 0x0a, 0x17, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x50, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x07, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x6a, 0x0a, 0x11, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, - 0x00, 0x52, 0x0f, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x17, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x5a, 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x69, 0x6e, - 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, - 0x61, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, - 0x74, 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, - 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, - 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x65, 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, + 0x6e, 0x74, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0e, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x61, 0x6d, + 0x65, 0x22, 0x6b, 0x0a, 0x21, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, + 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x46, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0xc8, + 0x02, 0x0a, 0x17, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, + 0x6b, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x50, 0x0a, 0x07, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x6a, 0x0a, 0x11, + 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, - 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x0f, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x11, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x91, 0x08, 0x0a, 0x17, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, + 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x1b, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x5a, + 0x0a, 0x0f, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x3f, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x0d, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, - 0x52, 0x0c, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, - 0x01, 0x12, 0x57, 0x0a, 0x24, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x05, 0x52, 0x1f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, - 0x79, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, - 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x60, - 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6c, 0x69, 0x6e, 0x6b, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, + 0x61, 0x67, 0x73, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x11, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x5f, 0x74, + 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0e, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x54, 0x6f, + 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x02, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x51, 0x0a, + 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x3f, 0x0a, 0x17, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x14, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x42, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x2d, 0x0a, 0x0d, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, + 0x0c, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x88, 0x01, 0x01, + 0x12, 0x57, 0x0a, 0x24, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x05, 0x52, 0x1f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, + 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x10, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x0a, 0x07, 0x5f, + 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x42, 0x08, 0x0a, 0x06, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x27, 0x0a, 0x25, 0x5f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x60, 0x0a, + 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x43, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x4b, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, + 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x40, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x5d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x43, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, + 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, 0x0a, + 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, + 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, + 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x4b, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x20, - 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x40, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x22, 0x5d, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, - 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, - 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x84, 0x01, - 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, - 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa1, 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x5b, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x1b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x44, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x61, 0x0a, 0x19, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, - 0x0a, 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x0d, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x1b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x1e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, - 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x1f, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x4e, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2a, 0x8b, 0x01, 0x0a, 0x0f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, - 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, - 0x12, 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, - 0x54, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, - 0x6d, 0x0a, 0x0e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, - 0x57, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x10, 0x02, 0x32, 0x81, - 0x13, 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x2a, 0x12, 0x10, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x4c, 0x0a, 0x1e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x69, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x22, 0x4e, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2a, 0x0a, 0x0e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x73, 0x22, 0x6b, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2a, 0x8b, 0x01, 0x0a, 0x0f, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x4f, 0x50, 0x45, 0x4e, 0x10, + 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x46, 0x4c, 0x41, 0x47, 0x47, 0x45, 0x44, 0x10, 0x02, 0x12, + 0x1d, 0x0a, 0x19, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x54, + 0x41, 0x54, 0x45, 0x5f, 0x52, 0x45, 0x53, 0x4f, 0x4c, 0x56, 0x45, 0x44, 0x10, 0x03, 0x2a, 0x6d, + 0x0a, 0x0e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x52, 0x45, 0x56, 0x49, 0x45, 0x57, + 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x10, 0x02, 0x32, 0x81, 0x13, + 0x0a, 0x11, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x12, 0xbc, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x92, 0x41, 0x2b, 0x12, 0x10, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, - 0x88, 0x02, 0x01, 0x12, 0xd9, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x92, 0x41, 0x2a, 0x12, 0x10, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x16, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x22, 0x13, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0xcd, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5c, 0x92, 0x41, 0x2b, 0x12, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x2a, 0x23, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, + 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x88, + 0x02, 0x01, 0x12, 0xd9, 0x01, 0x0a, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x2c, 0x12, 0x11, 0x41, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x2c, 0x12, 0x11, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x17, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, + 0x2a, 0x22, 0x2b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe5, + 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x17, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, - 0x01, 0x2a, 0x22, 0x2b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, - 0xe5, 0x01, 0x0a, 0x13, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x92, 0x41, 0x30, 0x12, - 0x13, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x19, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x75, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6b, 0x92, 0x41, 0x30, 0x12, 0x13, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0x19, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, 0x22, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x75, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x16, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x32, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x32, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x34, - 0x12, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, - 0x01, 0x12, 0xea, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x36, 0x12, 0x17, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x34, 0x12, + 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, + 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf6, - 0x01, 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x73, + 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, + 0x12, 0xea, 0x01, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x92, 0x41, 0x3a, - 0x12, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1d, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, - 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x41, 0x12, 0x0e, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2f, 0x52, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x56, 0x92, 0x41, 0x28, 0x12, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x25, 0x12, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x64, 0x92, 0x41, 0x36, 0x12, 0x17, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x25, 0x3a, 0x01, 0x2a, 0x22, 0x20, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf6, 0x01, + 0x0a, 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x92, 0x41, 0x6d, - 0x12, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x1a, 0x59, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb4, 0x01, 0x92, 0x41, - 0xb0, 0x01, 0x12, 0x36, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, - 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x1a, 0x76, 0x0a, 0x1c, 0x52, 0x65, - 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, - 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, - 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x38, 0x36, 0x36, - 0x38, 0x35, 0x42, 0xb2, 0x01, 0x92, 0x41, 0x16, 0x12, 0x14, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x17, - 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x41, - 0x58, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xff, 0x7d, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, - 0xf9, 0x02, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6a, 0x92, 0x41, 0x3a, 0x12, + 0x19, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x1d, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, + 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xcd, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x41, 0x12, 0x0e, 0x4c, 0x69, 0x73, 0x74, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x2f, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x15, 0x12, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xbe, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, + 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x56, 0x92, 0x41, 0x28, 0x12, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x1a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, + 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x25, 0x12, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x80, 0x02, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8e, 0x01, 0x92, 0x41, 0x6d, 0x12, + 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x1a, 0x59, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x18, 0x3a, 0x01, 0x2a, 0x32, 0x13, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb4, 0x01, 0x92, 0x41, 0xb0, + 0x01, 0x12, 0x36, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, + 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x1a, 0x76, 0x0a, 0x1c, 0x52, 0x65, 0x61, + 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x38, 0x36, 0x36, 0x38, + 0x35, 0x42, 0xb2, 0x01, 0x92, 0x41, 0x16, 0x12, 0x14, 0x0a, 0x12, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x41, 0x58, + 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, + 0x69, 0x66, 0x74, 0x5c, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xf4, 0x80, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, + 0x81, 0x03, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, @@ -993,7 +1023,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x04, 0x8c, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x8a, 0x01, 0x06, 0x21, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x06, 0x6e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x06, - 0x90, 0x01, 0x00, 0xb6, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x04, 0x90, + 0x90, 0x01, 0x00, 0xb9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x04, 0x90, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x91, 0x01, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x91, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x91, 0x01, 0x09, 0x16, 0x0a, @@ -1174,633 +1204,656 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x04, 0x00, 0x02, 0x1a, 0x01, 0x12, 0x04, 0xb5, 0x01, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1a, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1a, 0x08, 0x12, 0x04, 0xb5, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x1a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x05, - 0x00, 0x12, 0x06, 0xb8, 0x01, 0x00, 0xbd, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, - 0x12, 0x04, 0xb8, 0x01, 0x05, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, - 0xb9, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb9, - 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xb9, 0x01, - 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xba, 0x01, 0x02, 0x1c, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xba, 0x01, 0x02, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xba, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xbb, 0x01, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x03, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, - 0x12, 0x04, 0xbc, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xbe, 0x01, - 0x00, 0xc2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x05, - 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x22, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0xbf, 0x01, 0x20, 0x21, 0x0a, 0x0c, 0x0a, - 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x01, 0x02, 0x12, 0x04, 0xc0, 0x01, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, - 0x02, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xc1, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, - 0x04, 0xc1, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0xc4, 0x01, 0x00, - 0xc6, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x08, 0x27, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x41, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x02, 0x12, 0x06, 0xc8, 0x01, 0x00, 0xcb, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, - 0x01, 0x12, 0x04, 0xc8, 0x01, 0x08, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x04, 0xc9, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xc9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc9, - 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc9, 0x01, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc9, 0x01, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, - 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xca, 0x01, 0x02, - 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0xca, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xca, 0x01, 0x09, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0xca, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0xca, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xca, 0x01, 0x1d, 0x43, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0xcd, 0x01, 0x00, 0xd2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, - 0x08, 0x00, 0x12, 0x06, 0xce, 0x01, 0x02, 0xd1, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x08, 0x00, 0x01, 0x12, 0x04, 0xce, 0x01, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x00, 0x12, 0x04, 0xcf, 0x01, 0x04, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xcf, 0x01, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xcf, 0x01, 0x24, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xcf, 0x01, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x01, - 0x04, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x04, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x2c, 0x3d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x40, 0x41, 0x0a, - 0xa1, 0x01, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xd6, 0x01, 0x00, 0xf9, 0x01, 0x01, 0x1a, 0x92, - 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, - 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x41, 0x74, - 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x20, 0x31, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2c, 0x20, - 0x74, 0x61, 0x67, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x08, 0x1f, - 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xd8, 0x01, 0x02, 0x3b, 0x1a, 0x2a, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xd8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xd8, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xd8, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xd8, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xd8, 0x01, 0x13, 0x39, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, - 0x12, 0x04, 0xda, 0x01, 0x02, 0x42, 0x1a, 0x2f, 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, - 0x12, 0x04, 0xda, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xda, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xda, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x04, 0xda, - 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xda, 0x01, 0x1a, 0x40, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0xdc, - 0x01, 0x02, 0x54, 0x1a, 0x1d, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0xdc, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x1c, 0x26, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x29, 0x2a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x04, 0xdc, 0x01, 0x2b, 0x53, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdc, 0x01, 0x2c, 0x52, - 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x04, 0xde, 0x01, 0x02, 0x52, 0x1a, 0x1b, - 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x03, 0x06, 0x12, 0x04, 0xde, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xde, 0x01, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x03, 0x03, 0x12, 0x04, 0xde, 0x01, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x08, 0x12, 0x04, 0xde, 0x01, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, 0x01, 0x2a, 0x50, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x04, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x46, 0x1a, 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x04, 0x12, 0x04, - 0xe0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe0, - 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe0, 0x01, - 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x1b, - 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x08, 0x12, 0x04, 0xe0, 0x01, 0x1d, 0x45, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, - 0x1e, 0x44, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x05, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x60, - 0x1a, 0x31, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x04, 0x12, 0x04, 0xe2, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x06, 0x12, 0x04, 0xe2, 0x01, 0x0b, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x23, 0x32, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe2, 0x01, 0x35, 0x36, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x05, 0x08, 0x12, 0x04, 0xe2, 0x01, 0x37, 0x5f, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x01, 0x38, 0x5e, - 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x06, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x44, 0x1a, 0x3a, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x06, 0x04, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x06, 0x05, 0x12, 0x04, 0xe4, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, - 0x01, 0x12, 0x04, 0xe4, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x03, - 0x12, 0x04, 0xe4, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x06, 0x08, 0x12, - 0x04, 0xe4, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x06, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xe4, 0x01, 0x1c, 0x42, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x07, 0x12, - 0x04, 0xe6, 0x01, 0x02, 0x46, 0x1a, 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x04, 0x12, 0x04, 0xe6, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x05, 0x12, 0x04, 0xe6, 0x01, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x12, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x1b, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x07, 0x08, 0x12, 0x04, 0xe6, 0x01, 0x1d, 0x45, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x01, 0x1e, 0x44, - 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x08, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x51, 0x1a, 0x39, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x08, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, - 0x05, 0x12, 0x04, 0xe8, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x01, - 0x12, 0x04, 0xe8, 0x01, 0x12, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x03, 0x12, - 0x04, 0xe8, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x08, 0x08, 0x12, 0x04, - 0xe8, 0x01, 0x28, 0x50, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xe8, 0x01, 0x29, 0x4f, 0x0a, 0x96, 0x01, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x09, 0x12, - 0x04, 0xeb, 0x01, 0x02, 0x47, 0x1a, 0x87, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, - 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, - 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x09, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x09, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x09, 0x08, 0x12, 0x04, 0xeb, 0x01, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x04, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x1f, 0x45, 0x0a, 0xb3, 0x01, - 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0a, 0x12, 0x04, 0xee, 0x01, 0x02, 0x4f, 0x1a, 0xa4, 0x01, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, - 0x73, 0x20, 0x61, 0x6e, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, 0x20, 0x6f, 0x66, 0x20, 0x60, 0x41, 0x4e, 0x4e, 0x4f, 0x54, - 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, - 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xee, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xee, 0x01, 0x0b, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xee, 0x01, 0x1b, 0x20, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xee, 0x01, 0x23, 0x25, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0a, 0x08, 0x12, 0x04, 0xee, 0x01, 0x26, 0x4e, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x01, 0x27, 0x4d, - 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0b, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x4f, 0x1a, 0x1d, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x1a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x1b, 0x12, 0x04, 0xb7, 0x01, 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x1b, 0x05, 0x12, 0x04, 0xb7, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1b, + 0x01, 0x12, 0x04, 0xb7, 0x01, 0x08, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1b, 0x03, + 0x12, 0x04, 0xb7, 0x01, 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1b, 0x08, 0x12, + 0x04, 0xb7, 0x01, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x1b, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xb7, 0x01, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x1c, 0x12, + 0x04, 0xb8, 0x01, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1c, 0x05, 0x12, 0x04, + 0xb8, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1c, 0x01, 0x12, 0x04, 0xb8, + 0x01, 0x07, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1c, 0x03, 0x12, 0x04, 0xb8, 0x01, + 0x17, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x1c, 0x08, 0x12, 0x04, 0xb8, 0x01, 0x1a, + 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x1c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, + 0x01, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0xbb, 0x01, 0x00, 0xc0, 0x01, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x05, 0x14, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xbc, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, + 0x12, 0x04, 0xbd, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, + 0xbe, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbe, + 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xbe, 0x01, + 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x20, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0xbf, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, + 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xc1, 0x01, 0x00, 0xc5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x05, 0x01, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x05, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, + 0x00, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xc2, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, + 0x04, 0xc2, 0x01, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xc3, + 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc3, 0x01, + 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0xc3, 0x01, 0x20, + 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x17, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xc4, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x01, 0x12, 0x06, 0xc7, 0x01, 0x00, 0xc9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x01, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, + 0x12, 0x04, 0xc8, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, + 0x04, 0xc8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xc8, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc8, + 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc8, 0x01, + 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xc8, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xcb, 0x01, 0x00, 0xce, + 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x08, 0x2f, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcc, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xcc, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x01, 0x05, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xcd, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xcd, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, + 0x04, 0xcd, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xcd, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0xd0, + 0x01, 0x00, 0xd2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0xd0, 0x01, + 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x54, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x09, 0x26, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd1, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x2c, 0x52, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xd4, 0x01, 0x00, 0xda, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x04, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x04, 0x08, + 0x00, 0x12, 0x06, 0xd5, 0x01, 0x02, 0xd9, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x08, + 0x00, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, + 0x12, 0x04, 0xd6, 0x01, 0x04, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, + 0x04, 0xd6, 0x01, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xd6, 0x01, 0x24, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, + 0x01, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x04, + 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd7, 0x01, 0x04, 0x2b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x2c, 0x3d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x40, 0x41, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0xd8, 0x01, 0x04, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0xd8, 0x01, 0x04, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd8, 0x01, 0x26, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xd8, 0x01, 0x3b, 0x3c, 0x0a, 0xa1, 0x01, 0x0a, 0x02, 0x04, 0x05, + 0x12, 0x06, 0xde, 0x01, 0x00, 0x81, 0x02, 0x01, 0x1a, 0x92, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x20, 0x41, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, + 0x20, 0x31, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x74, 0x61, 0x67, 0x2c, 0x20, 0x6f, + 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, + 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xde, 0x01, 0x08, 0x1f, 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x3b, 0x1a, 0x2a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe0, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x01, + 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x10, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe0, 0x01, 0x12, 0x3a, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, + 0x13, 0x39, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x42, + 0x1a, 0x2f, 0x20, 0x41, 0x20, 0x73, 0x68, 0x6f, 0x72, 0x74, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe2, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x09, 0x14, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe2, 0x01, 0x17, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe2, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x01, 0x1a, 0x40, 0x0a, + 0x2b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x54, 0x1a, 0x1d, 0x20, + 0x57, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe4, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xe4, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x02, 0x08, 0x12, 0x04, 0xe4, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, 0x01, 0x2c, 0x52, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x52, 0x1a, 0x1b, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x65, + 0x6e, 0x64, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, + 0xe6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe6, + 0x01, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe6, 0x01, + 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, 0xe6, 0x01, 0x29, + 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, + 0x01, 0x2a, 0x50, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x02, + 0x46, 0x1a, 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe8, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x04, 0x08, 0x12, 0x04, 0xe8, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, + 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, 0x01, 0x1e, 0x44, 0x0a, 0x3f, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x05, 0x12, 0x04, 0xea, 0x01, 0x02, 0x60, 0x1a, 0x31, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, + 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x11, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xf0, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x0b, 0x08, 0x12, 0x04, 0xf0, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, - 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x01, 0x27, 0x4d, 0x0a, 0x4a, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x0c, 0x12, 0x04, 0xf2, 0x01, 0x02, 0x58, 0x1a, 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x04, - 0x12, 0x04, 0xf2, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x05, 0x12, - 0x04, 0xf2, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x01, 0x12, 0x04, - 0xf2, 0x01, 0x12, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xf2, - 0x01, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xf2, 0x01, - 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf2, 0x01, 0x30, 0x56, 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0d, 0x12, 0x04, 0xf4, 0x01, - 0x02, 0x4e, 0x1a, 0x56, 0x20, 0x41, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x78, 0x65, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x73, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x0d, 0x04, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x0d, 0x05, 0x12, 0x04, 0xf4, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0d, - 0x01, 0x12, 0x04, 0xf4, 0x01, 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0d, 0x03, - 0x12, 0x04, 0xf4, 0x01, 0x22, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0d, 0x08, 0x12, - 0x04, 0xf4, 0x01, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x0d, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xf4, 0x01, 0x26, 0x4c, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0e, 0x12, - 0x04, 0xf6, 0x01, 0x02, 0x65, 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x0e, 0x05, 0x12, 0x04, 0xf6, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x0e, 0x01, 0x12, 0x04, 0xf6, 0x01, 0x12, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0e, - 0x03, 0x12, 0x04, 0xf6, 0x01, 0x39, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0e, 0x08, - 0x12, 0x04, 0xf6, 0x01, 0x3c, 0x64, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x0e, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xf6, 0x01, 0x3d, 0x63, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x0f, - 0x12, 0x04, 0xf8, 0x01, 0x02, 0x61, 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x04, - 0x12, 0x04, 0xf8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x06, 0x12, - 0x04, 0xf8, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x01, 0x12, 0x04, - 0xf8, 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xf8, - 0x01, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x0f, 0x08, 0x12, 0x04, 0xf8, 0x01, - 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf8, 0x01, 0x39, 0x5f, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xfc, 0x01, 0x00, 0xfe, - 0x01, 0x01, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x08, 0x20, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x45, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfd, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x01, 0x1d, 0x43, 0x0a, 0x4f, 0x0a, 0x02, - 0x04, 0x06, 0x12, 0x06, 0x81, 0x02, 0x00, 0x83, 0x02, 0x01, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, + 0x05, 0x04, 0x05, 0x02, 0x05, 0x04, 0x12, 0x04, 0xea, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x05, 0x06, 0x12, 0x04, 0xea, 0x01, 0x0b, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x05, 0x01, 0x12, 0x04, 0xea, 0x01, 0x23, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x05, 0x03, 0x12, 0x04, 0xea, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x05, 0x08, 0x12, 0x04, 0xea, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x05, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x38, 0x5e, 0x0a, 0x48, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x06, 0x12, 0x04, 0xec, 0x01, 0x02, 0x44, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x04, 0x12, 0x04, 0xec, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x05, 0x12, 0x04, 0xec, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x01, 0x12, 0x04, 0xec, 0x01, 0x12, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x03, 0x12, 0x04, 0xec, 0x01, 0x19, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x08, 0x12, 0x04, 0xec, 0x01, 0x1b, 0x43, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xec, 0x01, 0x1c, + 0x42, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, 0x12, 0x04, 0xee, 0x01, 0x02, 0x46, 0x1a, + 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x75, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, + 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x07, 0x04, 0x12, 0x04, 0xee, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x07, 0x05, 0x12, 0x04, 0xee, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x07, 0x01, 0x12, 0x04, 0xee, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x07, 0x03, 0x12, 0x04, 0xee, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x07, 0x08, 0x12, 0x04, 0xee, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x07, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x01, 0x1e, 0x44, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x08, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x51, 0x1a, 0x39, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, + 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x04, 0x12, 0x04, 0xf0, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x05, 0x12, 0x04, 0xf0, 0x01, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x12, 0x23, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x03, 0x12, 0x04, 0xf0, 0x01, 0x26, 0x27, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x08, 0x12, 0x04, 0xf0, 0x01, 0x28, 0x50, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x05, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x01, 0x29, 0x4f, + 0x0a, 0x96, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x09, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x47, 0x1a, + 0x87, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x09, 0x05, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x09, + 0x01, 0x12, 0x04, 0xf3, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x09, 0x03, + 0x12, 0x04, 0xf3, 0x01, 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x09, 0x08, 0x12, + 0x04, 0xf3, 0x01, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x09, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xf3, 0x01, 0x1f, 0x45, 0x0a, 0xb3, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0a, + 0x12, 0x04, 0xf6, 0x01, 0x02, 0x4f, 0x1a, 0xa4, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x60, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, + 0x20, 0x6f, 0x66, 0x20, 0x60, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x50, 0x48, 0x41, 0x53, 0x45, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x0a, + 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, + 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xf6, 0x01, 0x0b, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xf6, 0x01, 0x1b, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x0a, 0x03, 0x12, 0x04, 0xf6, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x0a, 0x08, 0x12, 0x04, 0xf6, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x0a, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x01, 0x27, 0x4d, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x0b, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x4f, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, + 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x06, + 0x12, 0x04, 0xf8, 0x01, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x01, 0x12, + 0x04, 0xf8, 0x01, 0x11, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x03, 0x12, 0x04, + 0xf8, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xf8, + 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xf8, 0x01, 0x27, 0x4d, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0c, 0x12, 0x04, 0xfa, + 0x01, 0x02, 0x58, 0x1a, 0x3c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x05, 0x12, 0x04, 0xfa, 0x01, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x12, 0x29, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xfa, 0x01, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xfa, 0x01, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x05, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfa, 0x01, 0x30, 0x56, 0x0a, 0x64, + 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0d, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x4e, 0x1a, 0x56, 0x20, 0x41, + 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x78, 0x65, 0x73, + 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x27, 0x73, 0x20, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x04, 0x12, 0x04, 0xfc, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x05, 0x12, 0x04, 0xfc, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x12, + 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x22, 0x24, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x08, 0x12, 0x04, 0xfc, 0x01, 0x25, 0x4d, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x01, 0x26, + 0x4c, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0e, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x65, 0x1a, + 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x04, 0x12, 0x04, + 0xfe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x05, 0x12, 0x04, 0xfe, + 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xfe, 0x01, + 0x12, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x39, + 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xfe, 0x01, 0x3c, 0x64, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfe, 0x01, + 0x3d, 0x63, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0f, 0x12, 0x04, 0x80, 0x02, 0x02, 0x61, + 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0f, 0x04, 0x12, 0x04, 0x80, 0x02, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0f, 0x06, 0x12, 0x04, 0x80, 0x02, 0x0b, 0x29, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0f, 0x01, 0x12, 0x04, 0x80, 0x02, 0x2a, 0x32, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0f, 0x03, 0x12, 0x04, 0x80, 0x02, 0x35, 0x37, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x0f, 0x08, 0x12, 0x04, 0x80, 0x02, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x05, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x02, 0x39, 0x5f, 0x0a, 0x4d, + 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x84, 0x02, 0x00, 0x86, 0x02, 0x01, 0x1a, 0x3f, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x81, 0x02, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, - 0x02, 0x00, 0x12, 0x04, 0x82, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x82, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x82, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x82, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, - 0x82, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x82, 0x02, 0x1c, 0x42, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x86, 0x02, - 0x00, 0x23, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x86, 0x02, - 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x88, 0x02, 0x00, 0x8b, 0x02, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x88, 0x02, 0x08, 0x25, 0x0a, 0x33, 0x0a, - 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x02, 0x4e, 0x1a, 0x25, 0x20, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8a, 0x02, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x02, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x12, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x02, 0x23, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8a, 0x02, 0x25, 0x4d, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x26, 0x4c, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x04, 0x8d, 0x02, 0x00, 0x29, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x09, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x08, 0x26, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, - 0x90, 0x02, 0x00, 0x92, 0x02, 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x90, - 0x02, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0x91, 0x02, 0x02, - 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0x91, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x91, 0x02, 0x09, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x91, 0x02, 0x19, 0x1a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x91, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x02, 0x1c, 0x42, 0x0a, - 0x4c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0x95, 0x02, 0x00, 0x97, 0x02, 0x01, 0x1a, 0x3e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0x95, 0x02, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, - 0x02, 0x00, 0x12, 0x04, 0x96, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x06, 0x12, 0x04, 0x96, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x96, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x96, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, - 0x96, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x96, 0x02, 0x1d, 0x43, 0x0a, 0x66, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0x9a, 0x02, - 0x00, 0xb7, 0x02, 0x01, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x84, 0x02, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, + 0x02, 0x00, 0x12, 0x04, 0x85, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x06, 0x12, 0x04, 0x85, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, + 0x12, 0x04, 0x85, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, + 0x04, 0x85, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, + 0x85, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0x85, 0x02, 0x1d, 0x43, 0x0a, 0x4f, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x89, 0x02, + 0x00, 0x8b, 0x02, 0x01, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0x9a, 0x02, 0x08, 0x1e, 0x0a, 0xf6, 0x01, 0x0a, 0x04, - 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x40, 0x1a, 0xe7, 0x01, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, - 0x74, 0x20, 0x35, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9e, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9e, 0x02, - 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9e, 0x02, 0x15, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9e, 0x02, 0x17, 0x3f, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9e, 0x02, - 0x18, 0x3e, 0x0a, 0x80, 0x02, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x02, - 0x41, 0x1a, 0xf1, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, - 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, - 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xa4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa4, - 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa4, 0x02, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa4, 0x02, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, - 0x02, 0x19, 0x3f, 0x0a, 0xa4, 0x06, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0xac, 0x02, - 0x02, 0x3d, 0x1a, 0x95, 0x06, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, - 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, - 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x70, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x5f, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, - 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, - 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x23, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, 0x2e, 0x20, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x02, 0x05, 0x12, 0x04, 0xac, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xac, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xac, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xac, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xac, 0x02, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x03, - 0x12, 0x04, 0xaf, 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x05, 0x12, 0x04, - 0xaf, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x01, 0x12, 0x04, 0xaf, - 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x03, 0x12, 0x04, 0xaf, 0x02, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x12, 0x04, 0xaf, 0x02, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, - 0x02, 0x1e, 0x44, 0x0a, 0xdf, 0x03, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x04, 0x12, 0x04, 0xb6, 0x02, - 0x02, 0x3f, 0x1a, 0xd0, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, - 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, - 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x60, 0x2c, 0x20, 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, - 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, - 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, - 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, - 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x05, 0x12, 0x04, - 0xb6, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb6, - 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb6, 0x02, - 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x12, 0x04, 0xb6, 0x02, 0x16, - 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb6, - 0x02, 0x17, 0x3d, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xba, 0x02, 0x00, 0xbe, 0x02, - 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xba, 0x02, 0x08, 0x1f, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xbb, 0x02, 0x02, 0x26, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbb, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbb, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x02, 0x16, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xbb, 0x02, 0x24, 0x25, 0x0a, 0x71, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, - 0x12, 0x04, 0xbd, 0x02, 0x02, 0x1d, 0x1a, 0x63, 0x20, 0x4f, 0x6f, 0x70, 0x73, 0x2c, 0x20, 0x77, - 0x65, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, - 0x65, 0x78, 0x20, 0x35, 0x21, 0x20, 0x4e, 0x6f, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x3b, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, - 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x72, - 0x65, 0x6e, 0x27, 0x74, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x6f, 0x72, - 0x20, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbd, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xbd, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xbd, 0x02, 0x1b, 0x1c, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, - 0xc1, 0x02, 0x00, 0xca, 0x02, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x08, 0x1f, 0x0a, 0x29, - 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc3, 0x02, 0x02, 0x45, 0x1a, 0x1b, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xc3, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xc3, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xc3, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xc3, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xc3, 0x02, 0x1d, 0x43, 0x0a, 0x86, 0x03, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, - 0x12, 0x04, 0xc9, 0x02, 0x02, 0x55, 0x1a, 0xf7, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, - 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, - 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6c, 0x65, - 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x60, 0x2c, 0x20, 0x60, 0x6c, - 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, - 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x4e, 0x6f, 0x74, 0x65, - 0x3a, 0x20, 0x69, 0x66, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x73, - 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x74, 0x61, 0x67, 0x73, - 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x6f, - 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc9, 0x02, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc9, 0x02, 0x1c, 0x27, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc9, 0x02, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc9, 0x02, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x02, 0x2d, 0x53, 0x0a, 0x4f, - 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xcd, 0x02, 0x00, 0xcf, 0x02, 0x01, 0x1a, 0x41, 0x20, 0x54, + 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, + 0x89, 0x02, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x02, + 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x09, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x02, 0x19, 0x1a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8a, 0x02, 0x1b, 0x43, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x1c, 0x42, + 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x8e, 0x02, 0x00, 0x23, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xce, 0x02, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xce, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xce, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xce, 0x02, 0x1a, 0x1b, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xd2, - 0x02, 0x00, 0xd4, 0x02, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, - 0x12, 0x04, 0xd2, 0x02, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, - 0xd3, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd3, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x02, - 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd3, 0x02, 0x19, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd3, 0x02, 0x1b, 0x43, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x02, - 0x1c, 0x42, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xd7, 0x02, 0x00, 0xd9, 0x02, 0x01, - 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, + 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x09, 0x12, 0x06, 0x90, 0x02, 0x00, 0x93, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, + 0x01, 0x12, 0x04, 0x90, 0x02, 0x08, 0x25, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, + 0x04, 0x92, 0x02, 0x02, 0x4e, 0x1a, 0x25, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x92, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0x92, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x02, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x92, 0x02, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x92, 0x02, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x02, 0x26, 0x4c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x0a, 0x12, + 0x04, 0x95, 0x02, 0x00, 0x29, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x95, 0x02, + 0x08, 0x26, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0x98, 0x02, 0x00, 0x9a, 0x02, 0x01, + 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x08, - 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xd8, 0x02, 0x02, 0x45, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd8, 0x02, 0x02, 0x0c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd8, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd8, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd8, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd8, 0x02, 0x1d, 0x43, 0x0a, 0x52, 0x0a, - 0x02, 0x04, 0x12, 0x12, 0x06, 0xdc, 0x02, 0x00, 0xde, 0x02, 0x01, 0x1a, 0x44, 0x20, 0x54, 0x68, + 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0x98, 0x02, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0x99, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0x99, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x99, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x99, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x99, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x99, 0x02, 0x1c, 0x42, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0c, 0x12, + 0x06, 0x9d, 0x02, 0x00, 0x9f, 0x02, 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, + 0x9d, 0x02, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0x9e, 0x02, + 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9e, 0x02, 0x02, + 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9e, 0x02, 0x0d, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9e, 0x02, 0x1a, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9e, 0x02, 0x1c, 0x44, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9e, 0x02, 0x1d, 0x43, + 0x0a, 0x66, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xa2, 0x02, 0x00, 0xbf, 0x02, 0x01, 0x1a, 0x58, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, + 0x04, 0xa2, 0x02, 0x08, 0x1e, 0x0a, 0xf6, 0x01, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, + 0xa6, 0x02, 0x02, 0x40, 0x1a, 0xe7, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, + 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, + 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, + 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa6, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x02, 0x18, 0x3e, 0x0a, 0x80, 0x02, 0x0a, + 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xac, 0x02, 0x02, 0x41, 0x1a, 0xf1, 0x01, 0x20, 0x41, + 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, + 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, + 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, + 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x60, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xac, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xac, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xac, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xac, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x02, 0x19, 0x3f, 0x0a, 0xaf, 0x06, + 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x3d, 0x1a, 0xa0, 0x06, 0x20, + 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, + 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, + 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x74, 0x65, 0x60, + 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, + 0x60, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, + 0x2c, 0x20, 0x60, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6d, 0x70, 0x61, 0x69, + 0x67, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x69, + 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, + 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, + 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, + 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, + 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, + 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x23, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb4, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x02, 0x08, 0x12, 0x04, 0xb4, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0d, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb4, 0x02, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, + 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x04, 0xb7, 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, + 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, + 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x03, 0x05, 0x12, 0x04, 0xb7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x03, 0x01, 0x12, 0x04, 0xb7, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, + 0x03, 0x12, 0x04, 0xb7, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x08, + 0x12, 0x04, 0xb7, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xb7, 0x02, 0x1e, 0x44, 0x0a, 0xdf, 0x03, 0x0a, 0x04, 0x04, 0x0d, 0x02, + 0x04, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x3f, 0x1a, 0xd0, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, + 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, + 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, + 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, + 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x20, + 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, + 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, + 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, + 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, + 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, + 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, + 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, + 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, + 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x04, 0x05, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x04, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, + 0x03, 0x12, 0x04, 0xbe, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x08, + 0x12, 0x04, 0xbe, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xbe, 0x02, 0x17, 0x3d, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, + 0xc2, 0x02, 0x00, 0xc6, 0x02, 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xc2, + 0x02, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc3, 0x02, 0x02, + 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc3, 0x02, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc3, 0x02, 0x0b, 0x15, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x16, 0x21, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc3, 0x02, 0x24, 0x25, 0x0a, 0x71, 0x0a, + 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x1d, 0x1a, 0x63, 0x20, 0x4f, 0x6f, + 0x70, 0x73, 0x2c, 0x20, 0x77, 0x65, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x70, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x35, 0x21, 0x20, 0x4e, 0x6f, 0x20, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x3b, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x65, 0x73, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, + 0x65, 0x6e, 0x20, 0x61, 0x72, 0x65, 0x6e, 0x27, 0x74, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x79, 0x74, 0x68, 0x69, 0x6e, 0x67, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x09, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x1b, 0x1c, 0x0a, 0x67, 0x0a, + 0x02, 0x04, 0x0f, 0x12, 0x06, 0xc9, 0x02, 0x00, 0xd2, 0x02, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xdc, 0x02, 0x08, 0x22, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdd, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xdd, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x1c, 0x42, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x13, - 0x12, 0x06, 0xe1, 0x02, 0x00, 0xe3, 0x02, 0x01, 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xc9, + 0x02, 0x08, 0x1f, 0x0a, 0x29, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x02, 0x02, + 0x45, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcb, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcb, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x02, 0x1d, 0x43, 0x0a, 0x86, 0x03, 0x0a, + 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x02, 0x02, 0x55, 0x1a, 0xf7, 0x02, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, + 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x69, 0x67, + 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, + 0x20, 0x60, 0x73, 0x74, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, + 0x2c, 0x20, 0x60, 0x6c, 0x65, 0x67, 0x65, 0x6e, 0x64, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x60, 0x2c, 0x20, 0x60, 0x6c, 0x69, 0x6e, 0x6b, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, + 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x69, 0x66, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, + 0x20, 0x69, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, 0x73, 0x6b, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x74, 0x61, 0x67, 0x73, 0x60, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6d, 0x70, + 0x74, 0x79, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x6c, 0x6c, + 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x61, 0x67, 0x73, + 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, + 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x06, 0x12, 0x04, + 0xd1, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd1, + 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd1, 0x02, + 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd1, 0x02, 0x2c, + 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, + 0x02, 0x2d, 0x53, 0x0a, 0x4f, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xd5, 0x02, 0x00, 0xd7, 0x02, + 0x01, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd5, 0x02, 0x08, + 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x02, 0x02, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x02, 0x02, 0x0c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x02, 0x1a, 0x1b, 0x0a, 0x50, 0x0a, 0x02, + 0x04, 0x11, 0x12, 0x06, 0xda, 0x02, 0x00, 0xdc, 0x02, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xe1, 0x02, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x13, 0x02, 0x00, 0x12, 0x04, 0xe2, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xe2, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xe2, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xe2, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xe2, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xe2, 0x02, 0x1d, 0x43, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xe6, - 0x02, 0x00, 0xe9, 0x02, 0x01, 0x1a, 0x48, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xe6, 0x02, 0x08, 0x26, 0x0a, 0x33, 0x0a, 0x04, - 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xe8, 0x02, 0x02, 0x4e, 0x1a, 0x25, 0x20, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe8, 0x02, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe8, 0x02, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe8, 0x02, 0x12, 0x20, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe8, 0x02, 0x23, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe8, 0x02, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, 0x02, 0x26, 0x4c, 0x0a, 0x56, - 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xec, 0x02, 0x00, 0xee, 0x02, 0x01, 0x1a, 0x48, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xec, - 0x02, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xed, 0x02, 0x02, - 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0xed, 0x02, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xed, 0x02, 0x0b, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xed, 0x02, 0x16, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xed, 0x02, 0x24, 0x25, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xed, 0x02, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xed, 0x02, 0x27, 0x4d, 0x0a, 0x58, - 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xf1, 0x02, 0x00, 0xf4, 0x02, 0x01, 0x1a, 0x4a, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, - 0x04, 0xf1, 0x02, 0x08, 0x28, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0xf3, - 0x02, 0x02, 0x4e, 0x1a, 0x25, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x31, - 0x30, 0x30, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xf3, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xf3, 0x02, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xf3, 0x02, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xf3, 0x02, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xf3, 0x02, 0x26, 0x4c, 0x0a, 0x58, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xf7, - 0x02, 0x00, 0xf9, 0x02, 0x01, 0x1a, 0x4a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xda, 0x02, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x11, 0x02, 0x00, 0x12, 0x04, 0xdb, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x00, 0x05, 0x12, 0x04, 0xdb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xdb, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xdb, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xdb, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xdb, 0x02, 0x1c, 0x42, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xdf, + 0x02, 0x00, 0xe1, 0x02, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xf7, 0x02, 0x08, 0x29, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x16, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xf8, 0x02, 0x24, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xf8, 0x02, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x27, 0x4d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, + 0x12, 0x04, 0xdf, 0x02, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, + 0xe0, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe0, + 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x02, + 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe0, 0x02, 0x1a, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe0, 0x02, 0x1c, 0x44, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x02, + 0x1d, 0x43, 0x0a, 0x52, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xe4, 0x02, 0x00, 0xe6, 0x02, 0x01, + 0x1a, 0x44, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xe4, + 0x02, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x02, 0x02, + 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x02, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x09, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x02, 0x19, 0x1a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe5, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x02, 0x1c, 0x42, 0x0a, + 0x52, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xe9, 0x02, 0x00, 0xeb, 0x02, 0x01, 0x1a, 0x44, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xe9, 0x02, 0x08, 0x23, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xea, 0x02, 0x02, 0x45, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, 0xea, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xea, 0x02, 0x0d, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0xea, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xea, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x02, 0x1d, 0x43, 0x0a, 0x56, 0x0a, 0x02, + 0x04, 0x15, 0x12, 0x06, 0xee, 0x02, 0x00, 0xf1, 0x02, 0x01, 0x1a, 0x48, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xee, 0x02, 0x08, + 0x26, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x4e, 0x1a, + 0x25, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xf0, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xf0, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf0, + 0x02, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf0, 0x02, + 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf0, 0x02, 0x25, + 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, + 0x02, 0x26, 0x4c, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xf4, 0x02, 0x00, 0xf6, 0x02, + 0x01, 0x1a, 0x48, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x16, 0x01, 0x12, 0x04, 0xf4, 0x02, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, + 0x12, 0x04, 0xf5, 0x02, 0x02, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xf5, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xf5, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf5, + 0x02, 0x16, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf5, 0x02, + 0x24, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf5, 0x02, 0x26, + 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, + 0x02, 0x27, 0x4d, 0x0a, 0x58, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xf9, 0x02, 0x00, 0xfc, 0x02, + 0x01, 0x1a, 0x4a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xf9, 0x02, 0x08, 0x28, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x17, + 0x02, 0x00, 0x12, 0x04, 0xfb, 0x02, 0x02, 0x4e, 0x1a, 0x25, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xfb, 0x02, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfb, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfb, 0x02, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfb, 0x02, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x02, 0x26, 0x4c, 0x0a, 0x58, 0x0a, 0x02, + 0x04, 0x18, 0x12, 0x06, 0xff, 0x02, 0x00, 0x81, 0x03, 0x01, 0x1a, 0x4a, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xff, + 0x02, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0x80, 0x03, 0x02, + 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x04, 0x12, 0x04, 0x80, 0x03, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0x80, 0x03, 0x0b, 0x15, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x03, 0x16, 0x21, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0x80, 0x03, 0x24, 0x25, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x04, 0x80, 0x03, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x03, 0x27, 0x4d, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.annotations.v1.tonic.rs"); include!("sift.annotations.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.serde.rs index be05eefe7..71d1d187b 100644 --- a/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/annotations/v1/sift.annotations.v1.serde.rs @@ -88,6 +88,12 @@ impl serde::Serialize for Annotation { if self.is_archived { len += 1; } + if self.batched_triggers != 0 { + len += 1; + } + if self.is_noisy_rule { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.annotations.v1.Annotation", len)?; if !self.annotation_id.is_empty() { struct_ser.serialize_field("annotationId", &self.annotation_id)?; @@ -174,6 +180,12 @@ impl serde::Serialize for Annotation { if self.is_archived { struct_ser.serialize_field("isArchived", &self.is_archived)?; } + if self.batched_triggers != 0 { + struct_ser.serialize_field("batchedTriggers", &self.batched_triggers)?; + } + if self.is_noisy_rule { + struct_ser.serialize_field("isNoisyRule", &self.is_noisy_rule)?; + } struct_ser.end() } } @@ -232,6 +244,10 @@ impl<'de> serde::Deserialize<'de> for Annotation { "archivedDate", "is_archived", "isArchived", + "batched_triggers", + "batchedTriggers", + "is_noisy_rule", + "isNoisyRule", ]; #[allow(clippy::enum_variant_names)] @@ -263,6 +279,8 @@ impl<'de> serde::Deserialize<'de> for Annotation { Metadata, ArchivedDate, IsArchived, + BatchedTriggers, + IsNoisyRule, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -311,6 +329,8 @@ impl<'de> serde::Deserialize<'de> for Annotation { "metadata" => Ok(GeneratedField::Metadata), "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), "isArchived" | "is_archived" => Ok(GeneratedField::IsArchived), + "batchedTriggers" | "batched_triggers" => Ok(GeneratedField::BatchedTriggers), + "isNoisyRule" | "is_noisy_rule" => Ok(GeneratedField::IsNoisyRule), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -357,6 +377,8 @@ impl<'de> serde::Deserialize<'de> for Annotation { let mut metadata__ = None; let mut archived_date__ = None; let mut is_archived__ = None; + let mut batched_triggers__ = None; + let mut is_noisy_rule__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::AnnotationId => { @@ -521,6 +543,20 @@ impl<'de> serde::Deserialize<'de> for Annotation { } is_archived__ = Some(map_.next_value()?); } + GeneratedField::BatchedTriggers => { + if batched_triggers__.is_some() { + return Err(serde::de::Error::duplicate_field("batchedTriggers")); + } + batched_triggers__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::IsNoisyRule => { + if is_noisy_rule__.is_some() { + return Err(serde::de::Error::duplicate_field("isNoisyRule")); + } + is_noisy_rule__ = Some(map_.next_value()?); + } } } Ok(Annotation { @@ -551,12 +587,106 @@ impl<'de> serde::Deserialize<'de> for Annotation { metadata: metadata__.unwrap_or_default(), archived_date: archived_date__, is_archived: is_archived__.unwrap_or_default(), + batched_triggers: batched_triggers__.unwrap_or_default(), + is_noisy_rule: is_noisy_rule__.unwrap_or_default(), }) } } deserializer.deserialize_struct("sift.annotations.v1.Annotation", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for AnnotationLinkedCalculatedChannel { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channel_version_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.annotations.v1.AnnotationLinkedCalculatedChannel", len)?; + if !self.calculated_channel_version_id.is_empty() { + struct_ser.serialize_field("calculatedChannelVersionId", &self.calculated_channel_version_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for AnnotationLinkedCalculatedChannel { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channel_version_id", + "calculatedChannelVersionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannelVersionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = AnnotationLinkedCalculatedChannel; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.annotations.v1.AnnotationLinkedCalculatedChannel") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channel_version_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_version_id__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_version_id__ = Some(map_.next_value()?); + } + } + } + Ok(AnnotationLinkedCalculatedChannel { + calculated_channel_version_id: calculated_channel_version_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.annotations.v1.AnnotationLinkedCalculatedChannel", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for AnnotationLinkedChannel { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result @@ -577,6 +707,9 @@ impl serde::Serialize for AnnotationLinkedChannel { annotation_linked_channel::Type::BitFieldElement(v) => { struct_ser.serialize_field("bitFieldElement", v)?; } + annotation_linked_channel::Type::CalculatedChannel(v) => { + struct_ser.serialize_field("calculatedChannel", v)?; + } } } struct_ser.end() @@ -592,12 +725,15 @@ impl<'de> serde::Deserialize<'de> for AnnotationLinkedChannel { "channel", "bit_field_element", "bitFieldElement", + "calculated_channel", + "calculatedChannel", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { Channel, BitFieldElement, + CalculatedChannel, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -621,6 +757,7 @@ impl<'de> serde::Deserialize<'de> for AnnotationLinkedChannel { match value { "channel" => Ok(GeneratedField::Channel), "bitFieldElement" | "bit_field_element" => Ok(GeneratedField::BitFieldElement), + "calculatedChannel" | "calculated_channel" => Ok(GeneratedField::CalculatedChannel), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -655,6 +792,13 @@ impl<'de> serde::Deserialize<'de> for AnnotationLinkedChannel { return Err(serde::de::Error::duplicate_field("bitFieldElement")); } r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(annotation_linked_channel::Type::BitFieldElement) +; + } + GeneratedField::CalculatedChannel => { + if r#type__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannel")); + } + r#type__ = map_.next_value::<::std::option::Option<_>>()?.map(annotation_linked_channel::Type::CalculatedChannel) ; } } diff --git a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.rs b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.rs index 23c37b063..0a00c9d0b 100644 --- a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.rs @@ -1,11 +1,21 @@ // @generated // This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ExpressionChannelReference { #[prost(string, tag="1")] pub channel_reference: ::prost::alloc::string::String, #[prost(string, tag="2")] pub channel_id: ::prost::alloc::string::String, + #[prost(oneof="expression_channel_reference::CalculatedChannelReference", tags="4")] + pub calculated_channel_reference: ::core::option::Option, +} +/// Nested message and enum types in `ExpressionChannelReference`. +pub mod expression_channel_reference { + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum CalculatedChannelReference { + #[prost(message, tag="4")] + CalculatedChannel(super::ExpressionRequest), + } } #[derive(Clone, PartialEq, ::prost::Message)] pub struct ExpressionRequest { @@ -189,7 +199,7 @@ impl ExpressionMode { } /// Encoded file descriptor set for the `sift.calculated_channels.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xa0, 0x3d, 0x0a, 0x35, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x0a, 0xc5, 0x3f, 0x0a, 0x35, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x73, 0x69, 0x66, 0x74, @@ -207,479 +217,497 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x72, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x22, 0xd8, 0x03, 0x0a, 0x11, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x78, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x7b, - 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, - 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x1b, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, 0x15, 0x66, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x44, - 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, - 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc3, 0x01, 0x0a, 0x21, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf3, 0x01, 0x0a, 0x1a, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, 0x65, 0x78, - 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, - 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, - 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x22, 0xb6, 0x01, 0x0a, 0x19, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x1e, 0x0a, 0x1c, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xd8, 0x03, 0x0a, 0x11, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x12, 0x78, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x45, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x44, - 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x07, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x42, 0x02, 0x18, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x7b, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x52, 0x1b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x12, 0x61, 0x0a, + 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x1a, 0x44, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xa4, 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, + 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xc3, 0x01, + 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, + 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x30, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x88, 0x01, 0x01, 0x42, + 0x12, 0x0a, 0x10, 0x5f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x22, 0xa7, 0x02, 0x0a, 0x14, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, 0x73, 0x75, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, - 0x4b, 0x0a, 0x1f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0c, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x22, 0xb6, 0x01, + 0x0a, 0x19, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x0a, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x1a, 0x56, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, - 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, - 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6b, 0x0a, 0x21, - 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x9b, 0x01, 0x0a, 0x18, 0x45, 0x78, + 0x6c, 0x74, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x5a, 0x0a, 0x07, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x75, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x07, + 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, + 0x74, 0x22, 0x4b, 0x0a, 0x1f, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x6b, + 0x0a, 0x21, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x9b, 0x01, 0x0a, 0x18, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x58, 0x50, 0x52, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, + 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, + 0x01, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x2a, 0xff, 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, - 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, - 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, - 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, - 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, - 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x2a, 0xff, 0x02, 0x0a, 0x1b, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x29, 0x45, 0x58, 0x50, 0x52, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, - 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, - 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, - 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x01, 0x12, 0x28, - 0x0a, 0x24, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, - 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, - 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, + 0x65, 0x72, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x12, 0x2d, 0x0a, 0x29, 0x45, 0x58, 0x50, + 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, + 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, + 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, - 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, 0x10, 0x03, - 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, + 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4d, 0x41, 0x54, 0x48, 0x10, 0x01, + 0x12, 0x28, 0x0a, 0x24, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, - 0x59, 0x5f, 0x49, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x58, 0x50, 0x52, - 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, - 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x45, 0x46, - 0x55, 0x4c, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, - 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, - 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, 0x06, 0x12, - 0x38, 0x0a, 0x34, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, - 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, - 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x46, 0x55, - 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x2a, 0xb9, 0x01, 0x0a, 0x0e, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, 0x0a, 0x1b, - 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, - 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, - 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x27, 0x0a, 0x23, - 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x43, 0x41, 0x4c, 0x43, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, - 0x45, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, - 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x52, 0x10, 0x03, - 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, - 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x44, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x10, 0x04, 0x32, 0xf1, 0x06, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x12, 0xd9, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x73, 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0xbc, 0x01, 0x92, 0x41, 0x7f, 0x12, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x73, 0x1a, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, - 0xb0, 0x02, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, - 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x92, 0x41, 0x6b, 0x12, 0x12, 0x56, + 0x59, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, + 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x4c, 0x49, 0x53, 0x54, + 0x10, 0x03, 0x12, 0x26, 0x0a, 0x22, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, + 0x41, 0x52, 0x59, 0x5f, 0x49, 0x54, 0x45, 0x52, 0x10, 0x04, 0x12, 0x2a, 0x0a, 0x26, 0x45, 0x58, + 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, + 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x54, 0x41, 0x54, + 0x45, 0x46, 0x55, 0x4c, 0x10, 0x05, 0x12, 0x29, 0x0a, 0x25, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, + 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, + 0x4c, 0x49, 0x42, 0x52, 0x41, 0x52, 0x59, 0x5f, 0x53, 0x55, 0x4d, 0x4d, 0x41, 0x52, 0x59, 0x10, + 0x06, 0x12, 0x38, 0x0a, 0x34, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, + 0x49, 0x44, 0x45, 0x4e, 0x54, 0x49, 0x46, 0x49, 0x45, 0x52, 0x5f, 0x4c, 0x49, 0x42, 0x52, 0x41, + 0x52, 0x59, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x53, 0x10, 0x07, 0x2a, 0xb9, 0x01, 0x0a, 0x0e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x23, + 0x0a, 0x1b, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, + 0x02, 0x08, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, + 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x10, 0x01, 0x12, 0x27, + 0x0a, 0x23, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, + 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x43, 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, + 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x10, 0x02, 0x12, 0x19, 0x0a, 0x15, 0x45, 0x58, 0x50, 0x52, 0x45, + 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x52, + 0x10, 0x03, 0x12, 0x23, 0x0a, 0x1f, 0x45, 0x58, 0x50, 0x52, 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, + 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x55, 0x43, 0x54, 0x55, 0x52, 0x45, 0x44, + 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x04, 0x32, 0xf1, 0x06, 0x0a, 0x19, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd9, 0x02, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x73, 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0xbc, 0x01, 0x92, 0x41, 0x7f, 0x12, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x73, 0x1a, 0x62, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x12, 0x32, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x73, 0x12, 0xb0, 0x02, 0x0a, 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x1a, 0x55, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, - 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, 0x3a, 0x01, - 0x2a, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x1a, 0xc4, 0x01, 0x92, 0x41, 0xc0, 0x01, 0x12, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, - 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x1a, 0x7e, 0x0a, 0x24, 0x52, 0x65, 0x61, - 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, - 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, - 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x35, 0x33, 0x42, 0xe6, 0x01, 0x92, 0x41, 0x1f, 0x12, - 0x1d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1f, - 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x42, - 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, - 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x1a, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x26, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, - 0x56, 0x31, 0x4a, 0x86, 0x1e, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x7c, 0x01, 0x0a, 0x08, 0x0a, - 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, - 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, - 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x35, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0a, - 0x00, 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0a, 0x00, 0x0c, 0x02, - 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x2e, 0x0a, 0x0c, 0x0a, - 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x2d, 0x0a, 0x0a, 0x0a, 0x02, 0x06, - 0x00, 0x12, 0x04, 0x0e, 0x00, 0x2b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, - 0x0e, 0x08, 0x21, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x0f, 0x02, 0x15, 0x04, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x0f, 0x02, 0x15, 0x04, 0x0a, - 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x10, 0x04, 0x51, 0x0a, 0x0e, - 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x11, 0x04, 0x14, 0x05, 0x0a, 0x0e, - 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x12, 0x06, 0x63, 0x0a, 0x0e, - 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x13, 0x06, 0x39, 0x0a, 0x72, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x18, 0x02, 0x1e, 0x03, 0x1a, 0x64, 0x20, 0x52, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x18, 0x06, 0x1f, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x18, 0x20, 0x40, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x18, 0x4b, 0x6c, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x19, 0x04, 0x5b, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, - 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x19, 0x04, 0x5b, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x19, 0x20, 0x59, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, 0x0f, - 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, - 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1b, 0x06, 0x2a, - 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x1c, 0x06, - 0x77, 0x0a, 0x65, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x21, 0x02, 0x2a, 0x03, 0x1a, - 0x57, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x73, - 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x21, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, - 0x03, 0x21, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x21, - 0x3d, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x22, 0x04, 0x25, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x22, 0x04, 0x25, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x04, 0x12, 0x03, 0x23, 0x06, 0x3d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x24, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x04, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x27, 0x06, 0x23, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x28, 0x06, 0x6a, 0x0a, 0x0a, 0x0a, 0x02, - 0x04, 0x00, 0x12, 0x04, 0x2d, 0x00, 0x30, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, - 0x03, 0x2d, 0x08, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x2e, 0x02, - 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2e, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2e, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2e, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x2e, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x2e, 0x20, 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x01, 0x12, 0x03, 0x2f, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, - 0x12, 0x03, 0x2f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x2f, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2f, 0x16, - 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x2f, 0x18, 0x40, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x2f, 0x19, 0x3f, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x32, 0x00, 0x39, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x01, 0x01, 0x12, 0x03, 0x32, 0x08, 0x19, 0x0a, 0xc0, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x00, 0x12, 0x03, 0x35, 0x02, 0x41, 0x1a, 0xb2, 0x01, 0x20, 0x41, 0x20, 0x6d, 0x61, 0x70, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x24, 0x31, 0x29, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x64, 0x20, - 0x28, 0x75, 0x75, 0x69, 0x64, 0x29, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, - 0x20, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x35, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x35, 0x16, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x35, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, - 0x35, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x01, 0x02, 0x00, 0x08, 0x03, 0x12, 0x03, 0x35, - 0x2e, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x36, 0x02, 0x41, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x36, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x36, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x36, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x01, 0x08, 0x12, 0x03, 0x36, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x36, 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, - 0x12, 0x03, 0x37, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, - 0x37, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x37, 0x0b, - 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x37, 0x26, 0x43, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x37, 0x46, 0x47, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x38, 0x02, 0x75, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x03, 0x04, 0x12, 0x03, 0x38, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, - 0x06, 0x12, 0x03, 0x38, 0x0b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, - 0x03, 0x38, 0x32, 0x47, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x38, - 0x4a, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x03, 0x38, 0x4c, 0x74, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x38, 0x4d, - 0x73, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x3b, 0x00, 0x42, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x3b, 0x08, 0x28, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x00, 0x12, 0x03, 0x3d, 0x02, 0x17, 0x1a, 0x22, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4d, 0x61, 0x78, 0x20, 0x6f, - 0x66, 0x20, 0x31, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x05, 0x12, 0x03, 0x3d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x3d, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x3d, 0x15, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3f, 0x02, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x3f, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3f, 0x09, 0x13, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x3f, 0x16, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x02, 0x02, 0x02, 0x12, 0x03, 0x41, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, - 0x06, 0x12, 0x03, 0x41, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, - 0x03, 0x41, 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x41, - 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x41, 0x1a, 0x42, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x41, 0x1b, - 0x41, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x44, 0x00, 0x47, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x44, 0x08, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x00, 0x12, 0x03, 0x45, 0x02, 0x59, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x45, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x45, - 0x0b, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x45, 0x20, 0x2b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x45, 0x2e, 0x2f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x45, 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x45, 0x31, 0x57, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x46, 0x02, 0x4f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x46, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x46, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x46, 0x12, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x46, - 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x46, 0x26, 0x4e, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x46, 0x27, - 0x4d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x49, 0x00, 0x4f, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x49, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x00, 0x12, 0x03, 0x4a, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, - 0x03, 0x4a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4a, - 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4a, 0x10, 0x11, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x4a, 0x12, 0x3a, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4a, 0x13, 0x39, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x4b, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, - 0x03, 0x4b, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x4b, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x4c, - 0x02, 0x4d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, 0x4c, 0x02, 0x1a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x4c, 0x1b, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x4c, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x03, 0x4c, 0x24, 0x4c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, - 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4c, 0x25, 0x4b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x03, 0x12, 0x03, 0x4d, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x05, 0x12, 0x03, 0x4d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, - 0x03, 0x4d, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x4d, - 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, 0x4d, 0x1a, 0x42, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4d, 0x1b, - 0x41, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x4e, 0x02, 0x53, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x06, 0x12, 0x03, 0x4e, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03, 0x4e, 0x1e, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x04, 0x03, 0x12, 0x03, 0x4e, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, - 0x08, 0x12, 0x03, 0x4e, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x04, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x4e, 0x2b, 0x51, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x51, - 0x00, 0x55, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x51, 0x05, 0x1d, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x52, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x52, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x52, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x52, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x06, 0x05, 0x00, 0x02, 0x00, 0x03, 0x01, - 0x12, 0x03, 0x52, 0x2e, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x53, - 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x53, 0x02, 0x25, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x53, 0x28, 0x29, 0x0a, 0x0b, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x54, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x54, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x02, 0x02, 0x12, 0x03, 0x54, 0x27, 0x28, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0x57, - 0x00, 0x60, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x03, 0x57, 0x05, 0x20, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x03, 0x58, 0x02, 0x30, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x58, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x58, 0x2e, 0x2f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, - 0x12, 0x03, 0x59, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x59, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x03, 0x59, 0x27, - 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x03, 0x5a, 0x02, 0x2b, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x03, 0x5a, 0x29, 0x2a, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, - 0x02, 0x03, 0x12, 0x03, 0x5b, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x5b, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x03, - 0x5b, 0x27, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x29, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5c, 0x02, 0x24, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x03, 0x5c, 0x27, 0x28, 0x0a, 0x0b, 0x0a, 0x04, - 0x05, 0x01, 0x02, 0x05, 0x12, 0x03, 0x5d, 0x02, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x05, 0x01, 0x12, 0x03, 0x5d, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x05, 0x02, - 0x12, 0x03, 0x5d, 0x2b, 0x2c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x06, 0x12, 0x03, 0x5e, - 0x02, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, 0x01, 0x12, 0x03, 0x5e, 0x02, 0x27, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, 0x02, 0x12, 0x03, 0x5e, 0x2a, 0x2b, 0x0a, 0x0b, - 0x0a, 0x04, 0x05, 0x01, 0x02, 0x07, 0x12, 0x03, 0x5f, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x01, 0x02, 0x07, 0x01, 0x12, 0x03, 0x5f, 0x02, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x07, 0x02, 0x12, 0x03, 0x5f, 0x39, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x04, 0x62, - 0x00, 0x68, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, 0x03, 0x62, 0x05, 0x13, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x03, 0x63, 0x02, 0x36, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x63, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x63, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x63, 0x22, 0x35, 0x0a, 0x0d, 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, 0x01, - 0x12, 0x03, 0x63, 0x23, 0x34, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x03, 0x64, - 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x64, 0x02, 0x17, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x03, 0x64, 0x1a, 0x1b, 0x0a, 0x0b, - 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x03, 0x65, 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x65, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, - 0x02, 0x02, 0x12, 0x03, 0x65, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, - 0x03, 0x66, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x66, - 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x03, 0x66, 0x1a, 0x1b, - 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x03, 0x67, 0x02, 0x26, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x02, 0x02, 0x04, 0x01, 0x12, 0x03, 0x67, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x02, 0x02, 0x04, 0x02, 0x12, 0x03, 0x67, 0x24, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, - 0x04, 0x6a, 0x00, 0x6d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x6a, 0x08, - 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x6b, 0x02, 0x4c, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6b, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6b, 0x14, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x6b, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x08, 0x12, 0x03, 0x6b, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x6b, 0x24, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, - 0x03, 0x6c, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x03, 0x6c, - 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6c, 0x11, 0x15, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6c, 0x18, 0x19, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x03, 0x6c, 0x1a, 0x42, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6c, 0x1b, 0x41, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x06, 0x12, 0x04, 0x6f, 0x00, 0x74, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, - 0x12, 0x03, 0x6f, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x08, 0x00, 0x12, 0x04, 0x70, - 0x02, 0x73, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x08, 0x00, 0x01, 0x12, 0x03, 0x70, 0x08, - 0x0e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x71, 0x04, 0x2e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x71, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x71, 0x24, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x71, 0x2c, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, - 0x12, 0x03, 0x72, 0x04, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, - 0x72, 0x04, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x72, 0x26, - 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x72, 0x30, 0x31, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x76, 0x00, 0x78, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x07, 0x01, 0x12, 0x03, 0x76, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, - 0x03, 0x77, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x03, 0x77, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x77, 0x09, 0x16, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x77, 0x19, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x77, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x77, 0x1c, 0x42, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x08, 0x12, 0x04, 0x7a, 0x00, 0x7c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x08, 0x01, - 0x12, 0x03, 0x7a, 0x08, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x03, 0x7b, - 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x25, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7b, 0x26, 0x2f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7b, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7b, 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x08, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x35, 0x5b, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa8, 0x01, 0x92, 0x41, 0x6b, 0x12, + 0x12, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x1a, 0x55, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, + 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x3a, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0xc4, 0x01, 0x92, 0x41, 0xc0, 0x01, 0x12, 0x3e, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, + 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, + 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x1a, 0x7e, 0x0a, 0x24, 0x52, + 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, + 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, + 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x35, 0x33, 0x42, 0xe6, 0x01, 0x92, 0x41, + 0x1f, 0x12, 0x1d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, + 0x31, 0x42, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, + 0x43, 0x58, 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x26, 0x53, + 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xa9, 0x1f, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x81, 0x01, 0x01, + 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, + 0x03, 0x02, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, + 0x12, 0x03, 0x06, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x35, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x01, 0x08, + 0x12, 0x04, 0x0a, 0x00, 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0a, + 0x00, 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x2e, + 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x2d, 0x0a, 0x0a, + 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0e, 0x00, 0x2b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, + 0x01, 0x12, 0x03, 0x0e, 0x08, 0x21, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x0f, + 0x02, 0x15, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x0f, 0x02, + 0x15, 0x04, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x10, 0x04, + 0x51, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x11, 0x04, 0x14, + 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x12, 0x06, + 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x13, 0x06, + 0x39, 0x0a, 0x72, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x18, 0x02, 0x1e, 0x03, 0x1a, + 0x64, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x18, 0x06, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x18, 0x20, + 0x40, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x18, 0x4b, 0x6c, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x19, 0x04, 0x5b, 0x0a, 0x10, 0x0a, + 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x19, 0x04, 0x5b, 0x0a, + 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x19, + 0x20, 0x59, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1a, 0x04, 0x1d, + 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x1a, 0x04, + 0x1d, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, + 0x1b, 0x06, 0x2a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, + 0x03, 0x1c, 0x06, 0x77, 0x0a, 0x65, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x21, 0x02, + 0x2a, 0x03, 0x1a, 0x57, 0x20, 0x55, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x21, 0x06, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x01, 0x02, 0x12, 0x03, 0x21, 0x19, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x21, 0x3d, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, + 0x22, 0x04, 0x25, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x12, 0x04, 0x22, 0x04, 0x25, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x23, 0x06, 0x3d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x24, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, 0x07, + 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x27, 0x06, 0x23, 0x0a, 0x0f, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x28, 0x06, 0x6a, 0x0a, + 0x52, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x2f, 0x00, 0x35, 0x01, 0x32, 0x46, 0x20, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, + 0x74, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x22, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x30, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x30, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x30, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x30, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x30, 0x20, 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x31, + 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x31, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x31, 0x09, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x31, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x31, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x31, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x08, 0x00, 0x12, 0x04, 0x32, 0x02, 0x34, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, + 0x00, 0x01, 0x12, 0x03, 0x32, 0x08, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, + 0x03, 0x33, 0x04, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x33, + 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x33, 0x16, 0x28, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x33, 0x2b, 0x2c, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x37, 0x00, 0x3e, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, + 0x01, 0x12, 0x03, 0x37, 0x08, 0x19, 0x0a, 0xc0, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, + 0x03, 0x3a, 0x02, 0x41, 0x1a, 0xb2, 0x01, 0x20, 0x41, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x24, 0x31, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x64, 0x20, 0x28, 0x75, + 0x75, 0x69, 0x64, 0x29, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x64, + 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x68, + 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, + 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x06, 0x12, 0x03, 0x3a, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x3a, 0x16, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x3a, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x3a, 0x2d, + 0x40, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x01, 0x02, 0x00, 0x08, 0x03, 0x12, 0x03, 0x3a, 0x2e, 0x3f, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x3b, 0x02, 0x41, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x3b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3b, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x3b, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, + 0x12, 0x03, 0x3b, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x3b, 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, + 0x3c, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x3c, 0x02, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x3c, 0x0b, 0x25, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x3c, 0x26, 0x43, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x3c, 0x46, 0x47, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x01, 0x02, 0x03, 0x12, 0x03, 0x3d, 0x02, 0x75, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, + 0x04, 0x12, 0x03, 0x3d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, + 0x03, 0x3d, 0x0b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x3d, + 0x32, 0x47, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x3d, 0x4a, 0x4b, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x03, 0x3d, 0x4c, 0x74, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x3d, 0x4d, 0x73, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x40, 0x00, 0x47, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x02, 0x01, 0x12, 0x03, 0x40, 0x08, 0x28, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, + 0x03, 0x42, 0x02, 0x17, 0x1a, 0x22, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4d, 0x61, 0x78, 0x20, 0x6f, 0x66, 0x20, + 0x31, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x05, 0x12, 0x03, 0x42, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x42, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x42, + 0x15, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x44, 0x02, 0x18, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x44, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x44, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x44, 0x16, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x12, 0x03, 0x46, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x46, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x46, + 0x11, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x46, 0x18, 0x19, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x46, 0x1a, 0x42, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x46, 0x1b, 0x41, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x49, 0x00, 0x4c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x03, 0x01, 0x12, 0x03, 0x49, 0x08, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, + 0x03, 0x4a, 0x02, 0x59, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x4a, + 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4a, 0x0b, 0x1f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4a, 0x20, 0x2b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4a, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x4a, 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4a, 0x31, 0x57, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x02, 0x4f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, + 0x04, 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, + 0x03, 0x4b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4b, + 0x12, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, 0x24, 0x25, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x4b, 0x26, 0x4e, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4b, 0x27, 0x4d, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x4e, 0x00, 0x54, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x04, 0x01, 0x12, 0x03, 0x4e, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, + 0x03, 0x4f, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4f, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4f, 0x09, 0x0d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4f, 0x10, 0x11, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x4f, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4f, 0x13, 0x39, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x50, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x01, 0x05, 0x12, 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, + 0x01, 0x12, 0x03, 0x50, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x50, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x50, + 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x50, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x51, 0x02, 0x4d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, 0x51, 0x02, 0x1a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x51, 0x1b, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x51, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x02, 0x08, 0x12, 0x03, 0x51, 0x24, 0x4c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x51, 0x25, 0x4b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, + 0x03, 0x12, 0x03, 0x52, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, + 0x03, 0x52, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x52, + 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x52, 0x18, 0x19, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, 0x52, 0x1a, 0x42, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x52, 0x1b, 0x41, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x53, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x04, 0x06, 0x12, 0x03, 0x53, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x04, 0x01, 0x12, 0x03, 0x53, 0x1e, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, + 0x03, 0x12, 0x03, 0x53, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x08, 0x12, + 0x03, 0x53, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x53, 0x2b, 0x51, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x56, 0x00, 0x5a, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x56, 0x05, 0x1d, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x57, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x57, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x57, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x57, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x06, 0x05, 0x00, 0x02, 0x00, 0x03, 0x01, 0x12, 0x03, + 0x57, 0x2e, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x58, 0x02, 0x2a, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x58, 0x02, 0x25, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x58, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x59, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x59, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, + 0x12, 0x03, 0x59, 0x27, 0x28, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0x5c, 0x00, 0x65, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x03, 0x5c, 0x05, 0x20, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x03, 0x5d, 0x02, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x5d, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x5d, 0x2e, 0x2f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x03, + 0x5e, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x5e, 0x02, + 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x03, 0x5e, 0x27, 0x28, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x03, 0x5f, 0x02, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5f, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, + 0x02, 0x02, 0x02, 0x12, 0x03, 0x5f, 0x29, 0x2a, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, + 0x12, 0x03, 0x60, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, + 0x60, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x03, 0x60, 0x27, + 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, 0x03, 0x61, 0x02, 0x29, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, 0x61, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x03, 0x61, 0x27, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, + 0x02, 0x05, 0x12, 0x03, 0x62, 0x02, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x05, 0x01, + 0x12, 0x03, 0x62, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x05, 0x02, 0x12, 0x03, + 0x62, 0x2b, 0x2c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x06, 0x12, 0x03, 0x63, 0x02, 0x2c, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, 0x01, 0x12, 0x03, 0x63, 0x02, 0x27, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, 0x02, 0x12, 0x03, 0x63, 0x2a, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x01, 0x02, 0x07, 0x12, 0x03, 0x64, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, + 0x07, 0x01, 0x12, 0x03, 0x64, 0x02, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x07, 0x02, + 0x12, 0x03, 0x64, 0x39, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x04, 0x67, 0x00, 0x6d, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, 0x03, 0x67, 0x05, 0x13, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x03, 0x68, 0x02, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x68, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x68, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x68, 0x22, 0x35, 0x0a, 0x0d, 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, 0x01, 0x12, 0x03, + 0x68, 0x23, 0x34, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x03, 0x69, 0x02, 0x1c, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x69, 0x02, 0x17, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x03, 0x69, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x02, 0x02, 0x02, 0x12, 0x03, 0x6a, 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x6a, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x02, + 0x12, 0x03, 0x6a, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x03, 0x6b, + 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x03, 0x6b, 0x02, 0x17, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x03, 0x6b, 0x1a, 0x1b, 0x0a, 0x0b, + 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x03, 0x6c, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x02, 0x02, 0x04, 0x01, 0x12, 0x03, 0x6c, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x04, 0x02, 0x12, 0x03, 0x6c, 0x24, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x6f, + 0x00, 0x72, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x6f, 0x08, 0x21, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x70, 0x02, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x03, 0x70, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x70, 0x14, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x70, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x70, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x70, 0x24, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x71, + 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x03, 0x71, 0x02, 0x10, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x71, 0x11, 0x15, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x71, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x03, 0x71, 0x1a, 0x42, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x71, 0x1b, 0x41, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x06, 0x12, 0x04, 0x74, 0x00, 0x79, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, + 0x74, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x08, 0x00, 0x12, 0x04, 0x75, 0x02, 0x78, + 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x08, 0x00, 0x01, 0x12, 0x03, 0x75, 0x08, 0x0e, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x76, 0x04, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x76, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x76, 0x24, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x76, 0x2c, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, + 0x77, 0x04, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x06, 0x12, 0x03, 0x77, 0x04, + 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x77, 0x26, 0x2d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x77, 0x30, 0x31, 0x0a, 0x0a, 0x0a, + 0x02, 0x04, 0x07, 0x12, 0x04, 0x7b, 0x00, 0x7d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, + 0x12, 0x03, 0x7b, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x7c, + 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x03, 0x7c, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7c, 0x09, 0x16, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7c, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7c, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, 0x1c, 0x42, 0x0a, 0x0b, 0x0a, 0x02, 0x04, + 0x08, 0x12, 0x05, 0x7f, 0x00, 0x81, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, + 0x03, 0x7f, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x80, 0x01, + 0x02, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x80, 0x01, 0x02, + 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x01, 0x26, 0x2f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x80, 0x01, 0x32, 0x33, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x80, 0x01, 0x34, 0x5c, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x01, 0x35, 0x5b, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.calculated_channels.v1.tonic.rs"); include!("sift.calculated_channels.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.serde.rs index b64aa8269..944a8c230 100644 --- a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v1/sift.calculated_channels.v1.serde.rs @@ -105,6 +105,9 @@ impl serde::Serialize for ExpressionChannelReference { if !self.channel_id.is_empty() { len += 1; } + if self.calculated_channel_reference.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v1.ExpressionChannelReference", len)?; if !self.channel_reference.is_empty() { struct_ser.serialize_field("channelReference", &self.channel_reference)?; @@ -112,6 +115,13 @@ impl serde::Serialize for ExpressionChannelReference { if !self.channel_id.is_empty() { struct_ser.serialize_field("channelId", &self.channel_id)?; } + if let Some(v) = self.calculated_channel_reference.as_ref() { + match v { + expression_channel_reference::CalculatedChannelReference::CalculatedChannel(v) => { + struct_ser.serialize_field("calculatedChannel", v)?; + } + } + } struct_ser.end() } } @@ -126,12 +136,15 @@ impl<'de> serde::Deserialize<'de> for ExpressionChannelReference { "channelReference", "channel_id", "channelId", + "calculated_channel", + "calculatedChannel", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { ChannelReference, ChannelId, + CalculatedChannel, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -155,6 +168,7 @@ impl<'de> serde::Deserialize<'de> for ExpressionChannelReference { match value { "channelReference" | "channel_reference" => Ok(GeneratedField::ChannelReference), "channelId" | "channel_id" => Ok(GeneratedField::ChannelId), + "calculatedChannel" | "calculated_channel" => Ok(GeneratedField::CalculatedChannel), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -176,6 +190,7 @@ impl<'de> serde::Deserialize<'de> for ExpressionChannelReference { { let mut channel_reference__ = None; let mut channel_id__ = None; + let mut calculated_channel_reference__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::ChannelReference => { @@ -190,11 +205,19 @@ impl<'de> serde::Deserialize<'de> for ExpressionChannelReference { } channel_id__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannel => { + if calculated_channel_reference__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannel")); + } + calculated_channel_reference__ = map_.next_value::<::std::option::Option<_>>()?.map(expression_channel_reference::CalculatedChannelReference::CalculatedChannel) +; + } } } Ok(ExpressionChannelReference { channel_reference: channel_reference__.unwrap_or_default(), channel_id: channel_id__.unwrap_or_default(), + calculated_channel_reference: calculated_channel_reference__, }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.rs b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.rs index 26465130e..96d395693 100644 --- a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.rs +++ b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.rs @@ -40,6 +40,13 @@ pub struct CalculatedChannel { pub metadata: ::prost::alloc::vec::Vec, #[prost(bool, tag="21")] pub is_archived: bool, + #[prost(message, repeated, tag="22")] + pub calculated_channel_dependencies: ::prost::alloc::vec::Vec, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct CalculatedChannelDependency { + #[prost(string, tag="1")] + pub calculated_channel_version_id: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct CalculatedChannelConfiguration { @@ -90,12 +97,24 @@ pub mod calculated_channel_query_configuration { Sel(Sel), } } -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +#[derive(Clone, PartialEq, ::prost::Message)] pub struct CalculatedChannelAbstractChannelReference { #[prost(string, tag="1")] pub channel_reference: ::prost::alloc::string::String, #[prost(string, tag="2")] pub channel_identifier: ::prost::alloc::string::String, + #[prost(oneof="calculated_channel_abstract_channel_reference::CalculatedChannelReference", tags="3, 4")] + pub calculated_channel_reference: ::core::option::Option, +} +/// Nested message and enum types in `CalculatedChannelAbstractChannelReference`. +pub mod calculated_channel_abstract_channel_reference { + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum CalculatedChannelReference { + #[prost(string, tag="3")] + CalculatedChannelVersionId(::prost::alloc::string::String), + #[prost(message, tag="4")] + CalculatedChannel(super::super::v1::ExpressionRequest), + } } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CalculatedChannelValidationResult { @@ -116,6 +135,8 @@ pub struct GetCalculatedChannelRequest { pub client_key: ::prost::alloc::string::String, #[prost(string, tag="3")] pub organization_id: ::prost::alloc::string::String, + #[prost(string, tag="4")] + pub calculated_channel_version_id: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetCalculatedChannelResponse { @@ -295,9 +316,41 @@ pub struct ListResolvedCalculatedChannelsResponse { #[prost(string, tag="3")] pub next_page_token: ::prost::alloc::string::String, } +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct GetCalculatedChannelVersionsRequest { + #[prost(string, repeated, tag="1")] + pub calculated_channel_version_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCalculatedChannelVersionsResponse { + #[prost(message, repeated, tag="1")] + pub calculated_channels: ::prost::alloc::vec::Vec, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct GetCalculatedChannelDependentsRequest { + #[prost(oneof="get_calculated_channel_dependents_request::CalculatedChannel", tags="1, 2")] + pub calculated_channel: ::core::option::Option, +} +/// Nested message and enum types in `GetCalculatedChannelDependentsRequest`. +pub mod get_calculated_channel_dependents_request { + #[derive(Clone, PartialEq, Eq, Hash, ::prost::Oneof)] + pub enum CalculatedChannel { + #[prost(string, tag="1")] + CalculatedChannelId(::prost::alloc::string::String), + #[prost(string, tag="2")] + CalculatedChannelVersionId(::prost::alloc::string::String), + } +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetCalculatedChannelDependentsResponse { + #[prost(message, repeated, tag="1")] + pub calculated_channels: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag="2")] + pub rules: ::prost::alloc::vec::Vec, +} /// Encoded file descriptor set for the `sift.calculated_channels.v2` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xba, 0xfa, 0x01, 0x0a, 0x35, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x0a, 0x97, 0x9c, 0x02, 0x0a, 0x35, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1b, 0x73, 0x69, 0x66, @@ -328,141 +381,170 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xd4, 0x08, 0x0a, 0x11, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, - 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, - 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, - 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, - 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, - 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x12, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, - 0x73, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x1a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x09, 0x0a, 0x11, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, + 0x01, 0x12, 0x49, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, + 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2a, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, + 0x1e, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, + 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x0b, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x8a, - 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, + 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x61, 0x0a, 0x15, + 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, + 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x14, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, + 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x85, 0x01, 0x0a, 0x1f, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x16, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x22, 0x65, 0x0a, 0x1b, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x46, 0x0a, 0x1d, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x22, 0x90, 0x02, 0x0a, 0x1e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, + 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x30, 0x0a, 0x12, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, - 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, - 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x69, 0x65, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x14, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x10, 0x0a, 0x0e, 0x5f, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x42, 0x08, 0x0a, - 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x22, 0x90, 0x02, 0x0a, 0x1e, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x76, 0x0a, 0x13, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x23, 0x43, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0a, + 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x6f, 0x0a, + 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x4f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0a, 0x61, 0x6c, 0x6c, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x41, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x4f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6f, 0x6e, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x50, + 0x0a, 0x0e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x20, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, + 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, + 0xc7, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x03, 0x73, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6c, 0x48, 0x00, 0x52, 0x03, 0x73, 0x65, + 0x6c, 0x1a, 0xbc, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x6c, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8f, + 0x01, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x09, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x50, 0x0a, 0x0e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, - 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0xc7, 0x02, 0x0a, 0x23, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, - 0x03, 0x73, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x44, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x53, 0x65, 0x6c, - 0x48, 0x00, 0x52, 0x03, 0x73, 0x65, 0x6c, 0x1a, 0xbc, 0x01, 0x0a, 0x03, 0x53, 0x65, 0x6c, 0x12, - 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x8f, 0x01, 0x0a, 0x1d, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x46, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, - 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, - 0x91, 0x01, 0x0a, 0x29, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, - 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, - 0x32, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, - 0x69, 0x65, 0x72, 0x22, 0xcd, 0x01, 0x0a, 0x21, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0xd7, 0x02, 0x0a, 0x29, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x41, + 0x62, 0x73, 0x74, 0x72, 0x61, 0x63, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x32, 0x0a, 0x12, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x11, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x43, 0x0a, + 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x5f, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, + 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x42, 0x1e, 0x0a, 0x1c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x22, 0xcd, 0x01, 0x0a, 0x21, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, @@ -475,7 +557,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x61, 0x6d, 0x65, 0x22, 0xf0, 0x01, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, @@ -485,100 +567,48 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x82, - 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x22, 0xb5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x46, + 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x82, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x6e, - 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x1f, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xb5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x12, 0x74, 0x0a, 0x13, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, - 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xb3, 0x01, 0x0a, - 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x64, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x22, 0xfe, 0x01, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a, 0x0a, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, - 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, + 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, + 0x65, 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x88, + 0x01, 0x01, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x8a, 0x01, 0x0a, 0x20, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x75, + 0x6e, 0x69, 0x74, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x22, 0xfb, 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, @@ -594,1177 +624,1107 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x24, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, + 0x73, 0x22, 0xd0, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x42, 0x79, 0x22, 0xb3, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2b, 0x0a, + 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, + 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfe, 0x01, 0x0a, 0x1e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x62, 0x0a, + 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xc9, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, - 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x73, 0x0a, 0x1b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd3, 0x03, 0x0a, 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x8c, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x43, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, + 0x6c, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, + 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, + 0x61, 0x73, 0x6b, 0x12, 0x27, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x09, + 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, 0xfb, 0x01, 0x0a, 0x1f, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x62, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x12, 0x74, 0x0a, 0x13, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x62, 0x6c, 0x65, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x69, 0x6e, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x62, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x22, 0xb4, 0x02, 0x0a, 0x24, 0x4c, 0x69, + 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, + 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, + 0x22, 0xc9, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x73, 0x0a, 0x1b, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x19, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd3, 0x03, 0x0a, + 0x1f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x4e, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x01, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x19, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x12, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x65, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, + 0x12, 0x8c, 0x01, 0x0a, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, + 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x40, 0x0a, + 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, + 0x43, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x03, 0x72, 0x75, + 0x6e, 0x88, 0x01, 0x01, 0x42, 0x14, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, + 0x75, 0x6e, 0x22, 0x98, 0x02, 0x0a, 0x19, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x12, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x53, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x6b, 0x0a, 0x1b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x10, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x6f, + 0x75, 0x74, 0x70, 0x75, 0x74, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, + 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x22, 0x6b, 0x0a, + 0x1b, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x20, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x3c, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x22, 0xb2, 0x02, 0x0a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, - 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0x18, 0x0a, - 0x16, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, 0x86, 0x01, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x5d, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, - 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x22, + 0x86, 0x01, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5d, 0x0a, 0x08, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xe6, 0x01, - 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x72, 0x75, - 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xd5, 0x02, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x22, 0x8a, 0x01, 0x0a, 0x26, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x60, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x22, 0xe6, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, + 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, + 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, + 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xd5, + 0x02, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, + 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, + 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, + 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xdb, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x67, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x12, - 0x57, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x6f, 0x0a, 0x23, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x48, 0x0a, 0x1e, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x24, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, + 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xc2, 0x01, 0x0a, 0x25, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, + 0x0a, 0x15, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x48, 0x0a, 0x1d, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x42, 0x14, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xbe, 0x01, 0x0a, 0x26, 0x47, 0x65, + 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x13, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0x5d, 0x0a, 0x0a, 0x75, 0x6e, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x6e, 0x72, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x6e, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0xdb, - 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x32, 0xa3, 0x19, 0x0a, 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x1e, 0x63, 0x61, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe0, 0x02, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x12, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, + 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0x4c, 0x12, 0x14, 0x47, 0x65, 0x74, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x1a, 0x34, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x5a, 0x46, 0x12, + 0x44, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf6, 0x01, 0x0a, 0x17, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x1c, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x2b, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xa8, 0x14, 0x0a, - 0x18, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe0, 0x02, 0x0a, 0x14, 0x47, 0x65, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x60, 0x92, 0x41, 0x37, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, + 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x12, 0xa4, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x3a, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, 0x41, 0x4c, 0x12, 0x14, 0x47, - 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x1a, 0x34, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x6a, 0x12, 0x16, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, 0x17, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x7c, 0x92, 0x41, 0x53, 0x12, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, + 0x38, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x7d, 0x5a, - 0x46, 0x12, 0x44, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, + 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, + 0xac, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x92, 0x41, 0x6a, 0x12, 0x1d, + 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x49, 0x4c, + 0x69, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, 0x01, 0x5a, + 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, - 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf6, 0x01, 0x0a, - 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x3c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa6, + 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x18, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x3f, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, + 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, + 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x12, 0xcb, 0x02, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0x92, 0x41, 0x68, 0x12, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x47, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, + 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0xcd, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x60, 0x92, 0x41, 0x37, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x1a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0xa4, 0x02, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, + 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, + 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x90, 0x01, 0x92, 0x41, 0x6a, 0x12, - 0x16, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0xa1, 0x01, 0x92, 0x41, 0x72, 0x12, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, - 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x92, 0x02, 0x0a, - 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x12, + 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, + 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x12, 0xaf, 0x02, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x7c, 0x92, 0x41, 0x53, 0x12, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x1a, 0x38, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x20, 0x3a, 0x01, 0x2a, 0x32, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x12, 0xac, 0x03, 0x0a, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x83, 0x02, 0x92, 0x41, 0x6a, - 0x12, 0x1d, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x89, 0x01, 0x92, 0x41, + 0x5a, 0x12, 0x1c, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, - 0x49, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x8f, - 0x01, 0x5a, 0x4f, 0x12, 0x4d, 0x2f, 0x76, 0x32, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x7b, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x3c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, - 0x7b, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0xa6, 0x02, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x3c, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, 0x5b, - 0x12, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x3f, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x28, 0x3a, 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x12, 0xcb, 0x02, 0x0a, 0x1e, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9f, 0x01, 0x92, 0x41, 0x68, 0x12, 0x1d, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x1a, 0x47, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, - 0x65, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0xcd, 0x02, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, + 0x3a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xc6, 0x02, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0xa1, 0x01, 0x92, 0x41, 0x72, 0x12, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x1a, 0x50, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, 0x41, 0x69, 0x12, 0x1e, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x47, 0x52, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x12, 0x26, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, + 0x42, 0xc4, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x32, 0x42, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, + 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, + 0x56, 0x32, 0xca, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0xe2, + 0x02, 0x26, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, + 0x3a, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xa8, 0xbd, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, + 0x00, 0xd4, 0x03, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, + 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x24, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, + 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, + 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x38, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x3f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, + 0x12, 0x03, 0x0a, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x37, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x09, 0x12, 0x03, 0x0d, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x0a, 0x12, 0x03, 0x0e, 0x00, + 0x23, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x11, 0x00, 0x7d, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x11, 0x08, 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x00, 0x12, 0x04, 0x13, 0x02, 0x1c, 0x03, 0x1a, 0x35, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x13, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x13, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x00, 0x03, 0x12, 0x03, 0x13, 0x41, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x12, 0x04, 0x14, 0x04, 0x17, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x14, 0x04, 0x17, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x15, 0x06, 0x40, 0x0a, 0x12, 0x0a, + 0x0b, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, 0x12, 0x03, 0x16, 0x06, + 0x68, 0x0a, 0x13, 0x0a, 0x0c, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, + 0x02, 0x12, 0x03, 0x16, 0x1c, 0x67, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, + 0x04, 0x18, 0x04, 0x1b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, + 0x12, 0x04, 0x18, 0x04, 0x1b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, + 0x08, 0x02, 0x12, 0x03, 0x19, 0x06, 0x25, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x92, 0x08, 0x03, 0x12, 0x03, 0x1a, 0x06, 0x49, 0x0a, 0x2c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, + 0x12, 0x04, 0x1f, 0x02, 0x28, 0x03, 0x1a, 0x1e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x1f, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1f, + 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x47, 0x66, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x20, 0x04, 0x23, 0x06, 0x0a, + 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x20, 0x04, + 0x23, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, + 0x12, 0x03, 0x21, 0x06, 0x29, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x07, 0x12, 0x03, 0x22, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x12, 0x04, 0x24, 0x04, 0x27, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, + 0x92, 0x08, 0x12, 0x04, 0x24, 0x04, 0x27, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x25, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x26, 0x06, 0x31, 0x0a, 0x60, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x02, 0x12, 0x04, 0x2b, 0x02, 0x31, 0x03, 0x1a, 0x52, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x26, 0x12, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x42, 0xc4, 0x01, 0x0a, 0x1f, 0x63, 0x6f, 0x6d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x17, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x58, 0xaa, 0x02, 0x1a, 0x53, - 0x69, 0x66, 0x74, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, - 0x5c, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x26, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, - 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xe4, - 0xa9, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x9c, 0x03, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, - 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x24, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x2a, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x04, 0x12, 0x03, 0x08, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, - 0x3f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x37, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, - 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x29, 0x0a, 0x0a, 0x0a, - 0x02, 0x06, 0x00, 0x12, 0x04, 0x10, 0x00, 0x6a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, - 0x12, 0x03, 0x10, 0x08, 0x20, 0x0a, 0x43, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x12, - 0x02, 0x1b, 0x03, 0x1a, 0x35, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x02, 0x12, 0x03, 0x12, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x12, 0x41, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x13, - 0x04, 0x16, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x12, 0x04, 0x13, 0x04, 0x16, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x14, 0x06, 0x40, 0x0a, 0x12, 0x0a, 0x0b, 0x06, 0x00, 0x02, - 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, 0x12, 0x03, 0x15, 0x06, 0x68, 0x0a, 0x13, 0x0a, - 0x0c, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, 0x02, 0x12, 0x03, 0x15, - 0x1c, 0x67, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x17, 0x04, 0x1a, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x17, 0x04, - 0x1a, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x18, 0x06, 0x25, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x19, 0x06, 0x49, 0x0a, 0x2c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x1e, 0x02, - 0x27, 0x03, 0x1a, 0x1e, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1e, 0x06, 0x1d, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1e, 0x1e, 0x3c, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1e, 0x47, 0x66, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x1f, 0x04, 0x22, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, - 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x1f, 0x04, 0x22, 0x06, 0x0a, 0x11, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x20, 0x06, - 0x29, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x03, 0x21, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x23, - 0x04, 0x26, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, - 0x23, 0x04, 0x26, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x03, 0x24, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x03, 0x25, 0x06, 0x31, 0x0a, 0x60, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, - 0x2a, 0x02, 0x30, 0x03, 0x1a, 0x52, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x2a, 0x06, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, - 0x03, 0x2a, 0x1d, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2a, - 0x45, 0x63, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x2b, 0x04, 0x44, - 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x2b, - 0x04, 0x44, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, - 0x12, 0x03, 0x2b, 0x20, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, - 0x2c, 0x04, 0x2f, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, - 0x04, 0x2c, 0x04, 0x2f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, - 0x02, 0x12, 0x03, 0x2d, 0x06, 0x27, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x03, 0x2e, 0x06, 0x65, 0x0a, 0x48, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, - 0x04, 0x33, 0x02, 0x3c, 0x03, 0x1a, 0x3a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x33, 0x06, 0x1d, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x33, 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x33, 0x47, 0x66, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x34, 0x04, 0x37, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, - 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x34, 0x04, 0x37, 0x06, 0x0a, 0x11, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x35, 0x06, 0x2a, - 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, - 0x36, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x38, 0x04, - 0x3b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x38, - 0x04, 0x3b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, - 0x03, 0x39, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, - 0x12, 0x03, 0x3a, 0x06, 0x4d, 0x0a, 0x59, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x3f, - 0x02, 0x48, 0x03, 0x1a, 0x4b, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, - 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x3f, 0x06, 0x23, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x3f, 0x24, 0x48, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3f, 0x53, 0x78, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x04, 0x12, 0x04, 0x40, 0x04, 0x43, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x40, 0x04, 0x43, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x41, 0x06, 0x49, 0x0a, - 0x12, 0x0a, 0x0b, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, 0x12, 0x03, - 0x42, 0x06, 0x71, 0x0a, 0x13, 0x0a, 0x0c, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x0b, 0x00, 0x02, 0x12, 0x03, 0x42, 0x1c, 0x70, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, - 0x04, 0x12, 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, - 0x92, 0x08, 0x12, 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, - 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x45, 0x06, 0x2e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x46, 0x06, 0x5e, 0x0a, 0x50, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x05, 0x12, 0x04, 0x4b, 0x02, 0x54, 0x03, 0x1a, 0x42, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x4b, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x05, 0x02, 0x12, 0x03, 0x4b, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, - 0x03, 0x12, 0x03, 0x4b, 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, - 0x04, 0x4c, 0x04, 0x4f, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x04, 0x4c, 0x04, 0x4f, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x4d, 0x06, 0x31, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x4e, 0x06, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x50, 0x04, 0x53, 0x06, 0x0a, 0x0f, 0x0a, - 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x50, 0x04, 0x53, 0x06, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x51, 0x06, 0x29, 0x0a, - 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x52, 0x06, 0x54, - 0x0a, 0x58, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x57, 0x02, 0x60, 0x03, 0x1a, 0x4a, - 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x06, 0x01, 0x12, 0x03, 0x57, 0x06, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, - 0x02, 0x12, 0x03, 0x57, 0x25, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, - 0x03, 0x57, 0x55, 0x7b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x58, - 0x04, 0x5b, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x12, 0x04, 0x58, 0x04, 0x5b, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x59, 0x06, 0x37, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, - 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x5a, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x5c, 0x04, 0x5f, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, - 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x5c, 0x04, 0x5f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x5d, 0x06, 0x2e, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x5e, 0x06, 0x5c, 0x0a, 0x60, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x63, 0x02, 0x69, 0x03, 0x1a, 0x52, 0x20, 0x52, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, - 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x6f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x63, 0x06, 0x24, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x63, 0x25, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x63, 0x55, 0x7b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x12, 0x03, 0x64, 0x04, 0x4d, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x07, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x64, 0x04, 0x4d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x64, 0x20, 0x4b, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x65, 0x04, 0x68, 0x06, 0x0a, 0x0f, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x65, 0x04, 0x68, 0x06, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x66, 0x06, 0x2f, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x67, 0x06, 0x65, 0x0a, - 0x0b, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x05, 0x6c, 0x00, 0x82, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x00, 0x01, 0x12, 0x03, 0x6c, 0x08, 0x19, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, - 0x12, 0x03, 0x6d, 0x02, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x6d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6d, 0x09, - 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6d, 0x21, 0x22, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6d, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6d, 0x24, 0x4a, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x6e, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x01, 0x12, 0x03, 0x6e, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, - 0x12, 0x03, 0x6e, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, - 0x6e, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x6e, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x6f, 0x02, - 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x6f, 0x02, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x6f, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x6f, 0x12, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x6f, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x02, 0x08, 0x12, 0x03, 0x6f, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6f, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, - 0x12, 0x03, 0x70, 0x02, 0x60, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x04, 0x12, 0x03, - 0x70, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x70, 0x0b, - 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x70, 0x25, 0x32, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x70, 0x35, 0x36, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x70, 0x37, 0x5f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x70, 0x38, 0x5e, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x72, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x04, 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, - 0x12, 0x03, 0x72, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, - 0x72, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x72, 0x18, - 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x72, - 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x73, 0x02, 0x3e, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x73, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x73, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x73, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x08, 0x12, 0x03, 0x73, 0x15, 0x3d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x73, 0x16, 0x3c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, - 0x12, 0x03, 0x74, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, - 0x74, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x74, 0x09, - 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x74, 0x10, 0x11, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x03, 0x74, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x74, 0x13, 0x39, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x75, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x01, 0x12, 0x03, 0x75, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, - 0x12, 0x03, 0x75, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, - 0x75, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x75, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x76, 0x02, - 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x76, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x76, 0x09, 0x17, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x76, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x08, 0x08, 0x12, 0x03, 0x76, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x76, 0x1d, 0x43, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x09, 0x12, 0x03, 0x77, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, - 0x12, 0x03, 0x77, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, - 0x77, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x77, 0x16, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x03, 0x77, 0x19, 0x41, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x77, 0x1a, 0x40, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x78, 0x02, 0x46, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x03, 0x78, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0a, 0x05, 0x12, 0x03, 0x78, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0a, 0x01, 0x12, 0x03, 0x78, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, - 0x12, 0x03, 0x78, 0x1a, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, - 0x78, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x78, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x79, 0x02, - 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x03, 0x79, 0x02, 0x1b, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x79, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x79, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0b, 0x08, 0x12, 0x03, 0x79, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x79, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x0c, 0x12, 0x03, 0x7a, 0x02, 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x06, - 0x12, 0x03, 0x7a, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, - 0x7a, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x7a, 0x2c, - 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x12, 0x03, 0x7a, 0x2f, 0x57, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7a, 0x30, 0x56, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0d, 0x12, 0x03, 0x7b, 0x02, 0x70, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0d, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x7b, 0x21, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0d, 0x03, 0x12, 0x03, 0x7b, 0x44, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, - 0x12, 0x03, 0x7b, 0x47, 0x6f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x7b, 0x48, 0x6e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x03, - 0x7c, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x7c, 0x02, - 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x7c, 0x09, 0x1b, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x7c, 0x1e, 0x20, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x03, 0x7c, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x0f, 0x12, 0x03, 0x7d, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0f, 0x05, 0x12, 0x03, 0x7d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, - 0x12, 0x03, 0x7d, 0x09, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, - 0x7d, 0x1f, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x12, 0x03, 0x7d, 0x22, - 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7d, - 0x23, 0x49, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x10, 0x12, 0x03, 0x7e, 0x02, 0x76, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x04, 0x12, 0x03, 0x7e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x10, 0x06, 0x12, 0x03, 0x7e, 0x0b, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x10, 0x01, 0x12, 0x03, 0x7e, 0x32, 0x47, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x10, 0x03, 0x12, 0x03, 0x7e, 0x4a, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, - 0x12, 0x03, 0x7e, 0x4d, 0x75, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x7e, 0x4e, 0x74, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x03, - 0x7f, 0x02, 0x61, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x04, 0x12, 0x03, 0x7f, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x06, 0x12, 0x03, 0x7f, 0x0b, 0x29, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x03, 0x7f, 0x2a, 0x32, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x03, 0x7f, 0x35, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x11, 0x08, 0x12, 0x03, 0x7f, 0x38, 0x60, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7f, 0x39, 0x5f, 0x0a, 0x6f, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x12, 0x12, 0x04, 0x81, 0x01, 0x02, 0x41, 0x1a, 0x61, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x69, - 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x12, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x12, 0x01, 0x12, 0x04, 0x81, 0x01, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x12, 0x03, 0x12, 0x04, 0x81, 0x01, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, - 0x08, 0x12, 0x04, 0x81, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x12, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x01, 0x12, - 0x06, 0x84, 0x01, 0x00, 0x87, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, - 0x84, 0x01, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0x85, 0x01, - 0x02, 0x67, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x04, 0x85, 0x01, 0x02, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x01, 0x26, 0x39, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x01, 0x3c, 0x3d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0x85, 0x01, 0x3e, 0x66, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x01, 0x3f, 0x65, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x67, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x04, 0x86, 0x01, 0x02, 0x25, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x86, 0x01, 0x26, 0x39, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x86, 0x01, 0x3c, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, 0x86, 0x01, 0x3e, 0x66, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x01, 0x3f, 0x65, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x02, 0x12, 0x06, 0x89, 0x01, 0x00, 0x92, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, - 0x01, 0x12, 0x04, 0x89, 0x01, 0x08, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x03, 0x00, 0x12, - 0x06, 0x8a, 0x01, 0x02, 0x8d, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x03, 0x00, 0x01, - 0x12, 0x04, 0x8a, 0x01, 0x0a, 0x18, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x02, 0x03, 0x00, 0x02, 0x00, - 0x12, 0x04, 0x8b, 0x01, 0x04, 0x4b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x8b, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, - 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x0d, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x14, 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x20, 0x21, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, - 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8b, 0x01, 0x22, 0x4a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x02, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x23, 0x49, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x49, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x0c, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8c, 0x01, 0x0d, - 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8c, 0x01, - 0x14, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8c, - 0x01, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x8c, 0x01, 0x20, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x02, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x21, 0x47, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, - 0x12, 0x06, 0x8e, 0x01, 0x02, 0x91, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, - 0x01, 0x12, 0x04, 0x8e, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x04, 0x8f, 0x01, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, - 0x8f, 0x01, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8f, - 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8f, 0x01, - 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0x90, 0x01, 0x04, 0x21, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0x90, 0x01, 0x04, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x90, 0x01, 0x13, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x90, 0x01, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x03, 0x12, 0x06, 0x94, 0x01, 0x00, 0x9e, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x03, 0x01, 0x12, 0x04, 0x94, 0x01, 0x08, 0x2b, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x03, 0x03, 0x00, - 0x12, 0x06, 0x96, 0x01, 0x02, 0x99, 0x01, 0x03, 0x1a, 0x1b, 0x20, 0x53, 0x69, 0x66, 0x74, 0x20, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x03, 0x00, 0x01, 0x12, 0x04, - 0x96, 0x01, 0x0a, 0x0d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, - 0x97, 0x01, 0x04, 0x43, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, - 0x04, 0x97, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x97, 0x01, 0x0b, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x97, 0x01, 0x18, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x97, 0x01, 0x1a, 0x42, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x03, 0x03, 0x00, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, 0x01, 0x1b, 0x41, 0x0a, 0x0f, 0x0a, 0x06, - 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x12, 0x05, 0x98, 0x01, 0x04, 0x82, 0x01, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x98, 0x01, 0x04, 0x0c, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, 0x98, 0x01, 0x0d, 0x36, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, 0x37, 0x54, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x01, 0x57, - 0x58, 0x0a, 0x10, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x05, 0x98, 0x01, - 0x59, 0x81, 0x01, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x05, 0x98, 0x01, 0x5a, 0x80, 0x01, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, - 0x12, 0x06, 0x9b, 0x01, 0x02, 0x9d, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, - 0x01, 0x12, 0x04, 0x9b, 0x01, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, - 0x04, 0x9c, 0x01, 0x04, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, - 0x9c, 0x01, 0x04, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, - 0x01, 0x08, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, - 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xa0, 0x01, 0x00, 0xa3, 0x01, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x08, 0x31, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xa1, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x01, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, - 0x12, 0x04, 0xa2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xa2, 0x01, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xa2, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa2, - 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xa2, 0x01, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa5, 0x01, 0x00, - 0xad, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x08, 0x29, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x3f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x17, 0x3d, 0x0a, 0x3f, 0x0a, 0x04, - 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x4a, 0x1a, 0x31, 0x20, 0x4f, 0x6e, 0x6c, - 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x20, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x01, 0x04, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa8, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xa8, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xa8, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa8, 0x01, 0x22, 0x48, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x02, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x49, 0x1a, 0x28, 0x20, 0x49, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x04, 0xaa, 0x01, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0xaa, 0x01, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x12, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0xaa, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x01, 0x21, 0x47, 0x0a, - 0x3e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0xac, 0x01, 0x02, 0x50, 0x1a, 0x30, 0x20, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x04, 0x12, 0x04, 0xac, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x05, 0x12, 0x04, 0xac, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xac, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xac, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, 0xac, 0x01, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, - 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x01, 0x28, 0x4e, 0x0a, 0xb0, 0x03, 0x0a, - 0x02, 0x04, 0x06, 0x12, 0x06, 0xb3, 0x01, 0x00, 0xb7, 0x01, 0x01, 0x1a, 0xa1, 0x03, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, - 0x0a, 0x20, 0x49, 0x66, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x0a, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x67, 0x65, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x61, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, 0x69, 0x66, 0x20, 0x75, 0x73, 0x69, 0x6e, - 0x67, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, - 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb4, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb4, 0x01, 0x21, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xb4, 0x01, 0x23, 0x4b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xb4, 0x01, 0x24, 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, - 0x12, 0x04, 0xb5, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, - 0x04, 0xb5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xb5, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb5, - 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb5, 0x01, - 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xb5, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xb6, 0x01, - 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb6, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x09, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb6, 0x01, 0x1b, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, 0x04, 0xb6, 0x01, 0x1d, 0x45, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb6, 0x01, 0x1e, 0x44, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xb9, 0x01, 0x00, 0xbb, 0x01, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xb9, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x00, 0x12, 0x04, 0xba, 0x01, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xba, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xba, 0x01, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xba, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xba, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xba, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xbd, - 0x01, 0x00, 0xc5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xbd, 0x01, - 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x3b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x09, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbe, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x13, 0x39, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xbf, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x02, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xc0, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xc0, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x08, 0x12, 0x04, - 0xc0, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc0, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x04, - 0xc1, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x04, 0x12, 0x04, 0xc1, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xc1, 0x01, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x12, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x1a, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc1, 0x01, 0x1c, 0x44, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc1, 0x01, 0x1d, - 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x4a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x04, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc2, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc2, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, - 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x08, 0x02, 0x05, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x6f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x05, 0x06, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x05, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x21, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, - 0x03, 0x12, 0x04, 0xc3, 0x01, 0x44, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x08, - 0x12, 0x04, 0xc3, 0x01, 0x46, 0x6e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x05, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xc3, 0x01, 0x47, 0x6d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x06, - 0x12, 0x04, 0xc4, 0x01, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x04, 0x12, - 0x04, 0xc4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x06, 0x12, 0x04, - 0xc4, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x01, 0x12, 0x04, 0xc4, - 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x03, 0x12, 0x04, 0xc4, 0x01, - 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x37, - 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc4, - 0x01, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xc7, 0x01, 0x00, 0xca, 0x01, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x08, 0x27, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x6e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x04, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xc9, 0x01, 0x0b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xc9, 0x01, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xc9, 0x01, 0x43, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc9, - 0x01, 0x45, 0x6d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xc9, 0x01, 0x46, 0x6c, 0x0a, 0x90, 0x01, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xcd, 0x01, - 0x00, 0xea, 0x01, 0x01, 0x1a, 0x81, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, + 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x2b, 0x06, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x02, 0x12, 0x03, 0x2b, 0x1d, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, + 0x03, 0x12, 0x03, 0x2b, 0x45, 0x63, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, + 0x03, 0x2c, 0x04, 0x44, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x12, 0x03, 0x2c, 0x04, 0x44, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x2c, 0x20, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x02, 0x04, 0x12, 0x04, 0x2d, 0x04, 0x30, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x02, + 0x04, 0x92, 0x08, 0x12, 0x04, 0x2d, 0x04, 0x30, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x2e, 0x06, 0x27, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, + 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x2f, 0x06, 0x65, 0x0a, 0x48, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x03, 0x12, 0x04, 0x34, 0x02, 0x3d, 0x03, 0x1a, 0x3a, 0x20, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, + 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, + 0x34, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x34, 0x1e, + 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x34, 0x47, 0x66, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x35, 0x04, 0x38, 0x06, 0x0a, 0x11, + 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x35, 0x04, 0x38, + 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, + 0x03, 0x36, 0x06, 0x2a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x07, 0x12, 0x03, 0x37, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, + 0x12, 0x04, 0x39, 0x04, 0x3c, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, + 0x08, 0x12, 0x04, 0x39, 0x04, 0x3c, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, + 0x92, 0x08, 0x02, 0x12, 0x03, 0x3a, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, + 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x3b, 0x06, 0x4d, 0x0a, 0x59, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x04, 0x12, 0x04, 0x40, 0x02, 0x49, 0x03, 0x1a, 0x4b, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, + 0x74, 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x40, + 0x06, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x40, 0x24, 0x48, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x40, 0x53, 0x78, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x41, 0x04, 0x44, 0x06, 0x0a, 0x11, 0x0a, + 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x41, 0x04, 0x44, 0x06, + 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, + 0x42, 0x06, 0x49, 0x0a, 0x12, 0x0a, 0x0b, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, + 0x0b, 0x00, 0x12, 0x03, 0x43, 0x06, 0x71, 0x0a, 0x13, 0x0a, 0x0c, 0x06, 0x00, 0x02, 0x04, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x0b, 0x00, 0x02, 0x12, 0x03, 0x43, 0x1c, 0x70, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x45, 0x04, 0x48, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, 0x45, 0x04, 0x48, 0x06, 0x0a, 0x0f, 0x0a, 0x08, + 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x46, 0x06, 0x2e, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x47, 0x06, 0x5e, 0x0a, 0x50, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x4c, 0x02, 0x55, 0x03, 0x1a, 0x42, 0x20, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x4c, 0x06, 0x1e, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x4c, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x4c, 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x05, 0x04, 0x12, 0x04, 0x4d, 0x04, 0x50, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, + 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x4d, 0x04, 0x50, 0x06, 0x0a, 0x11, 0x0a, 0x0a, + 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x4e, 0x06, 0x31, 0x0a, + 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x4f, + 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x51, 0x04, 0x54, + 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x51, 0x04, + 0x54, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, + 0x52, 0x06, 0x29, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, + 0x03, 0x53, 0x06, 0x54, 0x0a, 0x58, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x58, 0x02, + 0x61, 0x03, 0x1a, 0x4a, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x20, 0x61, 0x20, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x74, 0x6f, + 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x58, 0x06, 0x24, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x58, 0x25, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x06, 0x03, 0x12, 0x03, 0x58, 0x55, 0x7b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, + 0x04, 0x12, 0x04, 0x59, 0x04, 0x5c, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x06, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x59, 0x04, 0x5c, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x5a, 0x06, 0x37, 0x0a, 0x11, 0x0a, + 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x5b, 0x06, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, + 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, + 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x5e, 0x06, + 0x2e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x5f, + 0x06, 0x5c, 0x0a, 0x60, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x64, 0x02, 0x6a, 0x03, + 0x1a, 0x52, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, - 0x04, 0xcd, 0x01, 0x08, 0x25, 0x0a, 0x86, 0x02, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, - 0xd1, 0x01, 0x02, 0x40, 0x1a, 0xf7, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, - 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, - 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, - 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, - 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd1, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x18, 0x3e, 0x0a, 0x8e, 0x02, 0x0a, - 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x41, 0x1a, 0xff, 0x01, 0x20, 0x41, - 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xd7, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd7, 0x01, 0x19, 0x3f, 0x0a, 0xfc, 0x05, 0x0a, 0x04, - 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x3d, 0x1a, 0xed, 0x05, 0x20, 0x41, 0x20, - 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, - 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, - 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, - 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, - 0x73, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, - 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, - 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, - 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x20, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x02, 0x05, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xdf, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xdf, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xdf, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, - 0x12, 0x04, 0xe2, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x04, - 0xe2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe2, - 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe2, 0x01, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x04, 0xe2, 0x01, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, - 0x01, 0x1e, 0x44, 0x0a, 0xe7, 0x03, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0xe9, 0x01, - 0x02, 0x3f, 0x1a, 0xd8, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, - 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, - 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, - 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, - 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, - 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, - 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, - 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, - 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe9, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x04, 0x08, 0x12, 0x04, 0xe9, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, - 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x01, 0x17, 0x3d, 0x0a, 0x5c, 0x0a, 0x02, 0x04, - 0x0b, 0x12, 0x06, 0xed, 0x01, 0x00, 0xf0, 0x01, 0x01, 0x1a, 0x4e, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, - 0x12, 0x04, 0xed, 0x01, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, - 0xee, 0x01, 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x04, 0x12, 0x04, 0xee, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xee, 0x01, - 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x1d, - 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x01, 0x33, 0x34, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, 0x35, 0x5d, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x01, 0x36, - 0x5c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xef, 0x01, 0x02, 0x46, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xef, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xef, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xef, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xef, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xef, 0x01, 0x1e, 0x44, 0x0a, 0xf7, 0x04, - 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xf7, 0x01, 0x00, 0x81, 0x02, 0x01, 0x1a, 0xe8, 0x04, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x0a, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x6c, 0x65, 0x61, - 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x20, 0x75, 0x6e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, - 0x6e, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x65, - 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, - 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, 0x20, 0x61, 0x73, - 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x6e, 0x75, 0x6c, 0x6c, 0x0a, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x60, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x75, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x60, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x61, 0x20, 0x60, 0x6e, 0x75, 0x6c, 0x6c, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, - 0xf7, 0x01, 0x08, 0x26, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xf9, 0x01, - 0x02, 0x54, 0x1a, 0x23, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xf9, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xf9, 0x01, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xf9, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf9, - 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xf9, 0x01, 0x2c, 0x52, 0x0a, 0xd8, 0x01, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, - 0xfd, 0x01, 0x02, 0x55, 0x1a, 0xc9, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, - 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x1c, 0x27, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfd, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x01, 0x2d, 0x53, 0x0a, 0x38, - 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0x80, 0x02, 0x02, 0x4a, 0x1a, 0x2a, 0x20, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x6e, 0x6f, 0x74, - 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, 0x65, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, - 0x04, 0x12, 0x04, 0x80, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x05, - 0x12, 0x04, 0x80, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x01, 0x12, - 0x04, 0x80, 0x02, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x03, 0x12, 0x04, - 0x80, 0x02, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, 0x08, 0x12, 0x04, 0x80, - 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x80, 0x02, 0x22, 0x48, 0x0a, 0x5d, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0x84, 0x02, 0x00, - 0x87, 0x02, 0x01, 0x1a, 0x4f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, + 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x64, + 0x06, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x64, 0x25, 0x4a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x64, 0x55, 0x7b, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x03, 0x65, 0x04, 0x4d, 0x0a, 0x10, 0x0a, 0x09, + 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x65, 0x04, 0x4d, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x65, 0x20, + 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x66, 0x04, 0x69, 0x06, + 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x66, 0x04, 0x69, + 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x67, + 0x06, 0x2f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, + 0x68, 0x06, 0x65, 0x0a, 0x4a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x04, 0x6d, 0x02, 0x73, + 0x03, 0x1a, 0x3c, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x69, + 0x72, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x73, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x6d, 0x06, 0x22, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x6d, 0x23, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x6d, 0x51, 0x75, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x08, 0x04, 0x12, 0x03, 0x6e, 0x04, 0x4d, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x08, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x6e, 0x04, 0x4d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, + 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x6e, 0x20, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x12, 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x0f, 0x0a, 0x08, + 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x70, 0x06, 0x2d, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x71, 0x06, 0x4f, 0x0a, 0x57, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, 0x04, 0x76, 0x02, 0x7c, 0x03, 0x1a, 0x49, 0x20, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, + 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, + 0x12, 0x03, 0x76, 0x06, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, + 0x76, 0x25, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x76, 0x55, + 0x7b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x77, 0x04, 0x4f, 0x0a, + 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x77, 0x04, + 0x4f, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, + 0x03, 0x77, 0x20, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, 0x04, 0x78, + 0x04, 0x7b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x12, 0x04, + 0x78, 0x04, 0x7b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x02, + 0x12, 0x03, 0x79, 0x06, 0x2f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x03, 0x7a, 0x06, 0x5c, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x05, 0x7f, 0x00, + 0x97, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x7f, 0x08, 0x19, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x80, 0x01, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x80, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0x80, 0x01, 0x21, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x80, 0x01, 0x23, 0x4b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x01, 0x24, 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x01, 0x12, 0x04, 0x81, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x04, 0x81, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, + 0x04, 0x81, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x81, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, + 0x04, 0x82, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, + 0x82, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0x82, + 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0x82, 0x01, + 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0x82, 0x01, 0x1f, + 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0x82, 0x01, 0x21, 0x49, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x01, + 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0x83, 0x01, 0x02, 0x60, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x83, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x04, 0x83, 0x01, 0x0b, 0x24, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0x83, 0x01, 0x25, 0x32, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x04, 0x83, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x04, 0x83, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x01, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0x85, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x04, 0x05, 0x12, 0x04, 0x85, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x04, 0x01, 0x12, 0x04, 0x85, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x04, 0x03, 0x12, 0x04, 0x85, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, + 0x08, 0x12, 0x04, 0x85, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x05, 0x12, 0x04, 0x86, 0x01, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, + 0x12, 0x04, 0x86, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, + 0x04, 0x86, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x04, + 0x86, 0x01, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x04, 0x86, + 0x01, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x86, 0x01, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x04, 0x87, + 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x04, 0x87, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0x87, 0x01, 0x09, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0x87, 0x01, 0x10, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x04, 0x87, 0x01, 0x12, 0x3a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x01, 0x13, + 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x04, 0x88, 0x01, 0x02, 0x42, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x04, 0x88, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x04, 0x88, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0x88, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x04, 0x88, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x04, 0x89, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x08, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x08, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x08, 0x03, 0x12, 0x04, 0x89, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, + 0x08, 0x12, 0x04, 0x89, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x09, 0x12, 0x04, 0x8a, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, + 0x12, 0x04, 0x8a, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, + 0x04, 0x8a, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, + 0x8a, 0x01, 0x16, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x04, 0x8a, + 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x8a, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x04, 0x8b, + 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x04, 0x8b, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x12, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x1a, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x04, 0x8b, 0x01, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x1e, 0x44, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x57, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x2b, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0b, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x0c, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x0c, 0x06, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0c, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, + 0x03, 0x12, 0x04, 0x8d, 0x01, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x08, + 0x12, 0x04, 0x8d, 0x01, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x8d, 0x01, 0x30, 0x56, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0d, + 0x12, 0x04, 0x8e, 0x01, 0x02, 0x70, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x06, 0x12, + 0x04, 0x8e, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x04, + 0x8e, 0x01, 0x21, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, 0x8e, + 0x01, 0x44, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x04, 0x8e, 0x01, + 0x47, 0x6f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x8e, 0x01, 0x48, 0x6e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x04, 0x8f, 0x01, + 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x05, 0x12, 0x04, 0x8f, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x09, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, 0x8f, 0x01, 0x1e, 0x20, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x04, 0x8f, 0x01, 0x21, 0x49, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x01, 0x22, 0x48, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0f, 0x12, 0x04, 0x90, 0x01, 0x02, 0x4b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12, 0x04, 0x90, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x04, 0x90, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x04, 0x90, 0x01, 0x1f, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0f, 0x08, 0x12, 0x04, 0x90, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x10, 0x12, 0x04, 0x91, 0x01, 0x02, 0x76, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x10, 0x04, 0x12, 0x04, 0x91, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x10, 0x06, 0x12, 0x04, 0x91, 0x01, 0x0b, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, + 0x01, 0x12, 0x04, 0x91, 0x01, 0x32, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, + 0x12, 0x04, 0x91, 0x01, 0x4a, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, + 0x04, 0x91, 0x01, 0x4d, 0x75, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x91, 0x01, 0x4e, 0x74, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, + 0x04, 0x92, 0x01, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x04, 0x12, 0x04, + 0x92, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x06, 0x12, 0x04, 0x92, + 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0x92, 0x01, + 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0x92, 0x01, 0x35, + 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x08, 0x12, 0x04, 0x92, 0x01, 0x38, 0x60, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x01, + 0x39, 0x5f, 0x0a, 0x6f, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x12, 0x12, 0x04, 0x94, 0x01, 0x02, 0x41, + 0x1a, 0x61, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x20, 0x69, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x20, 0x54, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, + 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, + 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x05, 0x12, 0x04, 0x94, 0x01, + 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0x94, 0x01, 0x07, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0x94, 0x01, 0x15, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x08, 0x12, 0x04, 0x94, 0x01, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x12, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x01, 0x19, + 0x3f, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x13, 0x12, 0x04, 0x96, 0x01, 0x02, 0x75, 0x1a, + 0x33, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x96, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x06, 0x12, 0x04, 0x96, 0x01, + 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x01, 0x12, 0x04, 0x96, 0x01, 0x27, + 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0x96, 0x01, 0x49, 0x4b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x08, 0x12, 0x04, 0x96, 0x01, 0x4c, 0x74, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x13, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x96, 0x01, 0x4d, + 0x73, 0x0a, 0x3b, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0x9a, 0x01, 0x00, 0x9c, 0x01, 0x01, 0x1a, + 0x2d, 0x20, 0x41, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x20, 0x6f, + 0x6e, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x01, 0x02, 0x00, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x9b, 0x01, 0x09, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x9b, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x9b, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x9b, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x9e, + 0x01, 0x00, 0xa1, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x9e, 0x01, + 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x9f, 0x01, 0x02, 0x67, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9f, 0x01, 0x02, 0x25, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x26, 0x39, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x3c, 0x3d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9f, 0x01, 0x3e, 0x66, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9f, 0x01, 0x3f, 0x65, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x67, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x26, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x3c, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xa0, 0x01, 0x3e, 0x66, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x01, 0x3f, 0x65, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, + 0x12, 0x06, 0xa3, 0x01, 0x00, 0xac, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, + 0x04, 0xa3, 0x01, 0x08, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, 0x03, 0x00, 0x12, 0x06, 0xa4, + 0x01, 0x02, 0xa7, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x03, 0x00, 0x01, 0x12, 0x04, + 0xa4, 0x01, 0x0a, 0x18, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, + 0xa5, 0x01, 0x04, 0x4b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xa5, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, 0x05, + 0x12, 0x04, 0xa5, 0x01, 0x0d, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xa5, 0x01, 0x14, 0x1d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xa5, 0x01, 0x20, 0x21, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xa5, 0x01, 0x22, 0x4a, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x03, 0x03, + 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x01, 0x23, 0x49, 0x0a, 0x0e, 0x0a, + 0x06, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x04, 0x49, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0xa6, 0x01, 0x04, 0x0c, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa6, 0x01, 0x0d, 0x13, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x14, 0x1b, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x1e, + 0x1f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa6, 0x01, + 0x20, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x03, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xa6, 0x01, 0x21, 0x47, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, 0x12, 0x06, + 0xa8, 0x01, 0x02, 0xab, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, 0x01, 0x12, + 0x04, 0xa8, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xa9, + 0x01, 0x04, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa9, 0x01, + 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x16, 0x17, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x04, 0x21, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x04, 0xaa, 0x01, 0x04, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x13, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x04, 0x12, 0x06, 0xae, 0x01, 0x00, 0xb8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, + 0x12, 0x04, 0xae, 0x01, 0x08, 0x2b, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x04, 0x03, 0x00, 0x12, 0x06, + 0xb0, 0x01, 0x02, 0xb3, 0x01, 0x03, 0x1a, 0x1b, 0x20, 0x53, 0x69, 0x66, 0x74, 0x20, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x03, 0x00, 0x01, 0x12, 0x04, 0xb0, 0x01, + 0x0a, 0x0d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xb1, 0x01, + 0x04, 0x43, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb1, + 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xb1, 0x01, 0x0b, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xb1, 0x01, 0x18, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xb1, 0x01, 0x1a, 0x42, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x04, 0x03, 0x00, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x01, 0x1b, 0x41, 0x0a, 0x0f, 0x0a, 0x06, 0x04, 0x04, + 0x03, 0x00, 0x02, 0x01, 0x12, 0x05, 0xb2, 0x01, 0x04, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x04, 0x03, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0xb2, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb2, 0x01, 0x0d, 0x36, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x37, 0x54, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x57, 0x58, 0x0a, + 0x10, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x05, 0xb2, 0x01, 0x59, 0x81, + 0x01, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x05, 0xb2, 0x01, 0x5a, 0x80, 0x01, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x04, 0x08, 0x00, 0x12, 0x06, + 0xb5, 0x01, 0x02, 0xb7, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x08, 0x00, 0x01, 0x12, + 0x04, 0xb5, 0x01, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xb6, + 0x01, 0x04, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb6, 0x01, + 0x04, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x08, + 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb6, 0x01, 0x0e, 0x0f, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xba, 0x01, 0x00, 0xc2, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xba, 0x01, 0x08, 0x31, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x00, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x00, 0x05, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xbb, 0x01, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xbb, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xbb, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xbb, 0x01, 0x20, 0x46, 0x0a, 0x60, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, + 0x04, 0xbd, 0x01, 0x02, 0x49, 0x1a, 0x52, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x2c, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x01, 0x05, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xbd, 0x01, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xbd, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, + 0x04, 0xbd, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xbd, 0x01, 0x21, 0x47, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x08, 0x00, 0x12, + 0x06, 0xbe, 0x01, 0x02, 0xc1, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x08, 0x00, 0x01, + 0x12, 0x04, 0xbe, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, + 0xbf, 0x01, 0x04, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbf, + 0x01, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x01, + 0x0b, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x2b, + 0x2c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x04, 0x49, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0xc0, 0x01, 0x04, 0x31, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x32, 0x44, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x47, 0x48, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x06, 0x12, 0x06, 0xc4, 0x01, 0x00, 0xcc, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, + 0x01, 0x12, 0x04, 0xc4, 0x01, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, + 0x04, 0xc5, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xc5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, + 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x01, + 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x16, + 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, + 0x01, 0x17, 0x3d, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x02, + 0x4a, 0x1a, 0x31, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x20, 0x69, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x04, 0x12, 0x04, 0xc7, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc7, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x12, + 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x1f, 0x20, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc7, 0x01, 0x21, 0x49, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x22, + 0x48, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x49, 0x1a, + 0x28, 0x20, 0x49, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x61, 0x67, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x02, 0x04, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, + 0x05, 0x12, 0x04, 0xc9, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xc9, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xc9, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, 0x04, + 0xc9, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xc9, 0x01, 0x21, 0x47, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, + 0xcb, 0x01, 0x02, 0x50, 0x1a, 0x30, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, + 0x20, 0x68, 0x61, 0x76, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x04, 0x12, + 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, + 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0xcb, + 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0xcb, 0x01, + 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x04, 0xcb, 0x01, 0x27, + 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, + 0x01, 0x28, 0x4e, 0x0a, 0xb0, 0x03, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xd2, 0x01, 0x00, 0xd7, + 0x01, 0x01, 0x1a, 0xa1, 0x03, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0x84, 0x02, 0x08, - 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0x85, 0x02, 0x02, 0x54, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x06, 0x12, 0x04, 0x85, 0x02, 0x02, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x02, 0x14, 0x26, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x02, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0x85, 0x02, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x02, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0x86, 0x02, 0x02, 0x6e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x04, 0x12, 0x04, 0x86, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x01, 0x06, 0x12, 0x04, 0x86, 0x02, 0x0b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x86, 0x02, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x86, 0x02, 0x43, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x08, - 0x12, 0x04, 0x86, 0x02, 0x45, 0x6d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x86, 0x02, 0x46, 0x6c, 0x0a, 0xe2, 0x01, 0x0a, 0x02, 0x04, 0x0e, 0x12, - 0x06, 0x8b, 0x02, 0x00, 0xab, 0x02, 0x01, 0x1a, 0xd3, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, + 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x60, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x69, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, + 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x61, 0x72, + 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x0a, 0x20, + 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x67, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2e, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x60, 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, + 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x0a, 0x20, + 0x69, 0x66, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xd2, + 0x01, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xd3, 0x01, 0x02, + 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x01, 0x09, 0x1e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd3, 0x01, 0x21, 0x22, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd3, 0x01, 0x23, 0x4b, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x01, 0x24, 0x4a, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd4, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xd4, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd4, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x02, 0x05, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, + 0x01, 0x12, 0x04, 0xd5, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, + 0x12, 0x04, 0xd5, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, + 0x04, 0xd5, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x02, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xd5, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, + 0x04, 0xd6, 0x01, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x04, + 0xd6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd6, + 0x01, 0x09, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd6, 0x01, + 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x08, 0x12, 0x04, 0xd6, 0x01, 0x2b, + 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, + 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd9, 0x01, 0x00, 0xdb, 0x01, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x08, 0x24, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xda, 0x01, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xda, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xda, 0x01, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xda, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xda, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, + 0x12, 0x06, 0xdd, 0x01, 0x00, 0xe5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, + 0x04, 0xdd, 0x01, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xde, + 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0xde, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xde, 0x01, 0x09, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xde, 0x01, 0x10, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xde, 0x01, 0x12, 0x3a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, 0x01, 0x13, + 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x42, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdf, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdf, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xdf, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x09, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdf, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x02, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x02, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, + 0x08, 0x12, 0x04, 0xe0, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x03, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x04, + 0x12, 0x04, 0xe1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, + 0x04, 0xe1, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, + 0xe1, 0x01, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe1, + 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x08, 0x12, 0x04, 0xe1, 0x01, + 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xe1, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x04, 0x12, 0x04, 0xe2, 0x01, + 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x04, 0x12, 0x04, 0xe2, 0x01, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe2, 0x01, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x12, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe2, 0x01, 0x1f, 0x20, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x04, 0x08, 0x12, 0x04, 0xe2, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x09, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x01, 0x22, 0x48, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x05, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x6f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x05, 0x06, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x21, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe3, 0x01, 0x44, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x05, 0x08, 0x12, 0x04, 0xe3, 0x01, 0x46, 0x6e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, + 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x47, 0x6d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x09, 0x02, 0x06, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x06, 0x04, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, + 0x06, 0x12, 0x04, 0xe4, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x01, + 0x12, 0x04, 0xe4, 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x03, 0x12, + 0x04, 0xe4, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x06, 0x08, 0x12, 0x04, + 0xe4, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe4, 0x01, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xe7, 0x01, + 0x00, 0xea, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xe7, 0x01, 0x08, + 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x54, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe8, 0x01, 0x02, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x14, 0x26, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe8, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe8, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x6e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x01, 0x04, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x06, 0x12, 0x04, 0xe9, 0x01, 0x0b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xe9, 0x01, 0x43, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, + 0x12, 0x04, 0xe9, 0x01, 0x45, 0x6d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xe9, 0x01, 0x46, 0x6c, 0x0a, 0x90, 0x01, 0x0a, 0x02, 0x04, 0x0b, 0x12, + 0x06, 0xed, 0x01, 0x00, 0x8a, 0x02, 0x01, 0x1a, 0x81, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x74, 0x6f, - 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, 0x69, 0x63, 0x75, - 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, - 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, - 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0x8b, 0x02, 0x08, 0x2c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, - 0x02, 0x00, 0x12, 0x04, 0x8c, 0x02, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x8c, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x8c, 0x02, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x8c, 0x02, 0x21, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, - 0x8c, 0x02, 0x23, 0x4b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x8c, 0x02, 0x24, 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, - 0x8d, 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8d, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x02, - 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8d, 0x02, 0x16, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8d, 0x02, 0x18, 0x40, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x02, - 0x19, 0x3f, 0x0a, 0x8e, 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x02, 0x12, 0x04, 0x92, 0x02, 0x02, - 0x40, 0x1a, 0xff, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, - 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x05, 0x12, 0x04, 0x92, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x01, 0x12, 0x04, 0x92, 0x02, 0x09, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x03, 0x12, 0x04, 0x92, 0x02, 0x15, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x12, 0x04, 0x92, 0x02, 0x17, 0x3f, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x02, 0x18, - 0x3e, 0x0a, 0x9c, 0x02, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x03, 0x12, 0x04, 0x98, 0x02, 0x02, 0x41, - 0x1a, 0x8d, 0x02, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, - 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, - 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, - 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, - 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x0b, 0x01, 0x12, 0x04, 0xed, 0x01, 0x08, 0x25, 0x0a, 0x86, 0x02, 0x0a, 0x04, 0x04, 0x0b, 0x02, + 0x00, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x40, 0x1a, 0xf7, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, + 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, + 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, + 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x09, 0x12, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x01, 0x15, 0x16, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf1, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf1, 0x01, 0x18, 0x3e, 0x0a, + 0x8e, 0x02, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x41, 0x1a, 0xff, + 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, + 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, + 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, + 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x05, 0x12, 0x04, 0x98, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x01, 0x12, 0x04, 0x98, 0x02, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x03, 0x12, 0x04, 0x98, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x12, 0x04, 0x98, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0e, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x02, 0x19, 0x3f, 0x0a, 0x87, - 0x06, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x04, 0x12, 0x04, 0xa0, 0x02, 0x02, 0x3d, 0x1a, 0xf8, 0x05, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x09, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf7, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x01, 0x19, 0x3f, 0x0a, 0xfc, + 0x05, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, 0x12, 0x04, 0xff, 0x01, 0x02, 0x3d, 0x1a, 0xed, 0x05, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, @@ -1780,527 +1740,890 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, - 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, - 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, - 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, - 0x05, 0x12, 0x04, 0xa0, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x01, - 0x12, 0x04, 0xa0, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x03, 0x12, - 0x04, 0xa0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x12, 0x04, - 0xa0, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xa0, 0x02, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x05, 0x12, 0x04, - 0xa3, 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x05, 0x12, 0x04, 0xa3, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x09, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x03, 0x12, 0x04, 0xa3, 0x02, 0x1b, 0x1c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x12, 0x04, 0xa3, 0x02, 0x1d, 0x45, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa3, 0x02, 0x1e, - 0x44, 0x0a, 0xfa, 0x03, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x06, 0x12, 0x04, 0xaa, 0x02, 0x02, 0x3f, - 0x1a, 0xeb, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, - 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x27, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x60, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6e, - 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, - 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, - 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, - 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, - 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x05, 0x12, 0x04, 0xaa, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x06, 0x01, 0x12, 0x04, 0xaa, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x06, 0x03, 0x12, 0x04, 0xaa, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x06, 0x08, 0x12, 0x04, 0xaa, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, - 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x02, 0x17, 0x3d, 0x0a, 0x63, 0x0a, 0x02, - 0x04, 0x0f, 0x12, 0x06, 0xae, 0x02, 0x00, 0xb1, 0x02, 0x01, 0x1a, 0x55, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xae, 0x02, 0x08, 0x2d, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xaf, 0x02, 0x02, 0x66, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xaf, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xaf, 0x02, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xaf, 0x02, 0x1d, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xaf, 0x02, 0x3b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xaf, 0x02, 0x3d, 0x65, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x02, 0x3e, 0x64, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, - 0x01, 0x12, 0x04, 0xb0, 0x02, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, - 0x12, 0x04, 0xb0, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xb0, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xb0, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb0, - 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xb0, 0x02, 0x1e, 0x44, 0x0a, 0xf6, 0x05, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xba, 0x02, - 0x00, 0xc7, 0x02, 0x01, 0x1a, 0xe7, 0x05, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, 0x6f, - 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x0a, 0x20, 0x31, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, - 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x61, 0x67, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x64, - 0x6f, 0x77, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x0a, 0x20, 0x32, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, - 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x3a, 0x0a, 0x20, - 0x20, 0x20, 0x61, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, 0x64, 0x6f, 0x77, - 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x29, 0x20, 0x49, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x63, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x73, - 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x61, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, - 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, - 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xba, 0x02, 0x08, 0x27, 0x0a, 0x0e, 0x0a, 0x04, 0x04, - 0x10, 0x08, 0x00, 0x12, 0x06, 0xbb, 0x02, 0x02, 0xc0, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x08, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x02, 0x08, 0x1a, 0x0a, 0x32, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x00, 0x12, 0x04, 0xbd, 0x02, 0x04, 0x63, 0x1a, 0x24, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbd, 0x02, 0x04, 0x2a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbd, 0x02, 0x2b, 0x35, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbd, 0x02, 0x38, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbd, 0x02, 0x3a, 0x62, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x02, 0x3b, 0x61, 0x0a, 0x46, 0x0a, 0x04, - 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x02, 0x04, 0x71, 0x1a, 0x38, 0x20, 0x41, 0x20, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x06, 0x12, 0x04, 0xbf, - 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x02, - 0x23, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x02, 0x46, - 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbf, 0x02, 0x48, 0x70, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x02, - 0x49, 0x6f, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xc2, 0x02, 0x02, 0x46, - 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, - 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, - 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc2, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc2, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x02, 0x08, 0x12, 0x04, 0xc2, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x10, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x02, 0x1e, 0x44, 0x0a, 0x46, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x03, 0x12, 0x04, 0xc4, 0x02, 0x02, 0x59, 0x1a, 0x38, 0x20, 0x41, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, - 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x20, 0x20, 0x53, 0x65, 0x65, 0x20, 0x61, 0x62, - 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x06, 0x12, 0x04, - 0xc4, 0x02, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc4, - 0x02, 0x25, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc4, 0x02, - 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc4, 0x02, 0x30, - 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc4, - 0x02, 0x31, 0x57, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x04, 0x12, 0x04, 0xc6, 0x02, 0x02, - 0x63, 0x1a, 0x43, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, - 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x20, 0x20, 0x53, 0x65, 0x65, 0x20, 0x61, - 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x04, 0x12, - 0x04, 0xc6, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x06, 0x12, 0x04, - 0xc6, 0x02, 0x0b, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc6, - 0x02, 0x32, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc6, 0x02, - 0x38, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc6, 0x02, 0x3a, - 0x62, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc6, - 0x02, 0x3b, 0x61, 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xca, 0x02, 0x00, 0xd1, 0x02, - 0x01, 0x1a, 0x50, 0x20, 0x41, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x78, 0x61, 0x63, 0x74, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xca, 0x02, 0x08, 0x21, - 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xcc, 0x02, 0x02, 0x41, 0x1a, 0x33, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcc, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x02, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcc, 0x02, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcc, 0x02, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x02, 0x19, - 0x3f, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xce, 0x02, 0x02, 0x70, 0x1a, - 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x69, 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, - 0x06, 0x12, 0x04, 0xce, 0x02, 0x02, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xce, 0x02, 0x30, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xce, 0x02, 0x45, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x04, - 0xce, 0x02, 0x47, 0x6f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xce, 0x02, 0x48, 0x6e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, - 0xcf, 0x02, 0x02, 0x64, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x06, 0x12, 0x04, 0xcf, - 0x02, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcf, 0x02, - 0x26, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcf, 0x02, 0x39, - 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x08, 0x12, 0x04, 0xcf, 0x02, 0x3b, 0x63, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x02, - 0x3c, 0x62, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x3f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x09, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd0, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x03, 0x08, 0x12, 0x04, 0xd0, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x11, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x02, 0x17, 0x3d, 0x0a, 0x2a, - 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xd4, 0x02, 0x00, 0xd8, 0x02, 0x01, 0x1a, 0x1c, 0x20, 0x41, - 0x6e, 0x79, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, - 0x01, 0x12, 0x04, 0xd4, 0x02, 0x08, 0x23, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, - 0x04, 0xd6, 0x02, 0x02, 0x41, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd6, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd6, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x02, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xd7, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, - 0x12, 0x04, 0xd7, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xd7, 0x02, 0x1c, 0x42, 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, - 0xdb, 0x02, 0x00, 0xe2, 0x02, 0x01, 0x1a, 0x50, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x75, + 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, + 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, + 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, + 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, + 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x02, 0x05, 0x12, 0x04, 0xff, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0b, 0x02, 0x02, 0x01, 0x12, 0x04, 0xff, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x02, 0x03, 0x12, 0x04, 0xff, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x02, 0x08, 0x12, 0x04, 0xff, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, + 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, + 0x0b, 0x02, 0x03, 0x12, 0x04, 0x82, 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, + 0x05, 0x12, 0x04, 0x82, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x01, + 0x12, 0x04, 0x82, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x03, 0x12, + 0x04, 0x82, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x12, 0x04, + 0x82, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0x82, 0x02, 0x1e, 0x44, 0x0a, 0xe7, 0x03, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x04, 0x12, + 0x04, 0x89, 0x02, 0x02, 0x3f, 0x1a, 0xd8, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, + 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, + 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, + 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, + 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x05, 0x12, 0x04, 0x89, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x01, 0x12, 0x04, 0x89, 0x02, 0x09, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x03, 0x12, 0x04, 0x89, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x04, 0x08, 0x12, 0x04, 0x89, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0b, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x02, 0x17, 0x3d, 0x0a, 0x5c, + 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0x8d, 0x02, 0x00, 0x90, 0x02, 0x01, 0x1a, 0x4e, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x0c, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, + 0x00, 0x12, 0x04, 0x8e, 0x02, 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, + 0x12, 0x04, 0x8e, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, + 0x04, 0x8e, 0x02, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x8e, 0x02, 0x1d, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, + 0x02, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8e, 0x02, + 0x35, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x8e, 0x02, 0x36, 0x5c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x02, + 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8f, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8f, 0x02, 0x09, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8f, 0x02, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8f, 0x02, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x02, 0x1e, 0x44, + 0x0a, 0xf7, 0x04, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0x97, 0x02, 0x00, 0xa1, 0x02, 0x01, 0x1a, + 0xe8, 0x04, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x0a, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, + 0x6c, 0x65, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x20, 0x75, 0x6e, 0x74, 0x6f, 0x75, 0x63, 0x68, 0x65, 0x64, 0x2e, 0x20, + 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x64, 0x65, 0x65, 0x6d, 0x65, 0x64, 0x20, 0x6e, 0x65, 0x63, 0x65, 0x73, 0x73, 0x61, 0x72, 0x79, + 0x2c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x6f, 0x20, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x79, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x61, 0x73, 0x20, 0x77, 0x65, 0x6c, 0x6c, + 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x6e, 0x75, 0x6c, 0x6c, 0x0a, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x20, 0x54, 0x6f, + 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2c, + 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x0a, + 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x61, 0x20, 0x60, 0x6e, 0x75, 0x6c, 0x6c, 0x60, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x60, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, + 0x01, 0x12, 0x04, 0x97, 0x02, 0x08, 0x26, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, + 0x04, 0x99, 0x02, 0x02, 0x54, 0x1a, 0x23, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x00, 0x06, 0x12, 0x04, 0x99, 0x02, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x99, 0x02, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x99, 0x02, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x99, 0x02, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x99, 0x02, 0x2c, 0x52, 0x0a, 0xd8, 0x01, 0x0a, 0x04, 0x04, 0x0d, 0x02, + 0x01, 0x12, 0x04, 0x9d, 0x02, 0x02, 0x55, 0x1a, 0xc9, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, + 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x0a, + 0x20, 0x60, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0x9d, 0x02, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9d, 0x02, 0x1c, + 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9d, 0x02, 0x2a, 0x2b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9d, 0x02, 0x2c, 0x54, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9d, 0x02, 0x2d, + 0x53, 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x04, 0xa0, 0x02, 0x02, 0x4a, 0x1a, + 0x2a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, + 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x62, + 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x02, 0x04, 0x12, 0x04, 0xa0, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xa0, 0x02, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xa0, 0x02, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x08, + 0x12, 0x04, 0xa0, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xa0, 0x02, 0x22, 0x48, 0x0a, 0x5d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, + 0xa4, 0x02, 0x00, 0xa7, 0x02, 0x01, 0x1a, 0x4f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x52, 0x65, 0x73, - 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, - 0x04, 0xdb, 0x02, 0x08, 0x28, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xdd, - 0x02, 0x02, 0x55, 0x1a, 0x3e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0xdd, 0x02, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdd, 0x02, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x02, 0x12, 0x27, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x02, 0x2a, 0x2b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdd, 0x02, 0x2c, 0x54, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x2d, 0x53, - 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x02, 0x5b, 0x1a, 0x23, - 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, + 0xa4, 0x02, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xa5, 0x02, + 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa5, 0x02, 0x02, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x02, 0x14, 0x26, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x02, 0x29, 0x2a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa5, 0x02, 0x2b, 0x53, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x02, 0x2c, 0x52, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x6e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x04, 0x12, 0x04, 0xa6, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa6, 0x02, 0x0b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x2d, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x02, 0x43, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xa6, 0x02, 0x45, 0x6d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x02, 0x46, 0x6c, 0x0a, 0xe2, 0x01, 0x0a, 0x02, + 0x04, 0x0f, 0x12, 0x06, 0xab, 0x02, 0x00, 0xcb, 0x02, 0x01, 0x1a, 0xd3, 0x01, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, + 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x70, 0x61, 0x72, 0x74, + 0x69, 0x63, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x60, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xab, 0x02, 0x08, 0x2c, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xac, 0x02, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xac, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x02, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xac, 0x02, 0x21, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xac, 0x02, 0x23, 0x4b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x02, 0x24, 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, + 0x01, 0x12, 0x04, 0xad, 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xad, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xad, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xad, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xad, + 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xad, 0x02, 0x19, 0x3f, 0x0a, 0x8e, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x02, 0x12, 0x04, + 0xb2, 0x02, 0x02, 0x40, 0x1a, 0xff, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x04, 0x12, 0x04, 0xdf, 0x02, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdf, 0x02, 0x0b, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x25, 0x2d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdf, 0x02, 0x30, 0x31, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x08, 0x12, 0x04, 0xdf, 0x02, 0x32, 0x5a, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x13, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdf, 0x02, 0x33, 0x59, - 0x0a, 0x39, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x02, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x5f, 0x1a, 0x2b, - 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x61, 0x6e, 0x79, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x02, 0x04, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xe1, 0x02, 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xe1, 0x02, 0x27, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xe1, 0x02, 0x34, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xe1, 0x02, 0x36, 0x5e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xe1, 0x02, 0x37, 0x5d, 0x0a, 0x63, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, - 0xe5, 0x02, 0x00, 0xe8, 0x02, 0x01, 0x1a, 0x55, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x08, 0x2d, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x14, - 0x02, 0x00, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x61, 0x1a, 0x25, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe7, 0x02, 0x0b, 0x2a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe7, 0x02, 0x2b, 0x33, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe7, 0x02, 0x36, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe7, 0x02, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe7, 0x02, 0x39, 0x5f, 0x0a, 0x64, 0x0a, 0x02, - 0x04, 0x15, 0x12, 0x06, 0xeb, 0x02, 0x00, 0xee, 0x02, 0x01, 0x1a, 0x56, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, - 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xeb, 0x02, 0x08, 0x2e, 0x0a, - 0x42, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xed, 0x02, 0x02, 0x63, 0x1a, 0x34, 0x20, - 0x41, 0x6c, 0x6c, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x74, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0xed, 0x02, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xed, 0x02, 0x0b, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xed, 0x02, 0x2c, 0x35, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xed, 0x02, 0x38, 0x39, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xed, 0x02, 0x3a, 0x62, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xed, 0x02, 0x3b, 0x61, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xf0, 0x02, 0x00, 0x8e, 0x03, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x08, 0x2d, 0x0a, 0x77, 0x0a, 0x04, 0x04, - 0x16, 0x02, 0x00, 0x12, 0x04, 0xf2, 0x02, 0x02, 0x3f, 0x1a, 0x69, 0x20, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x63, + 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, + 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x20, 0x41, 0x74, 0x20, 0x6c, 0x65, 0x61, 0x73, 0x74, - 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf2, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf2, 0x02, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x02, 0x14, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf2, 0x02, 0x16, 0x3e, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf2, 0x02, - 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x3d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x09, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf3, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf3, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x16, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf3, 0x02, 0x15, 0x3b, 0x0a, 0x86, - 0x02, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x02, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x40, 0x1a, 0xf7, 0x01, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, - 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, - 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, - 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, - 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xf8, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xf8, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xf8, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf8, - 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xf8, 0x02, 0x18, 0x3e, 0x0a, 0x8e, 0x02, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x03, 0x12, 0x04, - 0xfe, 0x02, 0x02, 0x41, 0x1a, 0xff, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, - 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, - 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, - 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x05, 0x12, - 0x04, 0xfe, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xfe, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x03, 0x12, 0x04, 0xfe, - 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x08, 0x12, 0x04, 0xfe, 0x02, - 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xfe, 0x02, 0x19, 0x3f, 0x0a, 0x87, 0x06, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x04, 0x12, 0x04, 0x86, - 0x03, 0x02, 0x3d, 0x1a, 0xf8, 0x05, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, - 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, - 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, - 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x6c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, + 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x05, 0x12, + 0x04, 0xb2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xb2, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, + 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x12, 0x04, 0xb2, 0x02, + 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xb2, 0x02, 0x18, 0x3e, 0x0a, 0x9c, 0x02, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x03, 0x12, 0x04, 0xb8, + 0x02, 0x02, 0x41, 0x1a, 0x8d, 0x02, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, + 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, + 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, + 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x05, 0x12, 0x04, 0xb8, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb8, 0x02, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb8, 0x02, 0x16, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x12, 0x04, 0xb8, 0x02, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, 0x02, 0x19, + 0x3f, 0x0a, 0x87, 0x06, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x04, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x3d, + 0x1a, 0xf8, 0x05, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, + 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, - 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, - 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x05, 0x12, 0x04, 0x86, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x04, 0x01, 0x12, 0x04, 0x86, 0x03, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x16, 0x02, 0x04, 0x03, 0x12, 0x04, 0x86, 0x03, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x16, 0x02, 0x04, 0x08, 0x12, 0x04, 0x86, 0x03, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, - 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x03, 0x15, 0x3b, 0x0a, 0xb5, 0x03, 0x0a, - 0x04, 0x04, 0x16, 0x02, 0x05, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x3f, 0x1a, 0xa6, 0x03, 0x20, 0x48, - 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x46, + 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, + 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, + 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, + 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, + 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, + 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, + 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, + 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, + 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, + 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, + 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, + 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, + 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, + 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, + 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x04, 0x01, 0x12, 0x04, 0xc0, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x04, 0x03, 0x12, 0x04, 0xc0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, + 0x08, 0x12, 0x04, 0xc0, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x04, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x02, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x0f, 0x02, + 0x05, 0x12, 0x04, 0xc3, 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x05, 0x12, + 0x04, 0xc3, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x01, 0x12, 0x04, + 0xc3, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc3, + 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x08, 0x12, 0x04, 0xc3, 0x02, + 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xc3, 0x02, 0x1e, 0x44, 0x0a, 0xfa, 0x03, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x06, 0x12, 0x04, 0xca, + 0x02, 0x02, 0x3f, 0x1a, 0xeb, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, - 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x27, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, + 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, + 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, + 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, + 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, + 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, + 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, + 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x05, 0x12, 0x04, 0xca, 0x02, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x01, 0x12, 0x04, 0xca, 0x02, 0x09, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x03, 0x12, 0x04, 0xca, 0x02, 0x14, 0x15, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, 0x08, 0x12, 0x04, 0xca, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0f, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xca, 0x02, 0x17, 0x3d, 0x0a, + 0x63, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xce, 0x02, 0x00, 0xd1, 0x02, 0x01, 0x1a, 0x55, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xce, 0x02, 0x08, + 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xcf, 0x02, 0x02, 0x66, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcf, 0x02, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcf, 0x02, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x02, 0x1d, 0x38, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcf, 0x02, 0x3b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcf, 0x02, 0x3d, 0x65, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x02, 0x3e, 0x64, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, + 0x02, 0x01, 0x05, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xd0, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, + 0x12, 0x04, 0xd0, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xd0, 0x02, 0x1e, 0x44, 0x0a, 0xf6, 0x05, 0x0a, 0x02, 0x04, 0x11, 0x12, + 0x06, 0xda, 0x02, 0x00, 0xe7, 0x02, 0x01, 0x1a, 0xe7, 0x05, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x52, + 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x20, 0x31, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x74, 0x61, 0x67, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x73, + 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, + 0x64, 0x20, 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, + 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x0a, 0x20, 0x32, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x20, 0x69, 0x73, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, + 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x61, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, 0x73, 0x65, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x20, + 0x64, 0x6f, 0x77, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x62, 0x29, 0x20, + 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, + 0x61, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x20, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x20, 0x20, 0x63, 0x29, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x68, 0x61, 0x73, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x6f, 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x60, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, + 0x20, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, + 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xda, 0x02, 0x08, 0x27, 0x0a, 0x0e, + 0x0a, 0x04, 0x04, 0x11, 0x08, 0x00, 0x12, 0x06, 0xdb, 0x02, 0x02, 0xe0, 0x02, 0x03, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x08, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x02, 0x08, 0x1a, 0x0a, 0x32, 0x0a, + 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x04, 0x63, 0x1a, 0x24, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdd, 0x02, 0x04, 0x2a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x02, 0x2b, 0x35, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x02, 0x38, 0x39, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdd, 0x02, 0x3a, 0x62, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x3b, 0x61, 0x0a, + 0x46, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xdf, 0x02, 0x04, 0x71, 0x1a, 0x38, 0x20, + 0x41, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xdf, 0x02, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xdf, 0x02, 0x23, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xdf, 0x02, 0x46, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x04, 0xdf, + 0x02, 0x48, 0x70, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xdf, 0x02, 0x49, 0x6f, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, 0xe2, + 0x02, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe2, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe2, 0x02, 0x09, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe2, 0x02, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x02, 0x08, 0x12, 0x04, 0xe2, 0x02, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x11, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x02, 0x1e, 0x44, + 0x0a, 0x46, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x03, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x59, 0x1a, 0x38, + 0x20, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x20, 0x20, 0x53, 0x65, 0x65, + 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, + 0x06, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x01, + 0x12, 0x04, 0xe4, 0x02, 0x25, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x03, 0x12, + 0x04, 0xe4, 0x02, 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x08, 0x12, 0x04, + 0xe4, 0x02, 0x30, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe4, 0x02, 0x31, 0x57, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x04, 0x12, 0x04, + 0xe6, 0x02, 0x02, 0x63, 0x1a, 0x43, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, + 0x74, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, + 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x2e, 0x20, 0x20, 0x53, 0x65, + 0x65, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x04, 0x04, 0x12, 0x04, 0xe6, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, + 0x06, 0x12, 0x04, 0xe6, 0x02, 0x0b, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x01, + 0x12, 0x04, 0xe6, 0x02, 0x32, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x03, 0x12, + 0x04, 0xe6, 0x02, 0x38, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x04, 0x08, 0x12, 0x04, + 0xe6, 0x02, 0x3a, 0x62, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe6, 0x02, 0x3b, 0x61, 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xea, 0x02, + 0x00, 0xf1, 0x02, 0x01, 0x1a, 0x50, 0x20, 0x41, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, + 0x63, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x78, 0x61, + 0x63, 0x74, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xea, + 0x02, 0x08, 0x21, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xec, 0x02, 0x02, + 0x41, 0x1a, 0x33, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, + 0x04, 0xec, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xec, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xec, + 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xec, 0x02, + 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xec, 0x02, 0x19, 0x3f, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xee, 0x02, + 0x02, 0x70, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x12, 0x02, 0x01, 0x06, 0x12, 0x04, 0xee, 0x02, 0x02, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x02, 0x30, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xee, 0x02, 0x45, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xee, 0x02, 0x47, 0x6f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x02, 0x48, 0x6e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, + 0x02, 0x12, 0x04, 0xef, 0x02, 0x02, 0x64, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x06, + 0x12, 0x04, 0xef, 0x02, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xef, 0x02, 0x26, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xef, 0x02, 0x39, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x08, 0x12, 0x04, 0xef, + 0x02, 0x3b, 0x63, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xef, 0x02, 0x3c, 0x62, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0xf0, + 0x02, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf0, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x09, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x14, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x08, 0x12, 0x04, 0xf0, 0x02, 0x16, 0x3e, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x02, 0x17, + 0x3d, 0x0a, 0x2a, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xf4, 0x02, 0x00, 0xf8, 0x02, 0x01, 0x1a, + 0x1c, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xf4, 0x02, 0x08, 0x23, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x13, + 0x02, 0x00, 0x12, 0x04, 0xf6, 0x02, 0x02, 0x41, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x63, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, + 0x61, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf6, 0x02, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf6, 0x02, 0x09, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x02, 0x16, 0x17, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf6, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x02, 0x19, 0x3f, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x02, 0x02, 0x44, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf7, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf7, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xf7, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x02, 0x1c, 0x42, 0x0a, 0x5e, 0x0a, 0x02, 0x04, + 0x14, 0x12, 0x06, 0xfb, 0x02, 0x00, 0x82, 0x03, 0x01, 0x1a, 0x50, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x14, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x08, 0x28, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, + 0x12, 0x04, 0xfd, 0x02, 0x02, 0x55, 0x1a, 0x3e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x6c, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xfd, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xfd, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfd, + 0x02, 0x12, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x02, + 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfd, 0x02, 0x2c, + 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, + 0x02, 0x2d, 0x53, 0x0a, 0x31, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, 0xff, 0x02, 0x02, + 0x5b, 0x1a, 0x23, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x04, 0x12, + 0x04, 0xff, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x06, 0x12, 0x04, + 0xff, 0x02, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0xff, + 0x02, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xff, 0x02, + 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0xff, 0x02, 0x32, + 0x5a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, + 0x02, 0x33, 0x59, 0x0a, 0x39, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0x81, 0x03, 0x02, + 0x5f, 0x1a, 0x2b, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x20, 0x69, + 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x04, 0x12, 0x04, 0x81, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x02, 0x06, 0x12, 0x04, 0x81, 0x03, 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0x81, 0x03, 0x27, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0x81, 0x03, 0x34, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x02, 0x08, 0x12, 0x04, 0x81, 0x03, 0x36, 0x5e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, + 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x03, 0x37, 0x5d, 0x0a, 0x63, 0x0a, 0x02, 0x04, + 0x15, 0x12, 0x06, 0x85, 0x03, 0x00, 0x88, 0x03, 0x01, 0x1a, 0x55, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0x85, 0x03, 0x08, 0x2d, 0x0a, 0x33, 0x0a, + 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0x87, 0x03, 0x02, 0x61, 0x1a, 0x25, 0x20, 0x41, 0x6c, + 0x6c, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0x87, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x03, 0x0b, 0x2a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x03, 0x2b, 0x33, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x03, 0x36, 0x37, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x03, 0x38, 0x60, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x03, 0x39, 0x5f, 0x0a, + 0x64, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0x8b, 0x03, 0x00, 0x8e, 0x03, 0x01, 0x1a, 0x56, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x52, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0x8b, 0x03, + 0x08, 0x2e, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x63, + 0x1a, 0x34, 0x20, 0x41, 0x6c, 0x6c, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x75, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x04, 0x12, + 0x04, 0x8d, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x06, 0x12, 0x04, + 0x8d, 0x03, 0x0b, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, + 0x03, 0x2c, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x03, + 0x38, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8d, 0x03, 0x3a, + 0x62, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, + 0x03, 0x3b, 0x61, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0x90, 0x03, 0x00, 0xae, 0x03, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0x90, 0x03, 0x08, 0x2d, 0x0a, 0x77, + 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0x92, 0x03, 0x02, 0x3f, 0x1a, 0x69, 0x20, 0x41, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x67, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, + 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x2e, 0x20, 0x41, 0x74, 0x20, 0x6c, 0x65, + 0x61, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x72, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x92, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x92, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x92, 0x03, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0x92, + 0x03, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x92, 0x03, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0x93, + 0x03, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x03, 0x09, + 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x03, 0x12, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0x93, 0x03, 0x14, 0x3c, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x03, 0x15, + 0x3b, 0x0a, 0x86, 0x02, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x02, 0x12, 0x04, 0x98, 0x03, 0x02, 0x40, + 0x1a, 0xf7, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, + 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, + 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, + 0x35, 0x30, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, + 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, + 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, + 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, + 0x02, 0x02, 0x05, 0x12, 0x04, 0x98, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, + 0x02, 0x01, 0x12, 0x04, 0x98, 0x03, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, + 0x03, 0x12, 0x04, 0x98, 0x03, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x08, + 0x12, 0x04, 0x98, 0x03, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x98, 0x03, 0x18, 0x3e, 0x0a, 0x8e, 0x02, 0x0a, 0x04, 0x04, 0x17, 0x02, + 0x03, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x41, 0x1a, 0xff, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, + 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, + 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, + 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, + 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, + 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, + 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, + 0x03, 0x05, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x03, + 0x01, 0x12, 0x04, 0x9e, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x03, 0x03, + 0x12, 0x04, 0x9e, 0x03, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x03, 0x08, 0x12, + 0x04, 0x9e, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x03, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x9e, 0x03, 0x19, 0x3f, 0x0a, 0x87, 0x06, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x04, + 0x12, 0x04, 0xa6, 0x03, 0x02, 0x3d, 0x1a, 0xf8, 0x05, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, + 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, + 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, + 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, + 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x60, + 0x2c, 0x20, 0x60, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x61, 0x6c, 0x63, + 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, + 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, + 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, + 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, + 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, + 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, + 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, + 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x05, 0x12, 0x04, 0x8d, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x01, 0x12, 0x04, 0x8d, 0x03, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x03, 0x12, 0x04, 0x8d, 0x03, 0x14, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x08, 0x12, 0x04, 0x8d, 0x03, 0x16, 0x3e, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x03, - 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0x90, 0x03, 0x00, 0x97, 0x03, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0x90, 0x03, 0x08, 0x23, 0x0a, 0x30, 0x0a, - 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0x92, 0x03, 0x02, 0x5d, 0x1a, 0x22, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0x92, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0x92, 0x03, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x03, 0x1d, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x03, 0x32, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0x92, 0x03, 0x34, 0x5c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x03, 0x35, 0x5b, 0x0a, 0x31, 0x0a, 0x04, - 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0x94, 0x03, 0x02, 0x5b, 0x1a, 0x23, 0x20, 0x41, 0x6c, 0x6c, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x04, 0x12, 0x04, 0x94, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x06, 0x12, 0x04, 0x94, 0x03, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x03, 0x25, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0x94, 0x03, 0x30, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0x94, 0x03, 0x32, 0x5a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x03, 0x33, 0x59, 0x0a, 0x39, 0x0a, 0x04, - 0x04, 0x17, 0x02, 0x02, 0x12, 0x04, 0x96, 0x03, 0x02, 0x5f, 0x1a, 0x2b, 0x20, 0x41, 0x6c, 0x6c, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, - 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x04, - 0x12, 0x04, 0x96, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x06, 0x12, - 0x04, 0x96, 0x03, 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x01, 0x12, 0x04, - 0x96, 0x03, 0x27, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x03, 0x12, 0x04, 0x96, - 0x03, 0x34, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x02, 0x08, 0x12, 0x04, 0x96, 0x03, - 0x36, 0x5e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0x96, 0x03, 0x37, 0x5d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0x99, 0x03, 0x00, 0x9c, - 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0x99, 0x03, 0x08, 0x2e, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x73, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x18, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9a, 0x03, 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x03, 0x27, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x48, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x9a, 0x03, 0x4a, 0x72, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x03, 0x4b, 0x71, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, - 0x02, 0x01, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x9b, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x9b, 0x03, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x9b, 0x03, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x9b, 0x03, 0x1e, 0x44, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, + 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, + 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x23, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x04, 0x05, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x09, 0x0f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x04, 0x03, 0x12, 0x04, 0xa6, 0x03, 0x12, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x17, 0x02, 0x04, 0x08, 0x12, 0x04, 0xa6, 0x03, 0x14, 0x3c, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x17, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x03, 0x15, 0x3b, 0x0a, + 0xb5, 0x03, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x05, 0x12, 0x04, 0xad, 0x03, 0x02, 0x3f, 0x1a, 0xa6, + 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, + 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, + 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, + 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, + 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, + 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, + 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x05, 0x05, + 0x12, 0x04, 0xad, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x05, 0x01, 0x12, + 0x04, 0xad, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x05, 0x03, 0x12, 0x04, + 0xad, 0x03, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x05, 0x08, 0x12, 0x04, 0xad, + 0x03, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xad, 0x03, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0xb0, 0x03, 0x00, + 0xb7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xb0, 0x03, 0x08, 0x23, + 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xb2, 0x03, 0x02, 0x5d, 0x1a, 0x22, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x04, 0x12, 0x04, 0xb2, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb2, 0x03, 0x0b, 0x1c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x03, 0x1d, 0x2f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb2, 0x03, 0x32, 0x33, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb2, 0x03, 0x34, 0x5c, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb2, 0x03, 0x35, 0x5b, 0x0a, + 0x31, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, 0x04, 0xb4, 0x03, 0x02, 0x5b, 0x1a, 0x23, 0x20, + 0x41, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x6c, 0x76, 0x65, 0x64, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x04, 0x12, 0x04, 0xb4, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb4, 0x03, 0x0b, 0x24, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb4, 0x03, 0x25, 0x2d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb4, 0x03, 0x30, 0x31, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb4, 0x03, 0x32, 0x5a, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb4, 0x03, 0x33, 0x59, 0x0a, + 0x39, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x02, 0x12, 0x04, 0xb6, 0x03, 0x02, 0x5f, 0x1a, 0x2b, 0x20, + 0x41, 0x6c, 0x6c, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x61, 0x6e, 0x79, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x6c, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, + 0x02, 0x02, 0x04, 0x12, 0x04, 0xb6, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, + 0x02, 0x06, 0x12, 0x04, 0xb6, 0x03, 0x0b, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, + 0x01, 0x12, 0x04, 0xb6, 0x03, 0x27, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x03, + 0x12, 0x04, 0xb6, 0x03, 0x34, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, 0x08, 0x12, + 0x04, 0xb6, 0x03, 0x36, 0x5e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x02, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xb6, 0x03, 0x37, 0x5d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0xb9, + 0x03, 0x00, 0xbc, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0xb9, 0x03, + 0x08, 0x2e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x04, 0xba, 0x03, 0x02, 0x73, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x04, 0x12, 0x04, 0xba, 0x03, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, 0x12, 0x04, 0xba, 0x03, 0x0b, 0x26, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, 0x04, 0xba, 0x03, 0x27, 0x45, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, 0xba, 0x03, 0x48, 0x49, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x19, 0x02, 0x00, 0x08, 0x12, 0x04, 0xba, 0x03, 0x4a, 0x72, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x19, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xba, 0x03, 0x4b, 0x71, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x19, 0x02, 0x01, 0x12, 0x04, 0xbb, 0x03, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x19, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbb, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xbb, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xbb, 0x03, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xbb, 0x03, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x03, 0x1e, 0x44, 0x0a, 0xa4, 0x01, 0x0a, 0x02, 0x04, 0x1a, + 0x12, 0x06, 0xbf, 0x03, 0x00, 0xc1, 0x03, 0x01, 0x1a, 0x95, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x47, 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x74, 0x6f, + 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x69, 0x72, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x73, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xbf, 0x03, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x1a, 0x02, 0x00, 0x12, 0x04, 0xc0, 0x03, 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, + 0x02, 0x00, 0x05, 0x12, 0x04, 0xc0, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xc0, 0x03, 0x12, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xc0, 0x03, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xc0, 0x03, 0x35, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xc0, 0x03, 0x36, 0x5c, 0x0a, 0x62, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x06, + 0xc4, 0x03, 0x00, 0xc6, 0x03, 0x01, 0x1a, 0x54, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x1b, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x08, 0x2c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, + 0x00, 0x12, 0x04, 0xc5, 0x03, 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x04, + 0x12, 0x04, 0xc5, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x06, 0x12, + 0x04, 0xc5, 0x03, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xc5, 0x03, 0x1d, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, + 0x03, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x03, + 0x35, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xc5, 0x03, 0x36, 0x5c, 0x0a, 0xaf, 0x01, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x06, 0xc9, 0x03, 0x00, + 0xce, 0x03, 0x01, 0x1a, 0xa0, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x43, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, + 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, 0xc9, + 0x03, 0x08, 0x2d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1c, 0x08, 0x00, 0x12, 0x06, 0xca, 0x03, 0x02, + 0xcd, 0x03, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x08, 0x00, 0x01, 0x12, 0x04, 0xca, 0x03, + 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x03, 0x04, 0x4e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcb, 0x03, 0x04, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x03, 0x0b, 0x20, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcb, 0x03, 0x23, 0x24, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcb, 0x03, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x1c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x03, 0x26, 0x4c, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x01, 0x12, 0x04, 0xcc, 0x03, 0x04, 0x56, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1c, 0x02, 0x01, 0x05, 0x12, 0x04, 0xcc, 0x03, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcc, 0x03, 0x0b, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xcc, 0x03, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xcc, 0x03, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1c, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x03, 0x2e, 0x54, 0x0a, 0x64, 0x0a, 0x02, 0x04, 0x1d, + 0x12, 0x06, 0xd1, 0x03, 0x00, 0xd4, 0x03, 0x01, 0x1a, 0x56, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, + 0x65, 0x74, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x73, 0x60, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xd1, 0x03, 0x08, 0x2e, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xd2, 0x03, 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1d, 0x02, 0x00, 0x04, 0x12, 0x04, 0xd2, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xd2, 0x03, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xd2, 0x03, 0x1d, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xd2, 0x03, 0x33, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xd2, 0x03, 0x35, 0x5d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1d, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xd2, 0x03, 0x36, 0x5c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x01, + 0x12, 0x04, 0xd3, 0x03, 0x02, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x04, 0x12, + 0x04, 0xd3, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x06, 0x12, 0x04, + 0xd3, 0x03, 0x0b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd3, + 0x03, 0x1e, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd3, 0x03, + 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd3, 0x03, 0x28, + 0x50, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, + 0x03, 0x29, 0x4f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.calculated_channels.v2.tonic.rs"); include!("sift.calculated_channels.v2.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.serde.rs b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.serde.rs index ddbc4759c..cbaecddea 100644 --- a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.serde.rs @@ -246,6 +246,9 @@ impl serde::Serialize for CalculatedChannel { if self.is_archived { len += 1; } + if !self.calculated_channel_dependencies.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.CalculatedChannel", len)?; if !self.calculated_channel_id.is_empty() { struct_ser.serialize_field("calculatedChannelId", &self.calculated_channel_id)?; @@ -304,6 +307,9 @@ impl serde::Serialize for CalculatedChannel { if self.is_archived { struct_ser.serialize_field("isArchived", &self.is_archived)?; } + if !self.calculated_channel_dependencies.is_empty() { + struct_ser.serialize_field("calculatedChannelDependencies", &self.calculated_channel_dependencies)?; + } struct_ser.end() } } @@ -347,6 +353,8 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { "metadata", "is_archived", "isArchived", + "calculated_channel_dependencies", + "calculatedChannelDependencies", ]; #[allow(clippy::enum_variant_names)] @@ -370,6 +378,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { FunctionDependencies, Metadata, IsArchived, + CalculatedChannelDependencies, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -410,6 +419,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { "functionDependencies" | "function_dependencies" => Ok(GeneratedField::FunctionDependencies), "metadata" => Ok(GeneratedField::Metadata), "isArchived" | "is_archived" => Ok(GeneratedField::IsArchived), + "calculatedChannelDependencies" | "calculated_channel_dependencies" => Ok(GeneratedField::CalculatedChannelDependencies), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -448,6 +458,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { let mut function_dependencies__ = None; let mut metadata__ = None; let mut is_archived__ = None; + let mut calculated_channel_dependencies__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::CalculatedChannelId => { @@ -566,6 +577,12 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { } is_archived__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannelDependencies => { + if calculated_channel_dependencies__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelDependencies")); + } + calculated_channel_dependencies__ = Some(map_.next_value()?); + } } } Ok(CalculatedChannel { @@ -588,6 +605,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannel { function_dependencies: function_dependencies__.unwrap_or_default(), metadata: metadata__.unwrap_or_default(), is_archived: is_archived__.unwrap_or_default(), + calculated_channel_dependencies: calculated_channel_dependencies__.unwrap_or_default(), }) } } @@ -608,6 +626,9 @@ impl serde::Serialize for CalculatedChannelAbstractChannelReference { if !self.channel_identifier.is_empty() { len += 1; } + if self.calculated_channel_reference.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.CalculatedChannelAbstractChannelReference", len)?; if !self.channel_reference.is_empty() { struct_ser.serialize_field("channelReference", &self.channel_reference)?; @@ -615,6 +636,16 @@ impl serde::Serialize for CalculatedChannelAbstractChannelReference { if !self.channel_identifier.is_empty() { struct_ser.serialize_field("channelIdentifier", &self.channel_identifier)?; } + if let Some(v) = self.calculated_channel_reference.as_ref() { + match v { + calculated_channel_abstract_channel_reference::CalculatedChannelReference::CalculatedChannelVersionId(v) => { + struct_ser.serialize_field("calculatedChannelVersionId", v)?; + } + calculated_channel_abstract_channel_reference::CalculatedChannelReference::CalculatedChannel(v) => { + struct_ser.serialize_field("calculatedChannel", v)?; + } + } + } struct_ser.end() } } @@ -629,12 +660,18 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelAbstractChannelReference "channelReference", "channel_identifier", "channelIdentifier", + "calculated_channel_version_id", + "calculatedChannelVersionId", + "calculated_channel", + "calculatedChannel", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { ChannelReference, ChannelIdentifier, + CalculatedChannelVersionId, + CalculatedChannel, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -658,6 +695,8 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelAbstractChannelReference match value { "channelReference" | "channel_reference" => Ok(GeneratedField::ChannelReference), "channelIdentifier" | "channel_identifier" => Ok(GeneratedField::ChannelIdentifier), + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), + "calculatedChannel" | "calculated_channel" => Ok(GeneratedField::CalculatedChannel), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -679,6 +718,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelAbstractChannelReference { let mut channel_reference__ = None; let mut channel_identifier__ = None; + let mut calculated_channel_reference__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::ChannelReference => { @@ -693,11 +733,25 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelAbstractChannelReference } channel_identifier__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_reference__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_reference__ = map_.next_value::<::std::option::Option<_>>()?.map(calculated_channel_abstract_channel_reference::CalculatedChannelReference::CalculatedChannelVersionId); + } + GeneratedField::CalculatedChannel => { + if calculated_channel_reference__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannel")); + } + calculated_channel_reference__ = map_.next_value::<::std::option::Option<_>>()?.map(calculated_channel_abstract_channel_reference::CalculatedChannelReference::CalculatedChannel) +; + } } } Ok(CalculatedChannelAbstractChannelReference { channel_reference: channel_reference__.unwrap_or_default(), channel_identifier: channel_identifier__.unwrap_or_default(), + calculated_channel_reference: calculated_channel_reference__, }) } } @@ -1033,6 +1087,98 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfiguration { deserializer.deserialize_struct("sift.calculated_channels.v2.CalculatedChannelConfiguration", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for CalculatedChannelDependency { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channel_version_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.CalculatedChannelDependency", len)?; + if !self.calculated_channel_version_id.is_empty() { + struct_ser.serialize_field("calculatedChannelVersionId", &self.calculated_channel_version_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CalculatedChannelDependency { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channel_version_id", + "calculatedChannelVersionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannelVersionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CalculatedChannelDependency; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.calculated_channels.v2.CalculatedChannelDependency") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channel_version_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_version_id__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_version_id__ = Some(map_.next_value()?); + } + } + } + Ok(CalculatedChannelDependency { + calculated_channel_version_id: calculated_channel_version_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.calculated_channels.v2.CalculatedChannelDependency", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for CalculatedChannelQueryConfiguration { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result @@ -1816,6 +1962,224 @@ impl<'de> serde::Deserialize<'de> for CreateCalculatedChannelResponse { deserializer.deserialize_struct("sift.calculated_channels.v2.CreateCalculatedChannelResponse", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for GetCalculatedChannelDependentsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.calculated_channel.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.GetCalculatedChannelDependentsRequest", len)?; + if let Some(v) = self.calculated_channel.as_ref() { + match v { + get_calculated_channel_dependents_request::CalculatedChannel::CalculatedChannelId(v) => { + struct_ser.serialize_field("calculatedChannelId", v)?; + } + get_calculated_channel_dependents_request::CalculatedChannel::CalculatedChannelVersionId(v) => { + struct_ser.serialize_field("calculatedChannelVersionId", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCalculatedChannelDependentsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channel_id", + "calculatedChannelId", + "calculated_channel_version_id", + "calculatedChannelVersionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannelId, + CalculatedChannelVersionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannelId" | "calculated_channel_id" => Ok(GeneratedField::CalculatedChannelId), + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCalculatedChannelDependentsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.calculated_channels.v2.GetCalculatedChannelDependentsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channel__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannelId => { + if calculated_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelId")); + } + calculated_channel__ = map_.next_value::<::std::option::Option<_>>()?.map(get_calculated_channel_dependents_request::CalculatedChannel::CalculatedChannelId); + } + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel__ = map_.next_value::<::std::option::Option<_>>()?.map(get_calculated_channel_dependents_request::CalculatedChannel::CalculatedChannelVersionId); + } + } + } + Ok(GetCalculatedChannelDependentsRequest { + calculated_channel: calculated_channel__, + }) + } + } + deserializer.deserialize_struct("sift.calculated_channels.v2.GetCalculatedChannelDependentsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetCalculatedChannelDependentsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channels.is_empty() { + len += 1; + } + if !self.rules.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse", len)?; + if !self.calculated_channels.is_empty() { + struct_ser.serialize_field("calculatedChannels", &self.calculated_channels)?; + } + if !self.rules.is_empty() { + struct_ser.serialize_field("rules", &self.rules)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCalculatedChannelDependentsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channels", + "calculatedChannels", + "rules", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannels, + Rules, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannels" | "calculated_channels" => Ok(GeneratedField::CalculatedChannels), + "rules" => Ok(GeneratedField::Rules), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCalculatedChannelDependentsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channels__ = None; + let mut rules__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannels => { + if calculated_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannels")); + } + calculated_channels__ = Some(map_.next_value()?); + } + GeneratedField::Rules => { + if rules__.is_some() { + return Err(serde::de::Error::duplicate_field("rules")); + } + rules__ = Some(map_.next_value()?); + } + } + } + Ok(GetCalculatedChannelDependentsResponse { + calculated_channels: calculated_channels__.unwrap_or_default(), + rules: rules__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.calculated_channels.v2.GetCalculatedChannelDependentsResponse", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for GetCalculatedChannelRequest { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result @@ -1833,6 +2197,9 @@ impl serde::Serialize for GetCalculatedChannelRequest { if !self.organization_id.is_empty() { len += 1; } + if !self.calculated_channel_version_id.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.GetCalculatedChannelRequest", len)?; if !self.calculated_channel_id.is_empty() { struct_ser.serialize_field("calculatedChannelId", &self.calculated_channel_id)?; @@ -1843,6 +2210,9 @@ impl serde::Serialize for GetCalculatedChannelRequest { if !self.organization_id.is_empty() { struct_ser.serialize_field("organizationId", &self.organization_id)?; } + if !self.calculated_channel_version_id.is_empty() { + struct_ser.serialize_field("calculatedChannelVersionId", &self.calculated_channel_version_id)?; + } struct_ser.end() } } @@ -1859,6 +2229,8 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelRequest { "clientKey", "organization_id", "organizationId", + "calculated_channel_version_id", + "calculatedChannelVersionId", ]; #[allow(clippy::enum_variant_names)] @@ -1866,6 +2238,7 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelRequest { CalculatedChannelId, ClientKey, OrganizationId, + CalculatedChannelVersionId, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1890,6 +2263,7 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelRequest { "calculatedChannelId" | "calculated_channel_id" => Ok(GeneratedField::CalculatedChannelId), "clientKey" | "client_key" => Ok(GeneratedField::ClientKey), "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1912,6 +2286,7 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelRequest { let mut calculated_channel_id__ = None; let mut client_key__ = None; let mut organization_id__ = None; + let mut calculated_channel_version_id__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::CalculatedChannelId => { @@ -1932,12 +2307,19 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelRequest { } organization_id__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_version_id__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_version_id__ = Some(map_.next_value()?); + } } } Ok(GetCalculatedChannelRequest { calculated_channel_id: calculated_channel_id__.unwrap_or_default(), client_key: client_key__.unwrap_or_default(), organization_id: organization_id__.unwrap_or_default(), + calculated_channel_version_id: calculated_channel_version_id__.unwrap_or_default(), }) } } @@ -2036,6 +2418,190 @@ impl<'de> serde::Deserialize<'de> for GetCalculatedChannelResponse { deserializer.deserialize_struct("sift.calculated_channels.v2.GetCalculatedChannelResponse", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for GetCalculatedChannelVersionsRequest { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channel_version_ids.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.GetCalculatedChannelVersionsRequest", len)?; + if !self.calculated_channel_version_ids.is_empty() { + struct_ser.serialize_field("calculatedChannelVersionIds", &self.calculated_channel_version_ids)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCalculatedChannelVersionsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channel_version_ids", + "calculatedChannelVersionIds", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannelVersionIds, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannelVersionIds" | "calculated_channel_version_ids" => Ok(GeneratedField::CalculatedChannelVersionIds), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCalculatedChannelVersionsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.calculated_channels.v2.GetCalculatedChannelVersionsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channel_version_ids__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannelVersionIds => { + if calculated_channel_version_ids__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionIds")); + } + calculated_channel_version_ids__ = Some(map_.next_value()?); + } + } + } + Ok(GetCalculatedChannelVersionsRequest { + calculated_channel_version_ids: calculated_channel_version_ids__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.calculated_channels.v2.GetCalculatedChannelVersionsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for GetCalculatedChannelVersionsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channels.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse", len)?; + if !self.calculated_channels.is_empty() { + struct_ser.serialize_field("calculatedChannels", &self.calculated_channels)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for GetCalculatedChannelVersionsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channels", + "calculatedChannels", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannels, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannels" | "calculated_channels" => Ok(GeneratedField::CalculatedChannels), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GetCalculatedChannelVersionsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channels__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannels => { + if calculated_channels__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannels")); + } + calculated_channels__ = Some(map_.next_value()?); + } + } + } + Ok(GetCalculatedChannelVersionsResponse { + calculated_channels: calculated_channels__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.calculated_channels.v2.GetCalculatedChannelVersionsResponse", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for ListCalculatedChannelVersionsRequest { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result diff --git a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.tonic.rs b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.tonic.rs index c131b842a..ab5951d55 100644 --- a/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.tonic.rs +++ b/rust/crates/sift_rs/src/gen/sift/calculated_channels/v2/sift.calculated_channels.v2.tonic.rs @@ -328,6 +328,66 @@ pub mod calculated_channel_service_client { ); self.inner.unary(req, path, codec).await } + pub async fn get_calculated_channel_versions( + &mut self, + request: impl tonic::IntoRequest, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "sift.calculated_channels.v2.CalculatedChannelService", + "GetCalculatedChannelVersions", + ), + ); + self.inner.unary(req, path, codec).await + } + pub async fn get_calculated_channel_dependents( + &mut self, + request: impl tonic::IntoRequest< + super::GetCalculatedChannelDependentsRequest, + >, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + > { + self.inner + .ready() + .await + .map_err(|e| { + tonic::Status::unknown( + format!("Service was not ready: {}", e.into()), + ) + })?; + let codec = tonic_prost::ProstCodec::default(); + let path = http::uri::PathAndQuery::from_static( + "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents", + ); + let mut req = request.into_request(); + req.extensions_mut() + .insert( + GrpcMethod::new( + "sift.calculated_channels.v2.CalculatedChannelService", + "GetCalculatedChannelDependents", + ), + ); + self.inner.unary(req, path, codec).await + } } } /// Generated server implementations. @@ -399,6 +459,20 @@ pub mod calculated_channel_service_server { tonic::Response, tonic::Status, >; + async fn get_calculated_channel_versions( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; + async fn get_calculated_channel_dependents( + &self, + request: tonic::Request, + ) -> std::result::Result< + tonic::Response, + tonic::Status, + >; } #[derive(Debug)] pub struct CalculatedChannelServiceServer { @@ -904,6 +978,116 @@ pub mod calculated_channel_service_server { }; Box::pin(fut) } + "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelVersions" => { + #[allow(non_camel_case_types)] + struct GetCalculatedChannelVersionsSvc( + pub Arc, + ); + impl< + T: CalculatedChannelService, + > tonic::server::UnaryService< + super::GetCalculatedChannelVersionsRequest, + > for GetCalculatedChannelVersionsSvc { + type Response = super::GetCalculatedChannelVersionsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::GetCalculatedChannelVersionsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_calculated_channel_versions( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetCalculatedChannelVersionsSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } + "/sift.calculated_channels.v2.CalculatedChannelService/GetCalculatedChannelDependents" => { + #[allow(non_camel_case_types)] + struct GetCalculatedChannelDependentsSvc< + T: CalculatedChannelService, + >( + pub Arc, + ); + impl< + T: CalculatedChannelService, + > tonic::server::UnaryService< + super::GetCalculatedChannelDependentsRequest, + > for GetCalculatedChannelDependentsSvc { + type Response = super::GetCalculatedChannelDependentsResponse; + type Future = BoxFuture< + tonic::Response, + tonic::Status, + >; + fn call( + &mut self, + request: tonic::Request< + super::GetCalculatedChannelDependentsRequest, + >, + ) -> Self::Future { + let inner = Arc::clone(&self.0); + let fut = async move { + ::get_calculated_channel_dependents( + &inner, + request, + ) + .await + }; + Box::pin(fut) + } + } + let accept_compression_encodings = self.accept_compression_encodings; + let send_compression_encodings = self.send_compression_encodings; + let max_decoding_message_size = self.max_decoding_message_size; + let max_encoding_message_size = self.max_encoding_message_size; + let inner = self.inner.clone(); + let fut = async move { + let method = GetCalculatedChannelDependentsSvc(inner); + let codec = tonic_prost::ProstCodec::default(); + let mut grpc = tonic::server::Grpc::new(codec) + .apply_compression_config( + accept_compression_encodings, + send_compression_encodings, + ) + .apply_max_message_size_config( + max_decoding_message_size, + max_encoding_message_size, + ); + let res = grpc.unary(method, req).await; + Ok(res) + }; + Box::pin(fut) + } _ => { Box::pin(async move { let mut response = http::Response::new( diff --git a/rust/crates/sift_rs/src/gen/sift/channels/v2/sift.channels.v2.rs b/rust/crates/sift_rs/src/gen/sift/channels/v2/sift.channels.v2.rs index cf03ee6b5..8d7ce4a12 100644 --- a/rust/crates/sift_rs/src/gen/sift/channels/v2/sift.channels.v2.rs +++ b/rust/crates/sift_rs/src/gen/sift/channels/v2/sift.channels.v2.rs @@ -65,7 +65,7 @@ pub struct ListChannelsResponse { } /// Encoded file descriptor set for the `sift.channels.v2` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xd4, 0x36, 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x0a, 0xd3, 0x36, 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, @@ -212,7 +212,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0x95, 0x24, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, + 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0x94, 0x24, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x6c, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x19, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, @@ -405,7 +405,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x54, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x54, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x54, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x54, 0x19, 0x3f, - 0x0a, 0xdc, 0x04, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x5b, 0x02, 0x3d, 0x1a, 0xce, + 0x0a, 0xd1, 0x04, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x5b, 0x02, 0x3d, 0x1a, 0xc3, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, @@ -417,92 +417,92 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, - 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x0a, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, + 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, + 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x5b, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5b, 0x09, 0x0f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x5b, 0x12, 0x13, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, 0x03, 0x5b, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x15, 0x3b, 0x0a, 0x5a, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x5e, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, + 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x03, 0x05, 0x12, 0x03, 0x5e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, + 0x12, 0x03, 0x5e, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, + 0x5e, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x08, 0x12, 0x03, 0x5e, 0x1d, + 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5e, + 0x1e, 0x44, 0x0a, 0xb2, 0x03, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x03, 0x65, 0x02, 0x3f, + 0x1a, 0xa4, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, + 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, + 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, - 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, - 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, - 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, - 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, - 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, - 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, - 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, - 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, - 0x73, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x5b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5b, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x5b, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x08, 0x12, 0x03, 0x5b, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x15, 0x3b, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, - 0x12, 0x03, 0x5e, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, - 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x03, 0x5e, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5e, 0x09, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5e, 0x1b, 0x1c, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x08, 0x12, 0x03, 0x5e, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x03, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5e, 0x1e, 0x44, 0x0a, 0xa8, 0x03, - 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x03, 0x65, 0x02, 0x3f, 0x1a, 0x9a, 0x03, 0x20, 0x48, - 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, - 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, - 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, - 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, - 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, - 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, - 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, - 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, - 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, - 0x05, 0x12, 0x03, 0x65, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, - 0x03, 0x65, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x65, - 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x08, 0x12, 0x03, 0x65, 0x16, 0x3e, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x65, 0x17, - 0x3d, 0x0a, 0x44, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x69, 0x00, 0x6c, 0x01, 0x1a, 0x38, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, - 0x69, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x6a, 0x02, 0x20, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x03, 0x6a, 0x02, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6a, 0x0b, 0x12, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6a, 0x13, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x6a, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, - 0x12, 0x03, 0x6b, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, - 0x6b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6b, 0x09, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6b, 0x1b, 0x1c, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x60, 0x2c, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, + 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, + 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, + 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, + 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, + 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x05, + 0x12, 0x03, 0x65, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x65, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x65, 0x14, + 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x08, 0x12, 0x03, 0x65, 0x16, 0x3e, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x65, 0x17, 0x3d, + 0x0a, 0x44, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x69, 0x00, 0x6c, 0x01, 0x1a, 0x38, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x69, + 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x6a, 0x02, 0x20, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x03, 0x6a, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x6a, 0x0b, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6a, 0x13, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x6a, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, + 0x03, 0x6b, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x6b, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6b, 0x09, 0x18, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6b, 0x1b, 0x1c, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.channels.v2.tonic.rs"); include!("sift.channels.v2.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/channels/v3/sift.channels.v3.rs b/rust/crates/sift_rs/src/gen/sift/channels/v3/sift.channels.v3.rs index 75a99cc55..b3bd2fb8e 100644 --- a/rust/crates/sift_rs/src/gen/sift/channels/v3/sift.channels.v3.rs +++ b/rust/crates/sift_rs/src/gen/sift/channels/v3/sift.channels.v3.rs @@ -160,7 +160,7 @@ pub struct BatchUnarchiveChannelsResponse { } /// Encoded file descriptor set for the `sift.channels.v3` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xbe, 0x72, 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x0a, 0xbd, 0x72, 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x33, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, @@ -469,7 +469,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x12, 0x53, 0x69, 0x66, 0x74, - 0x3a, 0x3a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x4a, 0xd8, + 0x3a, 0x3a, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x3a, 0x3a, 0x56, 0x33, 0x4a, 0xd7, 0x4b, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xef, 0x01, 0x29, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x19, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, @@ -720,8 +720,8 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0x82, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0x82, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x04, 0x82, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x01, 0x19, 0x3f, 0x0a, 0xfd, 0x04, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x02, 0x12, 0x04, 0x89, 0x01, 0x02, 0x3d, 0x1a, 0xee, 0x04, 0x20, 0x41, 0x20, 0x5b, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x01, 0x19, 0x3f, 0x0a, 0xf2, 0x04, 0x0a, 0x04, 0x04, + 0x03, 0x02, 0x02, 0x12, 0x04, 0x89, 0x01, 0x02, 0x3d, 0x1a, 0xe3, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, @@ -732,351 +732,350 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x72, - 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, - 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, - 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, - 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, - 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, - 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, - 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, - 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x20, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, - 0x03, 0x12, 0x04, 0x89, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, - 0x12, 0x04, 0x89, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x89, 0x01, 0x15, 0x3b, 0x0a, 0xb1, 0x03, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x03, 0x12, 0x04, 0x90, 0x01, 0x02, 0x3f, 0x1a, 0xa2, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x20, - 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, - 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, - 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, - 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x0a, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, + 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x72, 0x75, 0x6e, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, - 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, - 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, - 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x04, 0x90, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0x90, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x03, 0x03, 0x12, 0x04, 0x90, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x03, 0x08, 0x12, 0x04, 0x90, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x01, 0x17, 0x3d, 0x0a, 0x44, 0x0a, 0x02, 0x04, 0x04, - 0x12, 0x06, 0x94, 0x01, 0x00, 0x97, 0x01, 0x01, 0x1a, 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, + 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, + 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, + 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, + 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, + 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, + 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, + 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x23, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, 0x89, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, 0x04, 0x89, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x01, 0x15, 0x3b, 0x0a, 0xbb, 0x03, + 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x04, 0x90, 0x01, 0x02, 0x3f, 0x1a, 0xac, 0x03, 0x20, + 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, + 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, + 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, + 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, + 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, + 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x60, 0x2e, + 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, + 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, + 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, + 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x03, 0x05, 0x12, 0x04, 0x90, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x03, 0x01, 0x12, 0x04, 0x90, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x03, 0x03, 0x12, 0x04, 0x90, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, + 0x08, 0x12, 0x04, 0x90, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x01, 0x17, 0x3d, 0x0a, 0x44, 0x0a, 0x02, 0x04, 0x04, 0x12, + 0x06, 0x94, 0x01, 0x00, 0x97, 0x01, 0x01, 0x1a, 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x94, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x95, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x00, 0x04, 0x12, 0x04, 0x95, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x06, 0x12, 0x04, 0x95, 0x01, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x95, 0x01, 0x13, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x95, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, + 0x96, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, 0x96, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0x96, 0x01, + 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x96, 0x01, 0x1b, + 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x99, 0x01, 0x00, 0xaa, 0x01, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x99, 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x9a, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x9a, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, + 0x12, 0x04, 0x9b, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, + 0x04, 0x9b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x9b, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9b, + 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9b, 0x01, + 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x9b, 0x01, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x09, 0x12, 0x04, 0x9c, 0x01, 0x02, + 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x09, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x09, 0x00, 0x02, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x02, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, + 0x08, 0x12, 0x04, 0x9d, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9d, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x03, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x05, + 0x12, 0x04, 0x9e, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, + 0x04, 0x9e, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, + 0x9e, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, 0x9e, + 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x9e, 0x01, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0x9f, + 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9f, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x16, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9f, 0x01, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9f, 0x01, 0x19, + 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x19, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x05, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x06, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x06, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x06, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, + 0x03, 0x12, 0x04, 0xa1, 0x01, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, 0x12, + 0x04, 0xa2, 0x01, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x05, 0x12, 0x04, + 0xa2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x01, 0x12, 0x04, 0xa2, + 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x03, 0x12, 0x04, 0xa2, 0x01, + 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x08, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x1e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x1b, 0x1d, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x05, 0x02, 0x09, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x09, 0x05, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x09, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x09, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x10, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0a, + 0x12, 0x04, 0xa5, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x05, 0x12, + 0x04, 0xa5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x01, 0x12, 0x04, + 0xa5, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xa5, + 0x01, 0x18, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0b, 0x12, 0x04, 0xa6, 0x01, 0x02, + 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x25, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x26, 0x2f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x32, 0x34, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x35, 0x5d, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x36, 0x5c, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0c, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x0b, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x2f, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x0c, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x3c, 0x3e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x0d, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x04, + 0x12, 0x04, 0xa8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x06, 0x12, + 0x04, 0xa8, 0x01, 0x0b, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x01, 0x12, 0x04, + 0xa8, 0x01, 0x36, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xa8, + 0x01, 0x4b, 0x4d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0e, 0x12, 0x04, 0xa9, 0x01, 0x02, + 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xa9, 0x01, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x06, 0x12, 0x04, 0xa9, 0x01, 0x0b, 0x29, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x2a, 0x32, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x35, 0x37, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xa9, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x05, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x01, 0x39, 0x5f, 0x0a, 0x48, + 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xad, 0x01, 0x00, 0xcc, 0x01, 0x01, 0x1a, 0x3a, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, + 0x04, 0xad, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xae, + 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0xae, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xae, 0x01, 0x09, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xae, 0x01, 0x15, 0x16, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x01, 0x16, 0x17, 0x0a, 0x66, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x19, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x09, + 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x17, 0x18, + 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x24, 0x1a, 0x46, + 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x20, 0x63, 0x61, 0x73, + 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x20, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, + 0x04, 0xb5, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, + 0xb5, 0x01, 0x07, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb5, + 0x01, 0x22, 0x23, 0x0a, 0x65, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0xb8, 0x01, 0x02, + 0x1c, 0x1a, 0x57, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x20, + 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x67, + 0x75, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, + 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x04, 0x05, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x04, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, + 0x03, 0x12, 0x04, 0xb8, 0x01, 0x1a, 0x1b, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, 0x12, + 0x04, 0xbb, 0x01, 0x02, 0x20, 0x1a, 0x4c, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, + 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x04, 0x12, 0x04, 0xbb, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x05, 0x12, 0x04, 0xbb, 0x01, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x12, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x1e, 0x1f, 0x0a, + 0x43, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1e, 0x1a, 0x35, 0x20, + 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x04, 0x12, 0x04, 0xbe, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x04, 0xbe, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x12, + 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x1c, 0x1d, + 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x22, 0x1a, 0x4e, + 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, + 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x04, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x07, 0x05, 0x12, 0x04, 0xc1, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x20, 0x21, 0x0a, 0x60, 0x0a, 0x04, 0x04, 0x06, + 0x02, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x25, 0x1a, 0x52, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x74, 0x61, 0x67, + 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, + 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x08, 0x04, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x08, 0x05, 0x12, 0x04, 0xc4, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x08, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x08, 0x03, 0x12, 0x04, 0xc4, 0x01, 0x22, 0x24, 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x09, + 0x12, 0x04, 0xc7, 0x01, 0x02, 0x3f, 0x1a, 0x49, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x04, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x0b, 0x2e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x2f, 0x39, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x3c, 0x3e, 0x0a, 0x55, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x0a, 0x12, 0x04, 0xca, 0x01, 0x02, 0x25, 0x1a, 0x47, 0x20, 0x49, 0x66, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xca, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xca, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xca, 0x01, 0x12, + 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xca, 0x01, 0x22, 0x24, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x0b, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x27, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0b, 0x04, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x24, 0x26, 0x0a, 0x46, 0x0a, 0x02, 0x04, 0x07, + 0x12, 0x06, 0xcf, 0x01, 0x00, 0xd2, 0x01, 0x01, 0x1a, 0x38, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x94, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x95, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x04, 0x12, 0x04, 0x95, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x06, 0x12, 0x04, 0x95, 0x01, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x95, 0x01, 0x13, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x95, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, - 0x04, 0x96, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x96, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0x96, - 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x96, 0x01, - 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x99, 0x01, 0x00, 0xaa, 0x01, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x99, 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x9a, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x08, 0x12, 0x04, 0x9a, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, - 0x01, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, - 0x12, 0x04, 0x9b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, - 0x04, 0x9b, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, - 0x9b, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9b, - 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x9b, 0x01, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x09, 0x12, 0x04, 0x9c, 0x01, - 0x02, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x09, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x09, 0x00, 0x02, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x0c, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x02, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x02, 0x08, 0x12, 0x04, 0x9d, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9d, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x03, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, - 0x05, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, - 0x12, 0x04, 0x9e, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, - 0x04, 0x9e, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, - 0x9e, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x9e, 0x01, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, - 0x9f, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9f, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x01, - 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x16, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9f, 0x01, 0x18, 0x40, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9f, 0x01, - 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x09, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x06, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x06, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x06, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x06, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, - 0x12, 0x04, 0xa2, 0x01, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x05, 0x12, - 0x04, 0xa2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x01, 0x12, 0x04, - 0xa2, 0x01, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x03, 0x12, 0x04, 0xa2, - 0x01, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x08, 0x12, 0x04, 0xa3, 0x01, 0x02, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x1b, 0x1d, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x05, 0x02, 0x09, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x09, 0x05, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x09, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x09, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x10, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, - 0x0a, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x05, - 0x12, 0x04, 0xa5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x01, 0x12, - 0x04, 0xa5, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0a, 0x03, 0x12, 0x04, - 0xa5, 0x01, 0x18, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0b, 0x12, 0x04, 0xa6, 0x01, - 0x02, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xa6, 0x01, 0x02, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x26, 0x2f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x32, 0x34, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x35, 0x5d, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x05, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x36, 0x5c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0c, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x3f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x0b, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x2f, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x3c, 0x3e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x0d, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, - 0x04, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x06, - 0x12, 0x04, 0xa8, 0x01, 0x0b, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x01, 0x12, - 0x04, 0xa8, 0x01, 0x36, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0d, 0x03, 0x12, 0x04, - 0xa8, 0x01, 0x4b, 0x4d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x0e, 0x12, 0x04, 0xa9, 0x01, - 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xa9, 0x01, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x06, 0x12, 0x04, 0xa9, 0x01, 0x0b, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x2a, 0x32, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x35, 0x37, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xa9, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x05, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x01, 0x39, 0x5f, 0x0a, - 0x48, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xad, 0x01, 0x00, 0xcc, 0x01, 0x01, 0x1a, 0x3a, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, - 0x12, 0x04, 0xad, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, - 0xae, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0xae, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xae, 0x01, - 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xae, 0x01, 0x15, - 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x01, 0x16, 0x17, 0x0a, 0x66, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x19, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x74, 0x6f, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x2c, 0x20, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, - 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x17, - 0x18, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x24, 0x1a, - 0x46, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, 0x20, 0x63, 0x61, - 0x73, 0x65, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x2e, 0x20, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, - 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, - 0x12, 0x04, 0xb5, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xb5, 0x01, 0x07, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xb5, 0x01, 0x22, 0x23, 0x0a, 0x65, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0xb8, 0x01, - 0x02, 0x1c, 0x1a, 0x57, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x65, 0x72, 0x6d, 0x20, 0x69, 0x73, - 0x20, 0x74, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, - 0x67, 0x75, 0x6c, 0x61, 0x72, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x04, 0x05, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x04, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x04, 0x03, 0x12, 0x04, 0xb8, 0x01, 0x1a, 0x1b, 0x0a, 0x5a, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, - 0x12, 0x04, 0xbb, 0x01, 0x02, 0x20, 0x1a, 0x4c, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, - 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x04, 0x12, 0x04, 0xbb, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x05, 0x12, 0x04, 0xbb, 0x01, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x12, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x1e, 0x1f, - 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x1e, 0x1a, 0x35, - 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x04, 0x12, 0x04, - 0xbe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x04, 0xbe, - 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, 0x04, 0xbe, 0x01, - 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x1c, - 0x1d, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x22, 0x1a, - 0x4e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x04, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x05, 0x12, 0x04, 0xc1, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x20, 0x21, 0x0a, 0x60, 0x0a, 0x04, 0x04, - 0x06, 0x02, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x25, 0x1a, 0x52, 0x20, 0x49, 0x66, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x74, 0x61, - 0x67, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x08, 0x04, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x08, 0x05, 0x12, 0x04, 0xc4, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x08, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x08, 0x03, 0x12, 0x04, 0xc4, 0x01, 0x22, 0x24, 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x06, 0x02, - 0x09, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x3f, 0x1a, 0x49, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x04, 0x12, 0x04, 0xc7, 0x01, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x0b, 0x2e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x2f, 0x39, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x3c, 0x3e, 0x0a, 0x55, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x0a, 0x12, 0x04, 0xca, 0x01, 0x02, 0x25, 0x1a, 0x47, 0x20, 0x49, - 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x04, 0x12, 0x04, - 0xca, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xca, - 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xca, 0x01, - 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xca, 0x01, 0x22, - 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x0b, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x27, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0b, 0x04, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x21, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x24, 0x26, 0x0a, 0x46, 0x0a, 0x02, 0x04, - 0x07, 0x12, 0x06, 0xcf, 0x01, 0x00, 0xd2, 0x01, 0x01, 0x1a, 0x38, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x08, 0x1e, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x26, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x19, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xd1, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xd1, 0x01, 0x1b, 0x1c, 0x0a, 0x47, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd5, 0x01, 0x00, - 0xda, 0x01, 0x01, 0x1a, 0x39, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x08, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd6, 0x01, 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd6, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xd6, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd6, 0x01, 0x17, 0x3d, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, - 0x12, 0x04, 0xd9, 0x01, 0x02, 0x55, 0x1a, 0x8c, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, - 0xd9, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd9, - 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd9, 0x01, - 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x2c, - 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, - 0x01, 0x2d, 0x53, 0x0a, 0x45, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xdd, 0x01, 0x00, 0xdf, 0x01, - 0x01, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, - 0x01, 0x12, 0x04, 0xdd, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, - 0x04, 0xde, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xde, 0x01, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xde, - 0x01, 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xde, 0x01, - 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xde, 0x01, 0x16, - 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, - 0x01, 0x17, 0x3d, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xe2, 0x01, 0x00, 0xe4, 0x01, - 0x01, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x65, 0x5f, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x08, 0x1e, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x26, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x19, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, + 0x01, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xd1, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xd1, 0x01, 0x1b, 0x1c, 0x0a, 0x47, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd5, 0x01, 0x00, 0xda, + 0x01, 0x01, 0x1a, 0x39, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, + 0x02, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xd6, 0x01, 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xd6, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xd6, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xd6, 0x01, 0x17, 0x3d, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, + 0x04, 0xd9, 0x01, 0x02, 0x55, 0x1a, 0x8c, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, + 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, + 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, + 0x65, 0x20, 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd9, + 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd9, 0x01, + 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x2a, + 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x2c, 0x54, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x01, + 0x2d, 0x53, 0x0a, 0x45, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xdd, 0x01, 0x00, 0xdf, 0x01, 0x01, + 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, + 0x12, 0x04, 0xdd, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, + 0xde, 0x01, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xde, + 0x01, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xde, 0x01, + 0x0a, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xde, 0x01, 0x14, + 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xde, 0x01, 0x16, 0x3e, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, 0x01, + 0x17, 0x3d, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xe2, 0x01, 0x00, 0xe4, 0x01, 0x01, + 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x08, 0x23, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe3, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xe3, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xe3, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x23, 0x49, 0x0a, 0x4a, 0x0a, 0x02, 0x04, 0x0b, + 0x12, 0x04, 0xe7, 0x01, 0x00, 0x27, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, + 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xe7, + 0x01, 0x08, 0x24, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xea, 0x01, 0x00, 0xec, 0x01, + 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x08, 0x23, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x4b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe3, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe3, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xe3, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x23, 0x49, 0x0a, 0x4a, 0x0a, 0x02, 0x04, - 0x0b, 0x12, 0x04, 0xe7, 0x01, 0x00, 0x27, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, - 0xe7, 0x01, 0x08, 0x24, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xea, 0x01, 0x00, 0xec, - 0x01, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xea, - 0x01, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, - 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x12, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xeb, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x23, 0x49, 0x0a, 0x4c, - 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xef, 0x01, 0x00, 0x29, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0d, 0x01, 0x12, 0x04, 0xef, 0x01, 0x08, 0x26, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xea, 0x01, + 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x4b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xeb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xeb, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x23, 0x49, 0x0a, 0x4c, 0x0a, + 0x02, 0x04, 0x0d, 0x12, 0x04, 0xef, 0x01, 0x00, 0x29, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x0d, 0x01, 0x12, 0x04, 0xef, 0x01, 0x08, 0x26, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.channels.v3.tonic.rs"); include!("sift.channels.v3.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.rs b/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.rs index d13a8a4bb..7623334c8 100644 --- a/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.rs @@ -6,6 +6,8 @@ pub struct Organization { pub organization_id: ::prost::alloc::string::String, #[prost(string, tag="2")] pub organization_name: ::prost::alloc::string::String, + #[prost(bool, optional, tag="3")] + pub is_abac_enabled: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct User { @@ -233,6 +235,11 @@ pub struct Names { pub names: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct CalculatedChannelDependency { + #[prost(string, tag="1")] + pub calculated_channel_version_id: ::prost::alloc::string::String, +} +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ChannelBitFieldElement { #[prost(string, tag="1")] pub name: ::prost::alloc::string::String, @@ -299,870 +306,922 @@ pub mod find_resource_by { } /// Encoded file descriptor set for the `sift.common.type.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xe2, 0x04, 0x0a, 0x26, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x0a, 0x8d, 0x06, 0x0a, 0x26, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x6e, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x30, 0x0a, 0x11, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, 0x6d, - 0x65, 0x42, 0x9b, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, - 0xeb, 0x01, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0a, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, - 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, - 0x04, 0x07, 0x00, 0x0a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, - 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x02, 0x46, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x08, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x08, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x08, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x08, 0x12, 0x03, 0x08, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x08, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, - 0x03, 0x09, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x09, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x09, 0x09, 0x1a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x09, 0x1d, 0x1e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x09, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x09, 0x20, 0x46, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xec, 0x05, 0x0a, 0x1e, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, - 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, - 0x1c, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, - 0x09, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x47, 0x0a, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x93, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x6f, 0x22, 0xb4, 0x01, 0x0a, 0x0c, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x30, 0x0a, 0x11, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x61, + 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x0f, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x63, 0x5f, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0d, 0x69, 0x73, 0x41, 0x62, 0x61, 0x63, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x69, 0x73, 0x5f, 0x61, 0x62, 0x61, 0x63, + 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x42, 0x9b, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xbb, - 0x02, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0c, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, - 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, - 0x05, 0x00, 0x30, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x08, 0x00, 0x0c, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x08, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x09, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x09, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x09, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x09, - 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x09, 0x15, 0x3d, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x09, 0x16, - 0x3c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x40, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0a, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x0a, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x0a, 0x17, 0x3f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x0a, 0x18, 0x3e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, - 0x03, 0x0b, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0b, - 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x0b, 0x0b, 0x2b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x2c, 0x39, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0b, 0x3c, 0x3d, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xaf, 0x09, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2a, 0x81, 0x03, 0x0a, 0x0f, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, - 0x1d, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, - 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, - 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, - 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, - 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, - 0x45, 0x5f, 0x42, 0x49, 0x54, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, - 0x16, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, - 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, - 0x4c, 0x4f, 0x41, 0x54, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, - 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x5f, - 0x33, 0x32, 0x10, 0x07, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x5f, 0x33, - 0x32, 0x10, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, - 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x5f, 0x36, 0x34, 0x10, - 0x09, 0x12, 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x5f, 0x36, 0x34, 0x10, 0x0a, - 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0b, 0x42, 0x9e, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xbd, - 0x04, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x12, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, - 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x0a, 0x0a, - 0x02, 0x05, 0x00, 0x12, 0x04, 0x05, 0x00, 0x12, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, - 0x12, 0x03, 0x05, 0x05, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x06, - 0x02, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x06, 0x02, 0x1f, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x06, 0x22, 0x23, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x06, 0x24, 0x37, 0x0a, 0x0d, 0x0a, 0x06, - 0x05, 0x00, 0x02, 0x00, 0x03, 0x01, 0x12, 0x03, 0x06, 0x25, 0x36, 0x0a, 0x0b, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x07, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x07, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, - 0x03, 0x07, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x08, 0x02, - 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x08, 0x02, 0x1a, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x08, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x09, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x03, 0x01, 0x12, 0x03, 0x09, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x09, 0x1b, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, - 0x0a, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0a, 0x02, - 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x0a, 0x20, 0x21, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, 0x12, 0x03, 0x0b, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x0b, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x05, 0x02, 0x12, 0x03, 0x0b, 0x1b, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, - 0x12, 0x03, 0x0c, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, - 0x0c, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x0c, 0x1c, - 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x07, 0x12, 0x03, 0x0d, 0x02, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x0d, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x0d, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x08, 0x12, 0x03, 0x0e, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, - 0x12, 0x03, 0x0e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, - 0x0e, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x09, 0x12, 0x03, 0x0f, 0x02, 0x1f, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x0f, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, - 0x05, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x10, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x0a, 0x01, 0x12, 0x03, 0x10, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x02, - 0x12, 0x03, 0x10, 0x1e, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x11, - 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x11, 0x02, 0x19, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0b, 0x02, 0x12, 0x03, 0x11, 0x1c, 0x1e, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xd4, 0x20, 0x0a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, - 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, 0x1f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, - 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xbc, 0x08, 0x0a, 0x13, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x15, 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x49, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x75, 0x73, 0x65, 0x72, 0x44, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, - 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, - 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x6e, 0x70, 0x75, 0x74, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x73, 0x12, 0x5c, 0x0a, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, - 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x61, 0x0a, 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0e, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 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, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, - 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, - 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, - 0x69, 0x0a, 0x12, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, - 0x64, 0x65, 0x6e, 0x63, 0x79, 0x12, 0x53, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x75, 0x73, - 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x0d, 0x46, - 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0a, - 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x12, 0x47, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, - 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x2a, 0x92, 0x01, 0x0a, 0x10, - 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x22, 0x0a, 0x1e, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, - 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, - 0x49, 0x43, 0x10, 0x01, 0x12, 0x1d, 0x0a, 0x19, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, - 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, - 0x47, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x03, - 0x42, 0xa3, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x55, 0x73, - 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, + 0x65, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, - 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xfc, 0x11, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x33, + 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xcf, 0x02, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0b, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, - 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, - 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x0f, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x05, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, - 0x00, 0x12, 0x03, 0x0b, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x0b, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0b, - 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x21, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x0c, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x0d, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, - 0x03, 0x0d, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0e, 0x02, - 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0e, 0x02, 0x19, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x0e, 0x1c, 0x1d, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x00, 0x12, 0x04, 0x11, 0x00, 0x26, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, - 0x12, 0x03, 0x11, 0x08, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x12, - 0x02, 0x4f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x09, 0x21, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x12, 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x12, 0x26, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x12, 0x27, 0x4d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x13, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x13, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x13, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x13, - 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x13, 0x12, 0x3a, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x13, 0x13, - 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, 0x60, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x14, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x14, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x14, 0x25, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x14, 0x35, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, - 0x03, 0x14, 0x37, 0x5f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x14, 0x38, 0x5e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x16, - 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x16, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x16, 0x09, 0x29, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x16, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x16, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x16, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x04, 0x12, 0x03, 0x17, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x05, 0x12, 0x03, 0x17, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, - 0x03, 0x17, 0x09, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x17, - 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x17, 0x15, 0x3d, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x17, 0x16, - 0x3c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x18, 0x02, 0x42, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x18, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x18, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x05, 0x03, 0x12, 0x03, 0x18, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, - 0x08, 0x12, 0x03, 0x18, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x18, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, - 0x03, 0x19, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x19, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x19, 0x09, 0x17, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x19, 0x1a, 0x1b, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x03, 0x19, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x19, 0x1d, 0x43, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x1a, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x07, 0x05, 0x12, 0x03, 0x1a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, - 0x01, 0x12, 0x03, 0x1a, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, - 0x03, 0x1a, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x1a, - 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x1a, 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x1b, 0x02, 0x42, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x1b, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x1b, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x1b, 0x16, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x08, 0x08, 0x12, 0x03, 0x1b, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1b, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x09, 0x12, 0x03, 0x1c, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, 0x12, - 0x03, 0x1c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x1c, - 0x0b, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x1c, 0x19, 0x28, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x1c, 0x2b, 0x2d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x03, 0x1c, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1c, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x1d, 0x02, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0a, 0x06, 0x12, 0x03, 0x1d, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, - 0x01, 0x12, 0x03, 0x1d, 0x13, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, - 0x03, 0x1d, 0x2a, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, 0x1d, - 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x1d, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x1e, 0x02, 0x62, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x1e, 0x1e, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0b, 0x03, 0x12, 0x03, 0x1e, 0x36, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, - 0x08, 0x12, 0x03, 0x1e, 0x39, 0x61, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x1e, 0x3a, 0x60, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, - 0x03, 0x20, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x06, 0x12, 0x03, 0x20, - 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x20, 0x1c, 0x28, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x20, 0x2b, 0x2d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x12, 0x03, 0x20, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x20, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x0d, 0x12, 0x03, 0x21, 0x02, 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0d, 0x06, 0x12, 0x03, 0x21, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, - 0x01, 0x12, 0x03, 0x21, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, - 0x03, 0x21, 0x2c, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x03, 0x21, - 0x2f, 0x57, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x21, 0x30, 0x56, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x03, 0x22, 0x02, 0x4a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x22, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x22, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x22, 0x1e, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0e, 0x08, 0x12, 0x03, 0x22, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x22, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x0f, 0x12, 0x03, 0x23, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12, - 0x03, 0x23, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x23, - 0x09, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, 0x23, 0x1f, 0x21, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x12, 0x03, 0x23, 0x22, 0x4a, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x23, 0x23, 0x49, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x10, 0x12, 0x03, 0x24, 0x02, 0x61, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x10, 0x04, 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x10, 0x06, 0x12, 0x03, 0x24, 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, - 0x01, 0x12, 0x03, 0x24, 0x2a, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, 0x12, - 0x03, 0x24, 0x35, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, 0x03, 0x24, - 0x38, 0x60, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x24, 0x39, 0x5f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x03, 0x25, 0x02, 0x41, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x05, 0x12, 0x03, 0x25, 0x02, 0x06, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x03, 0x25, 0x07, 0x12, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x03, 0x25, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x11, 0x08, 0x12, 0x03, 0x25, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x25, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, - 0x04, 0x28, 0x00, 0x2d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x28, 0x08, - 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0x29, 0x02, 0x2c, 0x04, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x29, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x29, 0x09, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x29, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x29, 0x2e, 0x2c, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x2a, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x01, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x2b, 0x04, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x02, 0x12, 0x04, 0x2f, 0x00, 0x33, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, - 0x2f, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x30, 0x02, 0x41, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x30, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x30, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x08, 0x12, 0x03, 0x30, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x30, 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x31, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, - 0x03, 0x31, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x31, - 0x13, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x31, 0x1f, 0x20, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x31, 0x21, 0x49, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x31, 0x22, 0x48, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x32, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x02, 0x05, 0x12, 0x03, 0x32, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x32, 0x07, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x32, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, - 0x03, 0x32, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x32, 0x15, 0x3b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xe3, 0x0e, - 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, - 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x55, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, - 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x0c, - 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x0d, - 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x14, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x22, 0x96, 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x73, - 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, - 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x69, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x22, 0x7f, 0x0a, 0x0e, 0x4e, 0x61, - 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x03, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x0b, - 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x1c, 0x0a, 0x03, 0x49, - 0x64, 0x73, 0x12, 0x15, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x69, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0a, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x22, 0x0a, - 0x05, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x42, 0xa1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, - 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, - 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, - 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xa3, 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x2d, 0x01, - 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, - 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, - 0x04, 0x08, 0x02, 0x0b, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, - 0x08, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x09, 0x04, 0x12, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x09, 0x04, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x09, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x09, 0x10, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x01, 0x12, 0x03, 0x0a, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, - 0x12, 0x03, 0x0a, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x0a, 0x0b, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0a, 0x18, - 0x19, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x0e, 0x00, 0x13, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x0e, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x08, - 0x00, 0x12, 0x04, 0x0f, 0x02, 0x12, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, - 0x12, 0x03, 0x0f, 0x08, 0x10, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x10, - 0x04, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x10, 0x04, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x10, 0x0b, 0x0d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x10, 0x10, 0x11, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x11, 0x04, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x01, 0x05, 0x12, 0x03, 0x11, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x11, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x11, 0x12, 0x13, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x15, 0x00, 0x1a, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x15, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x02, 0x08, 0x00, 0x12, 0x04, 0x16, 0x02, 0x19, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, - 0x00, 0x01, 0x12, 0x03, 0x16, 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x03, 0x17, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x17, - 0x04, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x17, 0x08, 0x0b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x17, 0x0e, 0x0f, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x18, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x18, 0x04, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x01, 0x12, 0x03, 0x18, 0x0f, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, - 0x12, 0x03, 0x18, 0x1d, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x1c, 0x00, 0x21, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x16, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x03, 0x08, 0x00, 0x12, 0x04, 0x1d, 0x02, 0x20, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x08, 0x00, 0x01, 0x12, 0x03, 0x1d, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x00, 0x12, 0x03, 0x1e, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, - 0x03, 0x1e, 0x04, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1e, - 0x08, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1e, 0x0e, 0x0f, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x14, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x1f, 0x04, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x0a, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x1f, 0x12, 0x13, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x23, - 0x00, 0x25, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x23, 0x08, 0x0b, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x24, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x05, 0x12, 0x03, 0x24, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x24, 0x12, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x24, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x24, - 0x1a, 0x42, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x24, 0x1b, 0x41, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x27, 0x00, 0x29, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x27, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x05, 0x02, 0x00, 0x12, 0x03, 0x28, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x04, 0x12, 0x03, 0x28, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, - 0x03, 0x28, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x28, - 0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x28, 0x20, 0x21, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x28, 0x22, 0x4a, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x28, 0x23, 0x49, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x2b, 0x00, 0x2d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x06, 0x01, 0x12, 0x03, 0x2b, 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, - 0x03, 0x2c, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x03, 0x2c, - 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2c, 0x0b, 0x11, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2c, 0x12, 0x17, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x2c, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x03, 0x2c, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x2c, 0x1d, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, 0x0a, 0x98, 0x06, 0x0a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, - 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x6e, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x12, - 0x20, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x42, 0xa5, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x1b, 0x43, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, + 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, + 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, + 0x12, 0x03, 0x08, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, + 0x08, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x08, 0x09, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x08, 0x1b, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x08, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x08, 0x1e, 0x44, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x09, 0x02, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x09, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x01, 0x12, 0x03, 0x09, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x09, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, + 0x09, 0x1f, 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x09, 0x20, 0x46, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0a, 0x02, + 0x4d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0a, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0a, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x10, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0a, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x08, 0x12, 0x03, 0x0a, 0x24, 0x4c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, 0x25, 0x4b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0a, 0xec, 0x05, 0x0a, 0x1e, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x26, 0x73, 0x69, 0x66, 0x74, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x22, 0x8f, 0x01, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x07, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x47, 0x0a, 0x0d, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x93, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, + 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x8a, 0x03, 0x0a, 0x06, 0x12, 0x04, + 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xbb, 0x02, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0c, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, - 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0c, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x08, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x08, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x08, - 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x08, 0x12, 0x3a, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x08, 0x13, - 0x39, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x3b, 0x1a, 0x47, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x27, 0x73, 0x20, 0x66, 0x69, 0x72, - 0x73, 0x74, 0x20, 0x62, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, - 0x67, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x69, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, - 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, - 0x12, 0x03, 0x0a, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x0a, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0a, 0x10, - 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x0a, 0x12, 0x3a, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, 0x13, 0x39, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x40, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x02, 0x03, 0x12, 0x03, 0x0b, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, - 0x12, 0x03, 0x0b, 0x17, 0x3f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x0b, 0x18, 0x3e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xb5, - 0x05, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, - 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, + 0x04, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x30, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x08, 0x00, 0x0c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, + 0x01, 0x12, 0x03, 0x08, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, + 0x09, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x09, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x09, 0x09, 0x10, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x09, 0x13, 0x14, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x09, 0x15, 0x3d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x09, 0x16, 0x3c, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x40, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x05, 0x12, 0x03, 0x0a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x0a, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, + 0x0a, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x0a, 0x17, + 0x3f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, + 0x18, 0x3e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x3e, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x0b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x0b, 0x0b, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x2c, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x03, 0x12, 0x03, 0x0b, 0x3c, 0x3d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, + 0xaf, 0x09, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2a, 0x81, 0x03, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x1d, 0x43, 0x48, 0x41, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, + 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x44, 0x4f, 0x55, 0x42, 0x4c, 0x45, 0x10, 0x01, 0x12, 0x1c, 0x0a, + 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, + 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x03, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x48, 0x41, 0x4e, 0x4e, + 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x49, 0x54, + 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x48, 0x41, 0x4e, + 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, + 0x4f, 0x4c, 0x10, 0x05, 0x12, 0x1b, 0x0a, 0x17, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, + 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x46, 0x4c, 0x4f, 0x41, 0x54, 0x10, + 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, + 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x5f, 0x33, 0x32, 0x10, 0x07, 0x12, + 0x1d, 0x0a, 0x19, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x5f, 0x33, 0x32, 0x10, 0x08, 0x12, 0x1c, + 0x0a, 0x18, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4e, 0x54, 0x5f, 0x36, 0x34, 0x10, 0x09, 0x12, 0x1d, 0x0a, 0x19, + 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x49, 0x4e, 0x54, 0x5f, 0x36, 0x34, 0x10, 0x0a, 0x12, 0x1b, 0x0a, 0x17, 0x43, + 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x0b, 0x42, 0x9e, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, + 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, + 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, + 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xbd, 0x04, 0x0a, 0x06, 0x12, 0x04, + 0x00, 0x00, 0x12, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, + 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, + 0x05, 0x00, 0x12, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x05, 0x05, 0x14, + 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x06, 0x02, 0x38, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x06, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x06, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x06, 0x24, 0x37, 0x0a, 0x0d, 0x0a, 0x06, 0x05, 0x00, 0x02, 0x00, 0x03, + 0x01, 0x12, 0x03, 0x06, 0x25, 0x36, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x07, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x07, 0x02, + 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x07, 0x1d, 0x1e, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x08, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x08, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x02, 0x02, 0x12, 0x03, 0x08, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, + 0x12, 0x03, 0x09, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, + 0x09, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x09, 0x1b, + 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0a, 0x02, 0x22, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x0a, 0x20, 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x05, 0x12, 0x03, 0x0b, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, + 0x12, 0x03, 0x0b, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, + 0x0b, 0x1b, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x0c, 0x02, 0x1e, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x19, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x0c, 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x00, 0x02, 0x07, 0x12, 0x03, 0x0d, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x07, 0x01, 0x12, 0x03, 0x0d, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x02, + 0x12, 0x03, 0x0d, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, 0x03, 0x0e, + 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x0e, 0x02, 0x1b, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x0e, 0x1e, 0x1f, 0x0a, 0x0b, + 0x0a, 0x04, 0x05, 0x00, 0x02, 0x09, 0x12, 0x03, 0x0f, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x09, 0x02, 0x12, 0x03, 0x0f, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0a, 0x12, + 0x03, 0x10, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x10, + 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x10, 0x1e, 0x20, + 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x11, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x11, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x0b, 0x02, 0x12, 0x03, 0x11, 0x1c, 0x1e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, 0x0a, 0xd4, 0x20, 0x0a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 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, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, + 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, + 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbc, 0x08, 0x0a, 0x13, + 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, + 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x0d, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x00, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, + 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x65, + 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, + 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, + 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, + 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x75, + 0x73, 0x65, 0x72, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x23, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, + 0x0f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x73, + 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x73, 0x12, + 0x5c, 0x0a, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x75, 0x74, 0x70, + 0x75, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, - 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x08, 0x69, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x9e, 0x01, 0x0a, 0x17, 0x63, 0x6f, - 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, - 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, + 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 0x66, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x61, 0x0a, + 0x15, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, + 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, + 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x18, 0x0e, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0f, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, + 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x12, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, + 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x69, 0x0a, 0x12, 0x46, 0x75, + 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, + 0x12, 0x53, 0x0a, 0x20, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, + 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x75, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x9e, 0x01, 0x0a, 0x0d, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x47, 0x0a, 0x09, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x61, + 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, + 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1f, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x6f, + 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x2a, 0x92, 0x01, 0x0a, 0x10, 0x46, 0x75, 0x6e, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x1e, 0x46, + 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, + 0x1e, 0x0a, 0x1a, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x45, 0x52, 0x49, 0x43, 0x10, 0x01, 0x12, + 0x1d, 0x0a, 0x19, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x1b, + 0x0a, 0x17, 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x10, 0x03, 0x42, 0xa3, 0x01, 0x0a, 0x17, + 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x19, 0x55, 0x73, 0x65, 0x72, 0x44, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, + 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, + 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, + 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, + 0x31, 0x4a, 0xfc, 0x11, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x33, 0x01, 0x0a, 0x08, 0x0a, 0x01, + 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, + 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, + 0x05, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x0f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, + 0x03, 0x0a, 0x05, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0b, 0x02, + 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x02, 0x20, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x0b, 0x23, 0x24, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, + 0x02, 0x12, 0x03, 0x0c, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, + 0x0d, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x02, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x0d, 0x1e, 0x1f, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0e, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0e, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x03, 0x02, 0x12, 0x03, 0x0e, 0x1c, 0x1d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, + 0x11, 0x00, 0x26, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x11, 0x08, 0x1b, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x12, 0x02, 0x4f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x12, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x09, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x12, 0x24, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x12, 0x26, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x12, 0x27, 0x4d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x13, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x13, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x13, 0x09, 0x0d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x13, 0x10, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x13, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x13, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x14, 0x02, 0x60, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x04, 0x12, 0x03, 0x14, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, + 0x12, 0x03, 0x14, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x14, 0x25, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x14, 0x35, + 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x14, 0x37, 0x5f, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x14, 0x38, 0x5e, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x16, 0x02, 0x57, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x16, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x16, 0x09, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x16, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, + 0x12, 0x03, 0x16, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x16, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, + 0x17, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x17, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x17, 0x09, 0x10, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x17, 0x13, 0x14, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x17, 0x15, 0x3d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x17, 0x16, 0x3c, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x18, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x05, 0x12, 0x03, 0x18, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, + 0x12, 0x03, 0x18, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, + 0x18, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x03, 0x18, 0x19, + 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x18, + 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x19, 0x02, 0x45, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x19, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x19, 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x19, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x06, 0x08, 0x12, 0x03, 0x19, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x19, 0x1d, 0x43, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, + 0x12, 0x03, 0x1a, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x03, + 0x1a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x1a, 0x09, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x1a, 0x16, 0x17, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x1a, 0x18, 0x40, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1a, 0x19, 0x3f, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x1b, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x1b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x08, 0x01, 0x12, 0x03, 0x1b, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, + 0x12, 0x03, 0x1b, 0x16, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x03, + 0x1b, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x1b, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x1c, 0x02, + 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x1c, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x03, 0x1c, 0x0b, 0x18, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x1c, 0x19, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x1c, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x09, 0x08, 0x12, 0x03, 0x1c, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1c, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, + 0x12, 0x03, 0x1d, 0x02, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x06, 0x12, 0x03, + 0x1d, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x1d, 0x13, + 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x1d, 0x2a, 0x2c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, 0x1d, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1d, 0x2e, 0x54, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x1e, 0x02, 0x62, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0b, 0x04, 0x12, 0x03, 0x1e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0b, 0x06, 0x12, 0x03, 0x1e, 0x0b, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, + 0x12, 0x03, 0x1e, 0x1e, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, + 0x1e, 0x36, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x12, 0x03, 0x1e, 0x39, + 0x61, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x1e, + 0x3a, 0x60, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x03, 0x20, 0x02, 0x57, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x06, 0x12, 0x03, 0x20, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x20, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x20, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0c, 0x08, 0x12, 0x03, 0x20, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x20, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0d, + 0x12, 0x03, 0x21, 0x02, 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x06, 0x12, 0x03, + 0x21, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x21, 0x1c, + 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x03, 0x21, 0x2c, 0x2e, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x03, 0x21, 0x2f, 0x57, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x21, 0x30, 0x56, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x03, 0x22, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x22, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0e, 0x01, 0x12, 0x03, 0x22, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, + 0x12, 0x03, 0x22, 0x1e, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x03, + 0x22, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x22, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0f, 0x12, 0x03, 0x23, 0x02, + 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12, 0x03, 0x23, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x23, 0x09, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x03, 0x23, 0x1f, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0f, 0x08, 0x12, 0x03, 0x23, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x23, 0x23, 0x49, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x10, 0x12, 0x03, 0x24, 0x02, 0x61, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x04, + 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x06, 0x12, 0x03, + 0x24, 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x01, 0x12, 0x03, 0x24, 0x2a, + 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, 0x12, 0x03, 0x24, 0x35, 0x37, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, 0x03, 0x24, 0x38, 0x60, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x24, 0x39, 0x5f, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x03, 0x25, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x11, 0x05, 0x12, 0x03, 0x25, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x11, 0x01, 0x12, 0x03, 0x25, 0x07, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, + 0x12, 0x03, 0x25, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x08, 0x12, 0x03, + 0x25, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x25, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x28, 0x00, 0x2d, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x28, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0x29, 0x02, 0x2c, 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x29, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x29, 0x09, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x29, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0x29, + 0x2e, 0x2c, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x2a, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, + 0x16, 0x12, 0x03, 0x2b, 0x04, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x2f, 0x00, + 0x33, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x2f, 0x08, 0x15, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x30, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x30, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x30, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, + 0x30, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x30, 0x19, 0x3f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x31, 0x02, + 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x31, 0x02, 0x12, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x31, 0x13, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x31, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x31, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x31, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, + 0x02, 0x02, 0x12, 0x03, 0x32, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x05, + 0x12, 0x03, 0x32, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x32, 0x07, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x32, 0x12, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x32, 0x14, 0x3c, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x32, 0x15, 0x3b, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xe3, 0x0e, 0x0a, 0x2d, 0x73, 0x69, 0x66, + 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, + 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, + 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x55, 0x0a, 0x12, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x09, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, + 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x43, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x14, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x42, 0x0a, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x96, 0x01, 0x0a, + 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x73, 0x48, 0x00, 0x52, 0x03, 0x69, + 0x64, 0x73, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x48, 0x00, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x42, 0x0d, 0x0a, 0x0b, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x73, 0x22, 0x7f, 0x0a, 0x0e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x64, 0x73, 0x48, 0x00, + 0x52, 0x03, 0x69, 0x64, 0x73, 0x12, 0x32, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x48, 0x00, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0x0b, 0x0a, 0x09, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x22, 0x1c, 0x0a, 0x03, 0x49, 0x64, 0x73, 0x12, 0x15, 0x0a, + 0x03, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x03, 0x69, 0x64, 0x73, 0x22, 0x32, 0x0a, 0x0a, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, + 0x79, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x22, 0x0a, 0x05, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x12, 0x19, 0x0a, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x42, 0xa1, 0x01, 0x0a, + 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x17, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, + 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, + 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, + 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, + 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, + 0x4a, 0xa3, 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x2d, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, + 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, + 0x12, 0x04, 0x07, 0x00, 0x0c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, + 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x08, 0x02, 0x0b, 0x03, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x08, 0x08, 0x12, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x09, 0x04, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x09, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x01, 0x12, 0x03, 0x09, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, + 0x12, 0x03, 0x09, 0x10, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0a, + 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0a, 0x04, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0a, 0x0b, 0x15, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0a, 0x18, 0x19, 0x0a, 0x0a, 0x0a, 0x02, + 0x04, 0x01, 0x12, 0x04, 0x0e, 0x00, 0x13, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, + 0x03, 0x0e, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x08, 0x00, 0x12, 0x04, 0x0f, 0x02, + 0x12, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x08, 0x10, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x10, 0x04, 0x12, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x10, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x10, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x10, 0x10, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, + 0x03, 0x11, 0x04, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x11, + 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x11, 0x0b, 0x0f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x11, 0x12, 0x13, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x15, 0x00, 0x1a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, + 0x01, 0x12, 0x03, 0x15, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, 0x12, 0x04, + 0x16, 0x02, 0x19, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, 0x01, 0x12, 0x03, 0x16, + 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x17, 0x04, 0x10, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x17, 0x04, 0x07, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x17, 0x08, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x17, 0x0e, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x18, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, + 0x03, 0x18, 0x04, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x18, + 0x0f, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x18, 0x1d, 0x1e, + 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x1c, 0x00, 0x21, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x03, 0x01, 0x12, 0x03, 0x1c, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, + 0x12, 0x04, 0x1d, 0x02, 0x20, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, 0x01, 0x12, + 0x03, 0x1d, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x1e, 0x04, + 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x1e, 0x04, 0x07, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1e, 0x08, 0x0b, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1e, 0x0e, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x1f, 0x04, 0x09, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x1f, 0x0a, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, + 0x12, 0x13, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x23, 0x00, 0x25, 0x01, 0x0a, 0x0a, + 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x23, 0x08, 0x0b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, + 0x02, 0x00, 0x12, 0x03, 0x24, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, + 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, + 0x24, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x24, 0x12, + 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x24, 0x18, 0x19, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x24, 0x1a, 0x42, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x24, 0x1b, 0x41, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x27, 0x00, 0x29, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, + 0x01, 0x12, 0x03, 0x27, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, + 0x28, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, 0x03, 0x28, 0x02, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x28, 0x0b, 0x11, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x28, 0x12, 0x1d, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x28, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x28, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x28, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, + 0x12, 0x04, 0x2b, 0x00, 0x2d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x2b, + 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x2c, 0x02, 0x45, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x03, 0x2c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x2c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x2c, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x2c, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x2c, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x2c, 0x1d, 0x43, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x83, + 0x05, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 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, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0x6d, 0x0a, 0x1b, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, + 0x63, 0x79, 0x12, 0x4e, 0x0a, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, + 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1a, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x42, 0xa1, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x17, + 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, + 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, + 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, + 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, + 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xe3, 0x01, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0e, + 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, + 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x39, 0x0a, 0x02, 0x04, + 0x00, 0x12, 0x04, 0x09, 0x00, 0x0e, 0x01, 0x1a, 0x2d, 0x20, 0x41, 0x20, 0x64, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x09, + 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x0a, 0x02, 0x0d, 0x04, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0a, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x09, 0x26, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0a, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x0a, 0x2b, 0x0d, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0b, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, + 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x0c, 0x04, 0x2b, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0x98, 0x06, 0x0a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0x6e, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, + 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x12, 0x20, 0x0a, 0x09, 0x62, 0x69, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x69, 0x74, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x42, 0xa5, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x1b, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, + 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xc1, 0x02, 0x0a, 0x06, 0x12, - 0x04, 0x00, 0x00, 0x0b, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, + 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x8a, 0x03, 0x0a, 0x06, 0x12, + 0x04, 0x00, 0x00, 0x0c, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, - 0x03, 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0b, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x17, 0x0a, 0x0b, 0x0a, 0x04, + 0x03, 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0c, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x08, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x08, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x08, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x08, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x08, - 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x09, 0x02, 0x3a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x09, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x09, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x09, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x08, 0x12, 0x03, 0x09, 0x11, 0x39, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x09, 0x12, 0x38, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, - 0x12, 0x03, 0x0a, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, - 0x0a, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x07, - 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0a, 0x13, 0x14, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x0a, 0x15, 0x3d, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, 0x16, 0x3c, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa2, 0x0a, 0x0a, 0x28, 0x73, 0x69, 0x66, 0x74, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, - 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, - 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, 0x69, 0x66, 0x74, + 0x13, 0x39, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x3b, 0x1a, + 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x27, 0x73, 0x20, 0x66, 0x69, + 0x72, 0x73, 0x74, 0x20, 0x62, 0x69, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, + 0x6f, 0x67, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x62, 0x69, 0x74, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x61, 0x72, 0x72, 0x61, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x05, 0x12, 0x03, 0x0a, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x0a, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0a, + 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x0a, 0x12, 0x3a, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, 0x13, + 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x40, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x0b, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, + 0x08, 0x12, 0x03, 0x0b, 0x17, 0x3f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x03, 0x0b, 0x18, 0x3e, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, + 0xb5, 0x05, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, + 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x63, 0x0a, 0x0f, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x08, 0x69, 0x73, 0x53, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x42, 0x9e, 0x01, 0x0a, 0x17, 0x63, + 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, + 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, + 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, + 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, + 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, + 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xc1, 0x02, 0x0a, 0x06, + 0x12, 0x04, 0x00, 0x00, 0x0b, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, + 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, + 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x07, 0x00, 0x0b, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x07, 0x08, 0x17, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x08, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x08, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x08, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x08, + 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x08, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x09, 0x02, 0x3a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x09, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x09, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x09, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x08, 0x12, 0x03, 0x09, 0x11, 0x39, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x09, 0x12, 0x38, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x02, 0x12, 0x03, 0x0a, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, + 0x03, 0x0a, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0a, + 0x07, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0a, 0x13, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x0a, 0x15, 0x3d, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0a, 0x16, 0x3c, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xa2, 0x0a, 0x0a, 0x28, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x02, 0x0a, 0x0d, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, - 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x75, - 0x6e, 0x69, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x54, - 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x59, - 0x0a, 0x12, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, + 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, 0x69, 0x66, + 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, + 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfb, 0x02, 0x0a, 0x0d, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, + 0x14, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x75, 0x6e, 0x69, 0x74, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, - 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x9c, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x42, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, - 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x59, 0x0a, 0x12, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x9c, 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x2e, 0x76, 0x31, 0x42, 0x12, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, 0x54, 0xaa, + 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1f, 0x53, 0x69, + 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, + 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, + 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x8b, 0x04, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x12, + 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, + 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x3d, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x02, 0x12, 0x03, 0x06, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, + 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x12, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x0b, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, + 0x03, 0x0b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, + 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0b, 0x10, 0x11, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x13, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x0c, 0x11, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, + 0x03, 0x0d, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0d, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x09, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0d, 0x17, 0x18, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0e, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0e, 0x02, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x0e, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, + 0x12, 0x03, 0x0e, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0f, + 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x0f, 0x02, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x0f, 0x0b, 0x1a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0f, 0x1b, 0x25, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x0f, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x05, 0x12, 0x03, 0x10, 0x02, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x04, + 0x12, 0x03, 0x10, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, + 0x10, 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x10, 0x22, + 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x10, 0x37, 0x38, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x11, 0x02, 0x37, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x11, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x06, 0x12, 0x03, 0x11, 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, + 0x01, 0x12, 0x03, 0x11, 0x2a, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, + 0x03, 0x11, 0x35, 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc2, 0x12, 0x0a, + 0x26, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, + 0x66, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, + 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, + 0x0a, 0x0b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x13, 0x0a, + 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, + 0x69, 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x09, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, + 0x06, 0x66, 0x69, 0x6e, 0x64, 0x42, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, + 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x9a, + 0x01, 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, + 0x03, 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, - 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, - 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x8b, 0x04, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x12, 0x01, - 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, - 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x3d, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, - 0x12, 0x03, 0x06, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x12, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, - 0x12, 0x03, 0x0b, 0x02, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x0b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0b, 0x09, - 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0b, 0x10, 0x11, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x02, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x0c, 0x11, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, - 0x0d, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x0d, 0x02, - 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x09, 0x14, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x0d, 0x17, 0x18, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0e, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x03, 0x06, 0x12, 0x03, 0x0e, 0x02, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x01, 0x12, 0x03, 0x0e, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, - 0x03, 0x0e, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0f, 0x02, - 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x0f, 0x02, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x0f, 0x0b, 0x1a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0f, 0x1b, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x0f, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x05, 0x12, 0x03, 0x10, 0x02, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x04, 0x12, - 0x03, 0x10, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x10, - 0x0b, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x10, 0x22, 0x34, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x10, 0x37, 0x38, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x11, 0x02, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x11, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x06, 0x06, 0x12, 0x03, 0x11, 0x0b, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, - 0x12, 0x03, 0x11, 0x2a, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, - 0x11, 0x35, 0x36, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 0x0a, 0xc2, 0x12, 0x0a, 0x26, - 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 0x65, 0x66, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, - 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb6, 0x01, 0x0a, - 0x0b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x12, 0x13, 0x0a, 0x02, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, - 0x64, 0x12, 0x27, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6e, 0x64, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x04, 0x52, 0x06, - 0x66, 0x69, 0x6e, 0x64, 0x42, 0x79, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x95, 0x01, 0x0a, 0x0e, 0x46, 0x69, 0x6e, 0x64, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x79, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1f, 0x0a, 0x0a, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, - 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, - 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x9a, 0x01, - 0x0a, 0x17, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x10, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, - 0x53, 0x43, 0x54, 0xaa, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x13, 0x53, 0x69, 0x66, 0x74, - 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, 0x79, - 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xeb, 0x0d, 0x0a, 0x06, 0x12, - 0x04, 0x00, 0x00, 0x28, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, - 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, - 0x03, 0x04, 0x00, 0x29, 0x0a, 0xc0, 0x02, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0a, 0x00, 0x17, - 0x01, 0x1a, 0xb3, 0x02, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, - 0x20, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x74, 0x27, 0x73, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, - 0x20, 0x49, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2c, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, 0x60, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, - 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x60, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, - 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x4f, - 0x4e, 0x4c, 0x59, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x70, - 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, - 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, - 0x0a, 0x08, 0x13, 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0c, 0x02, 0x3c, - 0x1a, 0x50, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, 0x6e, - 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x75, 0x6e, 0x5f, - 0x69, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0c, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x0b, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0c, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x0c, 0x10, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0c, 0x11, 0x3a, 0x0a, 0x56, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x4d, 0x1a, 0x49, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x74, 0x2c, 0x20, 0x69, 0x74, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x0f, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0f, 0x0b, 0x11, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0f, 0x12, 0x1c, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0f, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x0f, 0x21, 0x4c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0f, 0x22, 0x4b, 0x0a, 0x28, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x03, 0x12, 0x02, 0x3e, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x12, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x12, 0x09, 0x0d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x12, 0x10, 0x11, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x12, 0x12, 0x3d, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x12, 0x13, 0x3c, 0x0a, 0xa7, 0x01, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x16, 0x02, 0x48, 0x1a, 0x99, 0x01, 0x20, 0x55, - 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x27, 0x20, 0x61, 0x20, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x0a, 0x20, 0x59, 0x6f, 0x75, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x67, 0x69, 0x76, 0x65, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x66, 0x69, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x79, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, - 0x12, 0x03, 0x16, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, - 0x16, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x16, 0x1b, - 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x16, 0x1d, 0x47, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x16, 0x1e, 0x46, - 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x19, 0x00, 0x28, 0x01, 0x0a, 0x0a, 0x0a, 0x03, - 0x04, 0x01, 0x01, 0x12, 0x03, 0x19, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x08, 0x00, - 0x12, 0x04, 0x1a, 0x02, 0x23, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, 0x12, - 0x03, 0x1a, 0x08, 0x12, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x1c, 0x04, - 0x12, 0x1a, 0x45, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x27, 0x73, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, - 0x6c, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x1c, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x1c, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1c, - 0x10, 0x11, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x1a, 0x1a, - 0x32, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1f, 0x04, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x0b, 0x15, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x18, 0x19, 0x0a, 0x7a, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x22, 0x04, 0x14, 0x1a, 0x6d, 0x20, 0x46, 0x69, 0x6e, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x27, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, 0x6e, - 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x02, 0x05, 0x12, 0x03, 0x22, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, - 0x12, 0x03, 0x22, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, - 0x22, 0x12, 0x13, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x27, 0x02, - 0x46, 0x1a, 0x9b, 0x01, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x60, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, 0x62, - 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x4f, 0x6e, - 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x65, - 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x27, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x03, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x27, 0x1e, 0x44, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x54, + 0x79, 0x70, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0xea, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xeb, 0x0d, 0x0a, 0x06, + 0x12, 0x04, 0x00, 0x00, 0x28, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, + 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1c, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, + 0x12, 0x03, 0x04, 0x00, 0x29, 0x0a, 0xc0, 0x02, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x0a, 0x00, + 0x17, 0x01, 0x1a, 0xb3, 0x02, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, + 0x66, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x65, 0x61, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, + 0x20, 0x65, 0x6d, 0x62, 0x65, 0x64, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x49, 0x74, 0x27, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2c, 0x20, + 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x66, 0x69, 0x6e, 0x64, 0x5f, 0x62, 0x79, + 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x20, 0x49, 0x6e, 0x20, 0x61, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x73, 0x20, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x64, 0x20, 0x60, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, + 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x20, 0x3d, 0x20, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, + 0x4f, 0x4e, 0x4c, 0x59, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, + 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, + 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, + 0x03, 0x0a, 0x08, 0x13, 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x0c, 0x02, + 0x3c, 0x1a, 0x50, 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x20, 0x75, + 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x75, 0x6e, + 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, + 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x0c, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x0b, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x0c, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x0c, 0x10, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0c, 0x11, 0x3a, 0x0a, 0x56, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x4d, 0x1a, 0x49, 0x20, 0x49, 0x66, 0x20, 0x61, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x20, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x74, 0x2c, 0x20, 0x69, + 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x0f, + 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x0f, 0x0b, 0x11, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0f, 0x12, 0x1c, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x0f, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x0f, 0x21, 0x4c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x0f, 0x22, 0x4b, 0x0a, 0x28, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x02, 0x12, 0x03, 0x12, 0x02, 0x3e, 0x1a, 0x1b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, + 0x12, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x12, 0x09, + 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x12, 0x10, 0x11, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x12, 0x12, 0x3d, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x12, 0x13, 0x3c, 0x0a, 0xa7, + 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x16, 0x02, 0x48, 0x1a, 0x99, 0x01, 0x20, + 0x55, 0x73, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x27, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x27, 0x20, 0x61, 0x20, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x66, 0x2e, 0x0a, 0x20, 0x59, 0x6f, + 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x67, 0x69, 0x76, 0x65, 0x20, 0x6a, 0x75, 0x73, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x6f, 0x72, + 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x66, 0x69, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x27, 0x72, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x16, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, + 0x03, 0x16, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x16, + 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x16, 0x1d, 0x47, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x16, 0x1e, + 0x46, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x19, 0x00, 0x28, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x19, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x08, + 0x00, 0x12, 0x04, 0x1a, 0x02, 0x23, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, 0x00, 0x01, + 0x12, 0x03, 0x1a, 0x08, 0x12, 0x0a, 0x52, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x1c, + 0x04, 0x12, 0x1a, 0x45, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x27, 0x73, 0x20, 0x67, 0x6c, 0x6f, 0x62, + 0x61, 0x6c, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x05, 0x12, 0x03, 0x1c, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x1c, 0x0b, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x1c, 0x10, 0x11, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x1f, 0x04, 0x1a, + 0x1a, 0x32, 0x20, 0x46, 0x69, 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x27, 0x73, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x1f, + 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1f, 0x0b, 0x15, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x18, 0x19, 0x0a, 0x7a, + 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x22, 0x04, 0x14, 0x1a, 0x6d, 0x20, 0x46, 0x69, + 0x6e, 0x64, 0x20, 0x62, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x27, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x61, + 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x02, 0x05, 0x12, 0x03, 0x22, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x22, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, + 0x03, 0x22, 0x12, 0x13, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x27, + 0x02, 0x46, 0x1a, 0x9b, 0x01, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x66, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x60, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x61, 0x6c, 0x73, 0x6f, 0x20, + 0x62, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x4f, + 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x6f, 0x6e, + 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x05, 0x12, 0x03, 0x27, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x27, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x27, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x03, 0x08, 0x12, 0x03, 0x27, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x27, 0x1e, 0x44, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, ]; include!("sift.common.type.v1.serde.rs"); // @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.serde.rs index 9792fb7b8..c6050f43c 100644 --- a/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/common/r#type/v1/sift.common.type.v1.serde.rs @@ -1,4 +1,96 @@ // @generated +impl serde::Serialize for CalculatedChannelDependency { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.calculated_channel_version_id.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.common.r#type.v1.CalculatedChannelDependency", len)?; + if !self.calculated_channel_version_id.is_empty() { + struct_ser.serialize_field("calculatedChannelVersionId", &self.calculated_channel_version_id)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for CalculatedChannelDependency { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "calculated_channel_version_id", + "calculatedChannelVersionId", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + CalculatedChannelVersionId, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = CalculatedChannelDependency; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.common.r#type.v1.CalculatedChannelDependency") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut calculated_channel_version_id__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_version_id__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_version_id__ = Some(map_.next_value()?); + } + } + } + Ok(CalculatedChannelDependency { + calculated_channel_version_id: calculated_channel_version_id__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.common.r#type.v1.CalculatedChannelDependency", FIELDS, GeneratedVisitor) + } +} impl serde::Serialize for ChannelBitFieldElement { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result @@ -1495,6 +1587,9 @@ impl serde::Serialize for Organization { if !self.organization_name.is_empty() { len += 1; } + if self.is_abac_enabled.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.common.r#type.v1.Organization", len)?; if !self.organization_id.is_empty() { struct_ser.serialize_field("organizationId", &self.organization_id)?; @@ -1502,6 +1597,9 @@ impl serde::Serialize for Organization { if !self.organization_name.is_empty() { struct_ser.serialize_field("organizationName", &self.organization_name)?; } + if let Some(v) = self.is_abac_enabled.as_ref() { + struct_ser.serialize_field("isAbacEnabled", v)?; + } struct_ser.end() } } @@ -1516,12 +1614,15 @@ impl<'de> serde::Deserialize<'de> for Organization { "organizationId", "organization_name", "organizationName", + "is_abac_enabled", + "isAbacEnabled", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { OrganizationId, OrganizationName, + IsAbacEnabled, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1545,6 +1646,7 @@ impl<'de> serde::Deserialize<'de> for Organization { match value { "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), "organizationName" | "organization_name" => Ok(GeneratedField::OrganizationName), + "isAbacEnabled" | "is_abac_enabled" => Ok(GeneratedField::IsAbacEnabled), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1566,6 +1668,7 @@ impl<'de> serde::Deserialize<'de> for Organization { { let mut organization_id__ = None; let mut organization_name__ = None; + let mut is_abac_enabled__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::OrganizationId => { @@ -1580,11 +1683,18 @@ impl<'de> serde::Deserialize<'de> for Organization { } organization_name__ = Some(map_.next_value()?); } + GeneratedField::IsAbacEnabled => { + if is_abac_enabled__.is_some() { + return Err(serde::de::Error::duplicate_field("isAbacEnabled")); + } + is_abac_enabled__ = map_.next_value()?; + } } } Ok(Organization { organization_id: organization_id__.unwrap_or_default(), organization_name: organization_name__.unwrap_or_default(), + is_abac_enabled: is_abac_enabled__, }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.rs b/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.rs new file mode 100644 index 000000000..bf08be139 --- /dev/null +++ b/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.rs @@ -0,0 +1,303 @@ +// @generated +// This file is @generated by prost-build. +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ActionType { + Unspecified = 0, + IngestData = 110, + CreateRun = 120, + ViewDetails = 200, + ViewData = 205, + Export = 210, + EditDetails = 310, + EditTags = 312, + EditMetadata = 313, + Archive = 400, +} +impl ActionType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "ACTION_TYPE_UNSPECIFIED", + Self::IngestData => "ACTION_TYPE_INGEST_DATA", + Self::CreateRun => "ACTION_TYPE_CREATE_RUN", + Self::ViewDetails => "ACTION_TYPE_VIEW_DETAILS", + Self::ViewData => "ACTION_TYPE_VIEW_DATA", + Self::Export => "ACTION_TYPE_EXPORT", + Self::EditDetails => "ACTION_TYPE_EDIT_DETAILS", + Self::EditTags => "ACTION_TYPE_EDIT_TAGS", + Self::EditMetadata => "ACTION_TYPE_EDIT_METADATA", + Self::Archive => "ACTION_TYPE_ARCHIVE", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "ACTION_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "ACTION_TYPE_INGEST_DATA" => Some(Self::IngestData), + "ACTION_TYPE_CREATE_RUN" => Some(Self::CreateRun), + "ACTION_TYPE_VIEW_DETAILS" => Some(Self::ViewDetails), + "ACTION_TYPE_VIEW_DATA" => Some(Self::ViewData), + "ACTION_TYPE_EXPORT" => Some(Self::Export), + "ACTION_TYPE_EDIT_DETAILS" => Some(Self::EditDetails), + "ACTION_TYPE_EDIT_TAGS" => Some(Self::EditTags), + "ACTION_TYPE_EDIT_METADATA" => Some(Self::EditMetadata), + "ACTION_TYPE_ARCHIVE" => Some(Self::Archive), + _ => None, + } + } +} +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] +pub enum ResourceType { + Unspecified = 0, + Asset = 1, + Channel = 2, + Run = 3, + Annotation = 4, + Campaign = 5, + Report = 6, + Rule = 7, + RuleVersion = 8, + UserDefinedFunction = 9, + CalculatedChannel = 10, + ReportTemplate = 11, + TestReport = 12, + SiftApp = 1000, +} +impl ResourceType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "RESOURCE_TYPE_UNSPECIFIED", + Self::Asset => "RESOURCE_TYPE_ASSET", + Self::Channel => "RESOURCE_TYPE_CHANNEL", + Self::Run => "RESOURCE_TYPE_RUN", + Self::Annotation => "RESOURCE_TYPE_ANNOTATION", + Self::Campaign => "RESOURCE_TYPE_CAMPAIGN", + Self::Report => "RESOURCE_TYPE_REPORT", + Self::Rule => "RESOURCE_TYPE_RULE", + Self::RuleVersion => "RESOURCE_TYPE_RULE_VERSION", + Self::UserDefinedFunction => "RESOURCE_TYPE_USER_DEFINED_FUNCTION", + Self::CalculatedChannel => "RESOURCE_TYPE_CALCULATED_CHANNEL", + Self::ReportTemplate => "RESOURCE_TYPE_REPORT_TEMPLATE", + Self::TestReport => "RESOURCE_TYPE_TEST_REPORT", + Self::SiftApp => "RESOURCE_TYPE_SIFT_APP", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "RESOURCE_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "RESOURCE_TYPE_ASSET" => Some(Self::Asset), + "RESOURCE_TYPE_CHANNEL" => Some(Self::Channel), + "RESOURCE_TYPE_RUN" => Some(Self::Run), + "RESOURCE_TYPE_ANNOTATION" => Some(Self::Annotation), + "RESOURCE_TYPE_CAMPAIGN" => Some(Self::Campaign), + "RESOURCE_TYPE_REPORT" => Some(Self::Report), + "RESOURCE_TYPE_RULE" => Some(Self::Rule), + "RESOURCE_TYPE_RULE_VERSION" => Some(Self::RuleVersion), + "RESOURCE_TYPE_USER_DEFINED_FUNCTION" => Some(Self::UserDefinedFunction), + "RESOURCE_TYPE_CALCULATED_CHANNEL" => Some(Self::CalculatedChannel), + "RESOURCE_TYPE_REPORT_TEMPLATE" => Some(Self::ReportTemplate), + "RESOURCE_TYPE_TEST_REPORT" => Some(Self::TestReport), + "RESOURCE_TYPE_SIFT_APP" => Some(Self::SiftApp), + _ => None, + } + } +} +/// Encoded file descriptor set for the `sift.common.v1` package +pub const FILE_DESCRIPTOR_SET: &[u8] = &[ + 0x0a, 0x80, 0x0c, 0x0a, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2a, 0xab, 0x02, 0x0a, 0x0a, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, + 0x00, 0x12, 0x1b, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x49, 0x4e, 0x47, 0x45, 0x53, 0x54, 0x5f, 0x44, 0x41, 0x54, 0x41, 0x10, 0x6e, 0x12, 0x1a, + 0x0a, 0x16, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x52, + 0x45, 0x41, 0x54, 0x45, 0x5f, 0x52, 0x55, 0x4e, 0x10, 0x78, 0x12, 0x1d, 0x0a, 0x18, 0x41, 0x43, + 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, + 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0xc8, 0x01, 0x12, 0x1a, 0x0a, 0x15, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, 0x41, + 0x54, 0x41, 0x10, 0xcd, 0x01, 0x12, 0x17, 0x0a, 0x12, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x10, 0xd2, 0x01, 0x12, 0x1d, + 0x0a, 0x18, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, + 0x49, 0x54, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x10, 0xb6, 0x02, 0x12, 0x1a, 0x0a, + 0x15, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, + 0x54, 0x5f, 0x54, 0x41, 0x47, 0x53, 0x10, 0xb8, 0x02, 0x12, 0x1e, 0x0a, 0x19, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x4d, 0x45, + 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x10, 0xb9, 0x02, 0x12, 0x18, 0x0a, 0x13, 0x41, 0x43, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x52, 0x43, 0x48, 0x49, 0x56, 0x45, + 0x10, 0x90, 0x03, 0x42, 0x7f, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, + 0x43, 0x58, 0xaa, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x94, 0x08, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x1b, 0x01, 0x0a, + 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, + 0x02, 0x00, 0x17, 0x0a, 0x7f, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x07, 0x00, 0x1b, 0x01, 0x1a, + 0x73, 0x20, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x20, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, + 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x61, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x0a, 0x20, 0x47, 0x72, 0x61, 0x6e, 0x75, 0x6c, + 0x61, 0x72, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, + 0x20, 0x62, 0x72, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x20, 0x62, 0x79, 0x20, 0x43, 0x52, + 0x55, 0x44, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x07, 0x05, 0x0f, + 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x08, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x08, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x08, 0x1c, 0x1d, 0x0a, 0x40, 0x0a, 0x04, 0x05, 0x00, 0x02, + 0x01, 0x12, 0x03, 0x0a, 0x02, 0x20, 0x1a, 0x33, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x6e, 0x67, 0x20, 0x31, 0x30, 0x30, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x69, 0x63, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x29, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x01, 0x02, 0x12, 0x03, 0x0a, 0x1c, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, + 0x03, 0x0b, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x0b, + 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x0b, 0x1b, 0x1e, + 0x0a, 0xb9, 0x01, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0f, 0x02, 0x21, 0x1a, 0xab, + 0x01, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x20, + 0x4c, 0x6f, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x61, + 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x49, + 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, + 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x72, 0x65, 0x61, 0x64, + 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, + 0x62, 0x65, 0x20, 0x64, 0x65, 0x6e, 0x69, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x55, 0x73, 0x65, 0x64, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x76, 0x69, 0x65, 0x77, 0x2f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x2f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x20, 0x64, 0x65, 0x74, + 0x61, 0x69, 0x6c, 0x73, 0x20, 0x70, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x03, 0x02, 0x12, 0x03, 0x0f, 0x1d, 0x20, 0x0a, 0x93, 0x01, 0x0a, 0x04, 0x05, 0x00, 0x02, + 0x04, 0x12, 0x03, 0x12, 0x02, 0x1e, 0x1a, 0x85, 0x01, 0x20, 0x52, 0x65, 0x61, 0x64, 0x20, 0x74, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x0a, + 0x20, 0x4b, 0x65, 0x65, 0x70, 0x20, 0x41, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x56, 0x49, 0x45, 0x57, 0x5f, 0x44, 0x45, 0x54, 0x41, 0x49, 0x4c, 0x53, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, + 0x20, 0x22, 0x76, 0x69, 0x65, 0x77, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x22, 0x20, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x12, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x12, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x05, 0x12, 0x03, 0x13, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, + 0x12, 0x03, 0x13, 0x02, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, + 0x13, 0x17, 0x1a, 0x0a, 0x5d, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x16, 0x02, 0x21, + 0x1a, 0x50, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x45, 0x64, 0x69, 0x74, 0x20, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x28, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x69, 0x6e, + 0x67, 0x20, 0x33, 0x30, 0x30, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x69, + 0x63, 0x20, 0x65, 0x64, 0x69, 0x74, 0x29, 0x0a, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x44, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x55, 0x6e, 0x69, 0x74, + 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x16, 0x02, 0x1a, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x16, 0x1d, 0x20, 0x0a, 0x0b, + 0x0a, 0x04, 0x05, 0x00, 0x02, 0x07, 0x12, 0x03, 0x17, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x17, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x07, 0x02, 0x12, 0x03, 0x17, 0x1a, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, + 0x03, 0x18, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x18, + 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x18, 0x1e, 0x21, + 0x0a, 0x1d, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x09, 0x12, 0x03, 0x1a, 0x02, 0x1c, 0x1a, 0x10, 0x20, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x1a, 0x02, 0x15, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x1a, 0x18, 0x1b, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, 0x0a, 0xf8, 0x0a, 0x0a, 0x22, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2a, 0xb2, 0x03, 0x0a, 0x0c, 0x52, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d, 0x0a, 0x19, 0x52, + 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, + 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x45, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x53, 0x53, 0x45, + 0x54, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x02, 0x12, 0x15, + 0x0a, 0x11, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x52, 0x55, 0x4e, 0x10, 0x03, 0x12, 0x1c, 0x0a, 0x18, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, + 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, + 0x4e, 0x10, 0x04, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4d, 0x50, 0x41, 0x49, 0x47, 0x4e, 0x10, 0x05, 0x12, + 0x18, 0x0a, 0x14, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x06, 0x12, 0x16, 0x0a, 0x12, 0x52, 0x45, 0x53, + 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x10, + 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x5f, 0x56, 0x45, 0x52, 0x53, 0x49, 0x4f, 0x4e, 0x10, + 0x08, 0x12, 0x27, 0x0a, 0x23, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, + 0x46, 0x55, 0x4e, 0x43, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x09, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, + 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x43, + 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x10, 0x0a, + 0x12, 0x21, 0x0a, 0x1d, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x54, 0x45, 0x4d, 0x50, 0x4c, 0x41, 0x54, + 0x45, 0x10, 0x0b, 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, + 0x10, 0x0c, 0x12, 0x1b, 0x0a, 0x16, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x53, 0x49, 0x46, 0x54, 0x5f, 0x41, 0x50, 0x50, 0x10, 0xe8, 0x07, 0x42, + 0x81, 0x01, 0x0a, 0x12, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x54, 0x79, 0x70, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x43, + 0x58, 0xaa, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x56, 0x31, 0xca, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1a, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, + 0x3a, 0x56, 0x31, 0x4a, 0x80, 0x06, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x17, 0x01, 0x0a, 0x08, + 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, + 0x00, 0x17, 0x0a, 0x4a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x06, 0x00, 0x17, 0x01, 0x1a, 0x3e, + 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x20, 0x72, 0x65, + 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x62, 0x65, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0a, + 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x06, 0x05, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x00, 0x12, 0x03, 0x07, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x07, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, + 0x07, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x08, 0x02, 0x1a, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x08, 0x02, 0x15, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x08, 0x18, 0x19, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x09, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x09, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, + 0x12, 0x03, 0x09, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x0a, + 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0a, 0x02, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x0a, 0x16, 0x17, 0x0a, 0x0b, + 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x0b, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x0b, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x04, 0x02, 0x12, 0x03, 0x0b, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, 0x12, + 0x03, 0x0c, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x0c, + 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x0c, 0x1b, 0x1c, + 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x0d, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x0d, 0x02, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x0d, 0x19, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, + 0x07, 0x12, 0x03, 0x0e, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x01, 0x12, + 0x03, 0x0e, 0x02, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x0e, + 0x17, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, 0x03, 0x0f, 0x02, 0x21, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x0f, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x0f, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, + 0x00, 0x02, 0x09, 0x12, 0x03, 0x10, 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, + 0x01, 0x12, 0x03, 0x10, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x02, 0x12, + 0x03, 0x10, 0x28, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x11, 0x02, + 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x11, 0x02, 0x22, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x11, 0x25, 0x27, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x12, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x0b, 0x01, 0x12, 0x03, 0x12, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0b, + 0x02, 0x12, 0x03, 0x12, 0x22, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0c, 0x12, 0x03, + 0x13, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x13, 0x02, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x03, 0x13, 0x1e, 0x20, 0x0a, + 0x59, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0d, 0x12, 0x03, 0x16, 0x02, 0x20, 0x1a, 0x4c, 0x20, 0x53, + 0x70, 0x65, 0x63, 0x69, 0x61, 0x6c, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x6e, 0x27, 0x74, 0x20, 0x79, 0x65, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x20, 0x28, 0x65, 0x67, 0x2e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x29, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x0d, 0x01, 0x12, 0x03, 0x16, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0d, + 0x02, 0x12, 0x03, 0x16, 0x1b, 0x1f, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +]; +include!("sift.common.v1.serde.rs"); +// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.serde.rs new file mode 100644 index 000000000..f82bb5c32 --- /dev/null +++ b/rust/crates/sift_rs/src/gen/sift/common/v1/sift.common.v1.serde.rs @@ -0,0 +1,203 @@ +// @generated +impl serde::Serialize for ActionType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "ACTION_TYPE_UNSPECIFIED", + Self::IngestData => "ACTION_TYPE_INGEST_DATA", + Self::CreateRun => "ACTION_TYPE_CREATE_RUN", + Self::ViewDetails => "ACTION_TYPE_VIEW_DETAILS", + Self::ViewData => "ACTION_TYPE_VIEW_DATA", + Self::Export => "ACTION_TYPE_EXPORT", + Self::EditDetails => "ACTION_TYPE_EDIT_DETAILS", + Self::EditTags => "ACTION_TYPE_EDIT_TAGS", + Self::EditMetadata => "ACTION_TYPE_EDIT_METADATA", + Self::Archive => "ACTION_TYPE_ARCHIVE", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ActionType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "ACTION_TYPE_UNSPECIFIED", + "ACTION_TYPE_INGEST_DATA", + "ACTION_TYPE_CREATE_RUN", + "ACTION_TYPE_VIEW_DETAILS", + "ACTION_TYPE_VIEW_DATA", + "ACTION_TYPE_EXPORT", + "ACTION_TYPE_EDIT_DETAILS", + "ACTION_TYPE_EDIT_TAGS", + "ACTION_TYPE_EDIT_METADATA", + "ACTION_TYPE_ARCHIVE", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ActionType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "ACTION_TYPE_UNSPECIFIED" => Ok(ActionType::Unspecified), + "ACTION_TYPE_INGEST_DATA" => Ok(ActionType::IngestData), + "ACTION_TYPE_CREATE_RUN" => Ok(ActionType::CreateRun), + "ACTION_TYPE_VIEW_DETAILS" => Ok(ActionType::ViewDetails), + "ACTION_TYPE_VIEW_DATA" => Ok(ActionType::ViewData), + "ACTION_TYPE_EXPORT" => Ok(ActionType::Export), + "ACTION_TYPE_EDIT_DETAILS" => Ok(ActionType::EditDetails), + "ACTION_TYPE_EDIT_TAGS" => Ok(ActionType::EditTags), + "ACTION_TYPE_EDIT_METADATA" => Ok(ActionType::EditMetadata), + "ACTION_TYPE_ARCHIVE" => Ok(ActionType::Archive), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for ResourceType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "RESOURCE_TYPE_UNSPECIFIED", + Self::Asset => "RESOURCE_TYPE_ASSET", + Self::Channel => "RESOURCE_TYPE_CHANNEL", + Self::Run => "RESOURCE_TYPE_RUN", + Self::Annotation => "RESOURCE_TYPE_ANNOTATION", + Self::Campaign => "RESOURCE_TYPE_CAMPAIGN", + Self::Report => "RESOURCE_TYPE_REPORT", + Self::Rule => "RESOURCE_TYPE_RULE", + Self::RuleVersion => "RESOURCE_TYPE_RULE_VERSION", + Self::UserDefinedFunction => "RESOURCE_TYPE_USER_DEFINED_FUNCTION", + Self::CalculatedChannel => "RESOURCE_TYPE_CALCULATED_CHANNEL", + Self::ReportTemplate => "RESOURCE_TYPE_REPORT_TEMPLATE", + Self::TestReport => "RESOURCE_TYPE_TEST_REPORT", + Self::SiftApp => "RESOURCE_TYPE_SIFT_APP", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ResourceType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "RESOURCE_TYPE_UNSPECIFIED", + "RESOURCE_TYPE_ASSET", + "RESOURCE_TYPE_CHANNEL", + "RESOURCE_TYPE_RUN", + "RESOURCE_TYPE_ANNOTATION", + "RESOURCE_TYPE_CAMPAIGN", + "RESOURCE_TYPE_REPORT", + "RESOURCE_TYPE_RULE", + "RESOURCE_TYPE_RULE_VERSION", + "RESOURCE_TYPE_USER_DEFINED_FUNCTION", + "RESOURCE_TYPE_CALCULATED_CHANNEL", + "RESOURCE_TYPE_REPORT_TEMPLATE", + "RESOURCE_TYPE_TEST_REPORT", + "RESOURCE_TYPE_SIFT_APP", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ResourceType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "RESOURCE_TYPE_UNSPECIFIED" => Ok(ResourceType::Unspecified), + "RESOURCE_TYPE_ASSET" => Ok(ResourceType::Asset), + "RESOURCE_TYPE_CHANNEL" => Ok(ResourceType::Channel), + "RESOURCE_TYPE_RUN" => Ok(ResourceType::Run), + "RESOURCE_TYPE_ANNOTATION" => Ok(ResourceType::Annotation), + "RESOURCE_TYPE_CAMPAIGN" => Ok(ResourceType::Campaign), + "RESOURCE_TYPE_REPORT" => Ok(ResourceType::Report), + "RESOURCE_TYPE_RULE" => Ok(ResourceType::Rule), + "RESOURCE_TYPE_RULE_VERSION" => Ok(ResourceType::RuleVersion), + "RESOURCE_TYPE_USER_DEFINED_FUNCTION" => Ok(ResourceType::UserDefinedFunction), + "RESOURCE_TYPE_CALCULATED_CHANNEL" => Ok(ResourceType::CalculatedChannel), + "RESOURCE_TYPE_REPORT_TEMPLATE" => Ok(ResourceType::ReportTemplate), + "RESOURCE_TYPE_TEST_REPORT" => Ok(ResourceType::TestReport), + "RESOURCE_TYPE_SIFT_APP" => Ok(ResourceType::SiftApp), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} diff --git a/rust/crates/sift_rs/src/gen/sift/data/v2/sift.data.v2.rs b/rust/crates/sift_rs/src/gen/sift/data/v2/sift.data.v2.rs index 60fab2937..b293fa534 100644 --- a/rust/crates/sift_rs/src/gen/sift/data/v2/sift.data.v2.rs +++ b/rust/crates/sift_rs/src/gen/sift/data/v2/sift.data.v2.rs @@ -273,7 +273,7 @@ pub struct BytesValues { } /// Encoded file descriptor set for the `sift.data.v2` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xcc, 0x81, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, + 0x0a, 0x83, 0x81, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, @@ -298,1018 +298,1014 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x73, 0x69, - 0x66, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, - 0x66, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x90, 0x02, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x2d, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, - 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x73, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3a, 0x04, 0x80, 0x97, - 0x22, 0x01, 0x22, 0x9f, 0x01, 0x0a, 0x05, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x55, 0x0a, 0x12, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x71, - 0x75, 0x65, 0x72, 0x79, 0x22, 0x54, 0x0a, 0x0c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, - 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x16, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x04, - 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x01, 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, - 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, - 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, - 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x75, 0x6e, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, - 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, - 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x22, 0x68, 0x0a, 0x0f, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, - 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x06, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x61, 0x6d, - 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x4d, 0x73, 0x12, 0x37, 0x0a, - 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x31, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, - 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x69, 0x66, + 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8a, 0x02, 0x0a, + 0x0e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x2d, 0x0a, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x07, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x12, 0x39, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, 0x6e, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1b, 0x0a, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x08, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x4d, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x9f, 0x01, 0x0a, 0x05, 0x51, 0x75, + 0x65, 0x72, 0x79, 0x12, 0x36, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x48, 0x00, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x55, 0x0a, 0x12, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, + 0x11, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x42, 0x07, 0x0a, 0x05, 0x71, 0x75, 0x65, 0x72, 0x79, 0x22, 0x54, 0x0a, 0x0c, 0x43, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, + 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x22, 0xcd, 0x02, 0x0a, 0x16, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x12, 0x24, 0x0a, 0x0b, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x4b, + 0x65, 0x79, 0x12, 0x53, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x44, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x6f, 0x64, 0x65, 0x48, 0x01, + 0x52, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x88, 0x01, 0x01, 0x12, 0x2d, 0x0a, 0x10, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x48, 0x02, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x52, 0x75, + 0x6e, 0x44, 0x61, 0x74, 0x61, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, + 0x5f, 0x69, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x13, 0x0a, 0x11, + 0x5f, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x22, 0x68, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, + 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x0a, 0x04, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x02, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0xa1, 0x06, 0x0a, 0x08, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x46, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x22, 0x0a, 0x0a, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x5f, 0x6d, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x61, 0x6d, 0x70, 0x6c, + 0x65, 0x64, 0x4d, 0x73, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x41, 0x73, 0x73, 0x65, + 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x61, 0x73, 0x73, 0x65, 0x74, 0x12, 0x31, 0x0a, + 0x03, 0x72, 0x75, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x52, 0x75, 0x6e, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x48, 0x01, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x1a, + 0x40, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x1a, 0x3a, 0x0a, 0x03, 0x52, 0x75, 0x6e, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, + 0x75, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xeb, 0x02, + 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x37, 0x0a, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, + 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, + 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, + 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, + 0x59, 0x0a, 0x12, 0x62, 0x69, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x10, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x04, 0x55, 0x6e, + 0x69, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x61, + 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x62, 0x62, 0x72, + 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, + 0x72, 0x75, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, + 0x67, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x48, 0x01, 0x52, 0x07, 0x63, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x88, 0x01, 0x01, 0x1a, 0x40, 0x0a, 0x05, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, - 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0x3a, 0x0a, 0x03, 0x52, 0x75, - 0x6e, 0x12, 0x1a, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x1a, 0xeb, 0x02, 0x0a, 0x07, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x04, 0x75, 0x6e, - 0x69, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x04, 0x75, - 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, - 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x65, - 0x6e, 0x75, 0x6d, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x59, 0x0a, 0x12, 0x62, 0x69, 0x74, 0x5f, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x05, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x52, 0x10, 0x62, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x73, 0x1a, 0x4f, 0x0a, 0x04, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, + 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x09, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, + 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x45, 0x6e, + 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, + 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x69, 0x0a, 0x0d, 0x42, 0x69, 0x74, 0x46, 0x69, + 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x6a, 0x0a, 0x15, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x10, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x61, 0x62, 0x62, 0x72, 0x65, 0x76, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x4e, 0x61, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x5f, 0x72, 0x75, 0x6e, 0x42, 0x0a, 0x0a, 0x08, - 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x67, 0x0a, 0x0b, 0x44, 0x6f, 0x75, 0x62, - 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x8b, + 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x53, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x09, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, + 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x69, 0x0a, 0x0d, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x6a, 0x0a, 0x15, 0x42, - 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x38, 0x0a, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, - 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x74, 0x46, - 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x40, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x6c, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x65, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, 0x0a, 0x0a, - 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, - 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, + 0x22, 0x66, 0x0a, 0x0a, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, - 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x33, - 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, + 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, + 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, + 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x22, 0x7d, 0x0a, 0x0b, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, + 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, + 0x67, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, - 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x67, 0x0a, 0x0b, 0x55, 0x69, 0x6e, 0x74, - 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x42, 0x79, 0x74, + 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x7f, 0x0a, 0x0c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x06, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x22, 0x66, 0x0a, 0x0a, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x19, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x32, 0xba, 0x01, 0x0a, 0x0b, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8e, 0x01, 0x0a, 0x07, 0x47, 0x65, - 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x2c, 0x12, 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x1a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2a, 0x15, 0x44, 0x61, - 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x56, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1a, 0x92, 0x41, 0x17, 0x12, - 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x42, 0x82, 0x01, 0x92, 0x41, 0x10, 0x12, 0x0e, 0x0a, 0x0c, - 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x10, 0x63, 0x6f, - 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x09, - 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x44, - 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x32, - 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0xe2, - 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, - 0x74, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xea, 0x58, 0x0a, 0x07, - 0x12, 0x05, 0x00, 0x00, 0x96, 0x02, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, - 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x15, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, - 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x23, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, - 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x3f, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x3d, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, - 0x0b, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x0c, 0x00, 0x35, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x09, 0x12, 0x03, 0x0d, 0x00, 0x2b, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, - 0x0f, 0x00, 0x11, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0f, 0x00, 0x11, - 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x10, 0x02, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x10, 0x09, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, - 0x06, 0x00, 0x12, 0x04, 0x13, 0x00, 0x22, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, - 0x03, 0x13, 0x08, 0x13, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x03, 0x14, 0x02, 0x6c, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x03, 0x14, 0x02, 0x6c, 0x0a, 0x0d, - 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x14, 0x46, 0x6a, 0x0a, 0x1a, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x17, 0x02, 0x21, 0x03, 0x1a, 0x0c, 0x20, 0x51, 0x75, - 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x17, 0x06, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, - 0x12, 0x03, 0x17, 0x0e, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x17, 0x27, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x18, 0x04, - 0x1b, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x18, 0x04, 0x1b, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x04, 0x12, 0x03, 0x19, 0x06, 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x1a, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1c, 0x04, 0x20, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x1c, 0x04, 0x20, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1d, 0x06, 0x18, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x1e, 0x06, 0x1f, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x1f, 0x06, 0x2b, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x24, 0x00, 0x41, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, - 0x01, 0x12, 0x03, 0x24, 0x08, 0x16, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x07, 0x12, 0x03, 0x25, - 0x02, 0x2e, 0x0a, 0x0d, 0x0a, 0x06, 0x04, 0x00, 0x07, 0xf0, 0xa2, 0x04, 0x12, 0x03, 0x25, 0x02, - 0x2e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x26, 0x02, 0x1d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x26, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x26, 0x0b, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x26, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x26, 0x1b, 0x1c, 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, - 0x29, 0x02, 0x2b, 0x1a, 0x57, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x73, 0x69, 0x76, 0x65, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x29, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x29, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x29, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, - 0x2c, 0x02, 0x29, 0x1a, 0x52, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, - 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, 0x20, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, - 0x12, 0x03, 0x2c, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x2c, 0x1c, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2c, 0x27, - 0x28, 0x0a, 0xa4, 0x03, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x32, 0x02, 0x17, 0x1a, - 0x96, 0x03, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, - 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, 0x20, - 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x5b, 0x4c, 0x54, 0x54, 0x42, 0x5d, 0x28, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x73, 0x76, 0x65, 0x69, 0x6e, 0x6e, 0x2d, 0x73, 0x74, 0x65, 0x69, 0x6e, 0x61, 0x72, 0x73, 0x73, - 0x6f, 0x6e, 0x2f, 0x66, 0x6c, 0x6f, 0x74, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, 0x70, - 0x6c, 0x65, 0x29, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, 0x65, - 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x20, 0x6d, - 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, 0x61, - 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x77, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x0a, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, - 0x65, 0x5f, 0x6d, 0x73, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x0a, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x2d, 0x66, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x74, 0x79, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x05, 0x12, 0x03, 0x32, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, - 0x03, 0x32, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x32, - 0x15, 0x16, 0x0a, 0xf2, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x3a, 0x02, 0x17, - 0x1a, 0xe4, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, - 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x31, 0x30, 0x2c, 0x30, - 0x30, 0x30, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x29, 0x2c, 0x20, 0x61, 0x74, 0x20, - 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x65, - 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x72, 0x65, 0x61, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x4d, 0x42, 0x2c, 0x20, 0x77, - 0x68, 0x69, 0x63, 0x68, 0x65, 0x76, 0x65, 0x72, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, 0x20, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, - 0x12, 0x03, 0x3a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, - 0x3a, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3a, 0x15, - 0x16, 0x0a, 0xe5, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x40, 0x02, 0x18, 0x1a, - 0xd7, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, - 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, - 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x47, 0x65, 0x74, 0x44, 0x61, - 0x74, 0x61, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, - 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, - 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x05, 0x12, 0x03, 0x40, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, - 0x12, 0x03, 0x40, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, - 0x40, 0x16, 0x17, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x43, 0x00, 0x48, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x43, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x01, 0x08, 0x00, 0x12, 0x04, 0x44, 0x02, 0x47, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x08, - 0x00, 0x01, 0x12, 0x03, 0x44, 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, - 0x03, 0x45, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x45, - 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x45, 0x11, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x45, 0x1b, 0x1c, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x46, 0x04, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x46, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x01, 0x01, 0x12, 0x03, 0x46, 0x1b, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, - 0x12, 0x03, 0x46, 0x30, 0x31, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x4a, 0x00, 0x52, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4a, 0x08, 0x14, 0x0a, 0x35, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x4c, 0x02, 0x18, 0x1a, 0x28, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x75, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4c, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4c, 0x09, 0x13, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4c, 0x16, 0x17, 0x0a, 0xc6, - 0x01, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x51, 0x02, 0x1d, 0x1a, 0xb8, 0x01, 0x20, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, - 0x74, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, - 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, - 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6e, 0x6f, + 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x22, 0x7d, 0x0a, 0x0b, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x32, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x06, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, + 0x32, 0xba, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x8e, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x1c, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x2c, 0x12, 0x07, + 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x1a, 0x0a, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x2a, 0x15, 0x44, 0x61, 0x74, 0x61, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x56, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, + 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, + 0x61, 0x1a, 0x1a, 0x92, 0x41, 0x17, 0x12, 0x15, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, + 0x74, 0x6f, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x42, 0x82, 0x01, + 0x92, 0x41, 0x10, 0x12, 0x0e, 0x0a, 0x0c, 0x44, 0x61, 0x74, 0x61, 0x20, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x44, 0x61, 0x74, 0x61, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x44, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, + 0x44, 0x61, 0x74, 0x61, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, + 0x61, 0x74, 0x61, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, + 0x74, 0x61, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x44, 0x61, 0x74, 0x61, 0x3a, 0x3a, + 0x56, 0x32, 0x4a, 0xca, 0x58, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x97, 0x02, 0x01, 0x0a, 0x08, + 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, + 0x00, 0x15, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, + 0x06, 0x00, 0x23, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, + 0x03, 0x09, 0x00, 0x3f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x3d, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, + 0x12, 0x03, 0x0c, 0x00, 0x35, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0e, 0x00, 0x10, 0x02, + 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0e, 0x00, 0x10, 0x02, 0x0a, 0x0b, 0x0a, + 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0f, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, + 0x08, 0x02, 0x01, 0x12, 0x03, 0x0f, 0x09, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, + 0x12, 0x00, 0x21, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x12, 0x08, 0x13, + 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x03, 0x13, 0x02, 0x6c, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x03, 0x13, 0x02, 0x6c, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, + 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x13, 0x46, 0x6a, 0x0a, 0x1a, 0x0a, 0x04, 0x06, 0x00, 0x02, + 0x00, 0x12, 0x04, 0x16, 0x02, 0x20, 0x03, 0x1a, 0x0c, 0x20, 0x51, 0x75, 0x65, 0x72, 0x79, 0x20, + 0x64, 0x61, 0x74, 0x61, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x16, 0x06, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x16, 0x0e, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x16, 0x27, 0x36, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x17, 0x04, 0x1a, 0x06, 0x0a, 0x11, + 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x17, 0x04, 0x1a, + 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, + 0x03, 0x18, 0x06, 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x07, 0x12, 0x03, 0x19, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x12, 0x04, 0x1b, 0x04, 0x1f, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, + 0x08, 0x12, 0x04, 0x1b, 0x04, 0x1f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x92, 0x08, 0x02, 0x12, 0x03, 0x1c, 0x06, 0x18, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x1d, 0x06, 0x1f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x1e, 0x06, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, + 0x12, 0x04, 0x23, 0x00, 0x42, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x23, + 0x08, 0x16, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x24, 0x02, 0x1d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x24, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x24, 0x0b, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x24, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x24, 0x1b, 0x1c, 0x0a, 0x64, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, + 0x03, 0x27, 0x02, 0x2b, 0x1a, 0x57, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, + 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x73, 0x69, 0x76, 0x65, 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x27, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x27, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x03, 0x12, 0x03, 0x27, 0x29, 0x2a, 0x0a, 0x5f, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, + 0x03, 0x2a, 0x02, 0x29, 0x1a, 0x52, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x76, 0x65, + 0x20, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, + 0x06, 0x12, 0x03, 0x2a, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, + 0x03, 0x2a, 0x1c, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2a, + 0x27, 0x28, 0x0a, 0xa4, 0x03, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x30, 0x02, 0x17, + 0x1a, 0x96, 0x03, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x61, 0x74, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x64, + 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x5b, 0x4c, 0x54, 0x54, 0x42, 0x5d, 0x28, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x73, 0x76, 0x65, 0x69, 0x6e, 0x6e, 0x2d, 0x73, 0x74, 0x65, 0x69, 0x6e, 0x61, 0x72, 0x73, + 0x73, 0x6f, 0x6e, 0x2f, 0x66, 0x6c, 0x6f, 0x74, 0x2d, 0x64, 0x6f, 0x77, 0x6e, 0x73, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x29, 0x0a, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x78, 0x69, 0x6d, 0x61, 0x74, 0x65, 0x6c, 0x79, 0x20, + 0x65, 0x76, 0x65, 0x72, 0x79, 0x20, 0x73, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x20, + 0x6d, 0x69, 0x6c, 0x6c, 0x69, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x72, 0x65, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x68, + 0x61, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x61, 0x77, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x20, 0x53, 0x61, 0x6d, 0x70, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x69, + 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x20, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x73, 0x61, 0x6d, 0x70, + 0x6c, 0x65, 0x5f, 0x6d, 0x73, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, + 0x63, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x0a, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x2d, 0x66, 0x69, 0x64, 0x65, 0x6c, 0x69, 0x74, + 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x05, 0x12, 0x03, 0x30, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, + 0x12, 0x03, 0x30, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, + 0x30, 0x15, 0x16, 0x0a, 0xf2, 0x02, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x38, 0x02, + 0x17, 0x1a, 0xe4, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, + 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x31, 0x30, 0x2c, + 0x30, 0x30, 0x30, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2c, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x76, 0x61, 0x72, 0x69, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x28, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x29, 0x2c, 0x20, 0x61, 0x74, + 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x20, + 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, + 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x2c, 0x20, 0x6f, 0x72, 0x20, 0x31, 0x4d, 0x42, 0x2c, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x65, 0x76, 0x65, 0x72, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x72, 0x73, + 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, + 0x05, 0x12, 0x03, 0x38, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, + 0x03, 0x38, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x38, + 0x15, 0x16, 0x0a, 0xe5, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x3e, 0x02, 0x18, + 0x1a, 0xd7, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, + 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x47, 0x65, 0x74, 0x44, + 0x61, 0x74, 0x61, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x47, 0x65, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, + 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x05, 0x12, 0x03, 0x3e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x01, 0x12, 0x03, 0x3e, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, + 0x03, 0x3e, 0x16, 0x17, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x44, 0x00, 0x49, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x44, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x01, 0x08, 0x00, 0x12, 0x04, 0x45, 0x02, 0x48, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x08, 0x00, 0x01, 0x12, 0x03, 0x45, 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, + 0x12, 0x03, 0x46, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, + 0x46, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x46, 0x11, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x46, 0x1b, 0x1c, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x47, 0x04, 0x32, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x47, 0x04, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x01, 0x01, 0x12, 0x03, 0x47, 0x1b, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x03, 0x12, 0x03, 0x47, 0x30, 0x31, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x4b, 0x00, + 0x53, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x08, 0x14, 0x0a, 0x35, + 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x4d, 0x02, 0x18, 0x1a, 0x28, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x75, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, + 0x4d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4d, 0x09, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4d, 0x16, 0x17, 0x0a, + 0xc6, 0x01, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x52, 0x02, 0x1d, 0x1a, 0xb8, 0x01, + 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x73, + 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, + 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x66, + 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, + 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6e, + 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, + 0x65, 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, - 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x6e, - 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x04, - 0x12, 0x03, 0x51, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, - 0x51, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x51, 0x12, - 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x51, 0x1b, 0x1c, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x54, 0x00, 0x65, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x03, 0x01, 0x12, 0x03, 0x54, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, - 0x03, 0x55, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x55, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x55, 0x09, 0x14, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x55, 0x17, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x55, 0x19, 0x41, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x55, 0x1a, 0x40, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x56, 0x02, 0x68, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x06, 0x12, 0x03, 0x56, 0x02, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x56, 0x30, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x56, 0x3d, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x56, - 0x3f, 0x67, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x56, 0x40, 0x66, 0x0a, 0xb9, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x5b, 0x02, - 0x1d, 0x1a, 0xab, 0x01, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x20, - 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x65, 0x64, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2c, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, + 0x04, 0x12, 0x03, 0x52, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, + 0x03, 0x52, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x52, + 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x52, 0x1b, 0x1c, + 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x55, 0x00, 0x66, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x03, 0x01, 0x12, 0x03, 0x55, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, + 0x12, 0x03, 0x56, 0x02, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, + 0x56, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x56, 0x09, + 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x56, 0x17, 0x18, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x56, 0x19, 0x41, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x56, 0x1a, 0x40, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x57, 0x02, 0x68, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x57, 0x02, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x01, 0x01, 0x12, 0x03, 0x57, 0x30, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x57, 0x3d, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, + 0x57, 0x3f, 0x67, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x57, 0x40, 0x66, 0x0a, 0xb9, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x5c, + 0x02, 0x1d, 0x1a, 0xab, 0x01, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, + 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x65, 0x64, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, + 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x72, 0x75, 0x6e, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, - 0x75, 0x6e, 0x20, 0x2f, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x5b, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5b, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x03, 0x12, 0x03, 0x5b, 0x1b, 0x1c, 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, - 0x03, 0x5d, 0x02, 0x3f, 0x1a, 0x4a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x58, 0x50, 0x52, 0x45, - 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x43, 0x55, - 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x04, 0x12, 0x03, 0x5d, 0x02, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, 0x03, 0x5d, 0x0b, 0x35, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5d, 0x36, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x03, 0x03, 0x12, 0x03, 0x5d, 0x3d, 0x3e, 0x0a, 0xea, 0x02, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x04, 0x12, 0x03, 0x64, 0x02, 0x25, 0x1a, 0xdc, 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, - 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x63, - 0x72, 0x6f, 0x73, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x62, - 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x20, - 0x72, 0x75, 0x6e, 0x2c, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, - 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x20, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, - 0x6c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, - 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x0a, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x04, 0x12, 0x03, - 0x64, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x05, 0x12, 0x03, 0x64, 0x0b, - 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x03, 0x64, 0x10, 0x20, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x64, 0x23, 0x24, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x04, 0x12, 0x04, 0x67, 0x00, 0x7c, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, - 0x12, 0x03, 0x67, 0x08, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x68, - 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x68, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x68, 0x09, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x68, 0x1b, 0x1c, 0x0a, 0x8b, 0x05, 0x0a, - 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x7b, 0x02, 0x51, 0x1a, 0xfd, 0x04, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, - 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x0a, - 0x20, 0x42, 0x65, 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x65, - 0x61, 0x63, 0x68, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2e, 0x0a, - 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x69, 0x66, - 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, - 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, - 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6e, 0x20, - 0x69, 0x73, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, - 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3a, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x46, 0x6c, - 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x5c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5c, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x5c, 0x1b, 0x1c, 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, + 0x12, 0x03, 0x5e, 0x02, 0x3f, 0x1a, 0x4a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2e, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x45, 0x58, 0x50, 0x52, + 0x45, 0x53, 0x53, 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x43, 0x41, 0x4c, 0x43, + 0x55, 0x4c, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x53, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x04, 0x12, 0x03, 0x5e, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, 0x03, 0x5e, 0x0b, 0x35, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5e, 0x36, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5e, 0x3d, 0x3e, 0x0a, 0xea, 0x02, 0x0a, 0x04, 0x04, 0x03, + 0x02, 0x04, 0x12, 0x03, 0x65, 0x02, 0x25, 0x1a, 0xdc, 0x02, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x66, + 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, + 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, + 0x75, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x63, 0x6f, 0x6d, + 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x6f, 0x75, 0x74, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x0a, 0x20, 0x6f, 0x72, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x20, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x66, + 0x75, 0x6c, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x65, 0x65, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x0a, + 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x62, 0x79, + 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x04, 0x12, + 0x03, 0x65, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x05, 0x12, 0x03, 0x65, + 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x03, 0x65, 0x10, 0x20, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x03, 0x65, 0x23, 0x24, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x68, 0x00, 0x7d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, + 0x01, 0x12, 0x03, 0x68, 0x08, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, + 0x69, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x69, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x69, 0x09, 0x18, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x69, 0x1b, 0x1c, 0x0a, 0x8b, 0x05, + 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x7c, 0x02, 0x51, 0x1a, 0xfd, 0x04, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x64, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2e, + 0x0a, 0x20, 0x42, 0x65, 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x65, 0x61, 0x63, 0x68, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x2e, + 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x2c, 0x20, 0x69, + 0x66, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x51, 0x75, 0x65, 0x72, 0x79, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, + 0x72, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x0a, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x20, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x64, + 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x69, 0x73, 0x0a, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, + 0x20, 0x61, 0x20, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x0a, 0x20, 0x50, 0x6f, 0x73, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x3a, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x32, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, + 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, - 0x32, 0x2e, 0x42, 0x69, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x33, - 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, - 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, - 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x79, - 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x7b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, - 0x06, 0x12, 0x03, 0x7b, 0x0b, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x7b, 0x1f, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x7b, - 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x7b, 0x28, 0x50, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x29, - 0x4f, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x05, 0x7e, 0x00, 0xa0, 0x01, 0x01, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x7e, 0x08, 0x10, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x00, 0x12, 0x03, 0x7f, 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, - 0x12, 0x03, 0x7f, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x7f, 0x26, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7f, 0x32, - 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7f, 0x34, 0x5c, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7f, 0x35, 0x5b, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0x80, 0x01, 0x02, 0x41, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0x80, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0x80, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0x80, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0x80, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x01, 0x19, 0x3f, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x05, 0x03, 0x00, 0x12, 0x06, 0x82, 0x01, 0x02, 0x85, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x03, 0x00, 0x01, 0x12, 0x04, 0x82, 0x01, 0x0a, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, - 0x05, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0x83, 0x01, 0x04, 0x41, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x05, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x83, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, 0x0b, 0x13, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x01, 0x16, 0x17, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0x83, 0x01, 0x18, 0x40, 0x0a, - 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, - 0x01, 0x19, 0x3f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0x84, - 0x01, 0x04, 0x3d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x84, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x04, 0x84, 0x01, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x03, - 0x12, 0x04, 0x84, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, - 0x08, 0x12, 0x04, 0x84, 0x01, 0x14, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x00, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x01, 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x05, 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x02, 0x06, 0x12, 0x04, 0x86, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, - 0x01, 0x12, 0x04, 0x86, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, - 0x12, 0x04, 0x86, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, - 0x04, 0x86, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x86, 0x01, 0x13, 0x39, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x03, 0x01, 0x12, - 0x06, 0x88, 0x01, 0x02, 0x8d, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x03, 0x01, 0x01, - 0x12, 0x04, 0x88, 0x01, 0x0a, 0x0d, 0x0a, 0xa6, 0x01, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x01, 0x02, - 0x00, 0x12, 0x04, 0x8b, 0x01, 0x04, 0x3f, 0x1a, 0x95, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x73, - 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x29, 0x2e, 0x0a, 0x20, 0x4e, 0x6f, - 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, - 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, - 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x04, 0x0a, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x0b, - 0x11, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, - 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8b, - 0x01, 0x16, 0x3e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x8b, 0x01, 0x17, 0x3d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x01, 0x02, - 0x01, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x3d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, - 0x01, 0x05, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, - 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, - 0x03, 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x14, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x05, 0x03, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x15, 0x3b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x03, 0x04, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0x8e, 0x01, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x0f, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x03, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x15, 0x16, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x03, - 0x02, 0x12, 0x06, 0x90, 0x01, 0x02, 0x9e, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x03, - 0x02, 0x01, 0x12, 0x04, 0x90, 0x01, 0x0a, 0x11, 0x0a, 0xa9, 0x01, 0x0a, 0x06, 0x04, 0x05, 0x03, - 0x02, 0x02, 0x00, 0x12, 0x04, 0x93, 0x01, 0x04, 0x43, 0x1a, 0x98, 0x01, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, - 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, - 0x64, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x71, 0x75, - 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6b, - 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x05, 0x12, - 0x04, 0x93, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x93, 0x01, 0x0b, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x93, 0x01, 0x18, 0x19, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x93, 0x01, 0x1a, 0x42, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x02, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x01, 0x1b, 0x41, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x94, 0x01, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0x94, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x01, 0x0b, 0x0f, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x94, 0x01, 0x12, 0x13, 0x0a, - 0x10, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x12, 0x06, 0x96, 0x01, 0x04, 0x99, 0x01, - 0x05, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x01, 0x12, 0x04, 0x96, 0x01, - 0x0c, 0x10, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, - 0x97, 0x01, 0x06, 0x3f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x97, 0x01, 0x06, 0x0c, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x97, 0x01, 0x0d, 0x11, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, - 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0x97, 0x01, 0x14, 0x15, 0x0a, 0x11, 0x0a, - 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0x97, 0x01, 0x16, 0x3e, - 0x0a, 0x14, 0x0a, 0x0c, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x97, 0x01, 0x17, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, - 0x02, 0x01, 0x12, 0x04, 0x98, 0x01, 0x06, 0x4b, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, - 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x98, 0x01, 0x06, 0x0c, 0x0a, 0x11, 0x0a, 0x09, 0x04, - 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, 0x0d, 0x1d, 0x0a, 0x11, - 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x01, 0x20, - 0x21, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x98, 0x01, 0x22, 0x4a, 0x0a, 0x14, 0x0a, 0x0c, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x01, 0x23, 0x49, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, - 0x03, 0x02, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x04, 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, - 0x03, 0x02, 0x02, 0x02, 0x06, 0x12, 0x04, 0x9a, 0x01, 0x04, 0x08, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x05, 0x03, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x09, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x05, 0x03, 0x02, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x01, 0x10, 0x11, 0x0a, 0x0e, 0x0a, - 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x04, 0x40, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x04, 0x12, 0x04, 0x9c, 0x01, 0x04, 0x0c, 0x0a, 0x0f, - 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x0d, 0x30, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x31, 0x3b, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x3e, - 0x3f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x04, 0x12, 0x04, 0x9d, 0x01, 0x04, - 0x4f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x04, 0x04, 0x12, 0x04, 0x9d, 0x01, - 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x9d, - 0x01, 0x0d, 0x37, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, - 0x9d, 0x01, 0x38, 0x4a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x04, 0x03, 0x12, - 0x04, 0x9d, 0x01, 0x4d, 0x4e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0x9f, - 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x04, 0x12, 0x04, 0x9f, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0x9f, 0x01, 0x0b, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x13, 0x1a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x1d, 0x1e, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xa2, 0x01, 0x00, 0xa5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, - 0x02, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xa3, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xa3, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xa3, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xa3, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, - 0xa4, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa4, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa4, 0x01, - 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x11, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa4, 0x01, 0x13, 0x3b, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x01, - 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xa7, 0x01, 0x00, 0xaa, 0x01, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x08, 0x14, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xa8, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xa8, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa8, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, - 0x01, 0x12, 0x04, 0xa9, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, - 0x12, 0x04, 0xa9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, - 0x04, 0xa9, 0x01, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xa9, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa9, - 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa9, 0x01, - 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xa9, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xac, 0x01, 0x00, 0xaf, - 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xac, 0x01, 0x08, 0x13, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xad, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xad, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xad, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xad, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x08, 0x02, 0x01, 0x12, 0x04, 0xae, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xae, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xae, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xae, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xae, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xae, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xb1, - 0x01, 0x00, 0xb4, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xb1, 0x01, - 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x41, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x0b, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb2, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x19, 0x3f, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x01, 0x04, 0x12, 0x04, 0xb3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb3, 0x01, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xb3, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x08, 0x12, 0x04, 0xb3, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb3, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, - 0x06, 0xb6, 0x01, 0x00, 0xb9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, - 0xb6, 0x01, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xb7, 0x01, - 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb7, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb7, 0x01, 0x1c, 0x25, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb7, 0x01, 0x28, 0x29, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb7, 0x01, 0x2a, 0x52, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb7, 0x01, 0x2b, 0x51, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x3c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb8, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb8, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x0b, 0x12, 0x06, 0xbb, 0x01, 0x00, 0xbe, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, - 0x01, 0x12, 0x04, 0xbb, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, - 0x04, 0xbc, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xbc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbc, - 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbc, 0x01, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbc, 0x01, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, - 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x02, - 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x06, 0x12, 0x04, 0xbd, 0x01, 0x0b, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x15, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbd, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbd, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x01, 0x21, 0x47, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xc0, 0x01, 0x00, 0xc3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0c, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, - 0x00, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xc1, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xc1, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xc1, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc1, - 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xc1, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0xc2, - 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc2, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x09, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x11, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc2, 0x01, 0x13, 0x3b, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x14, - 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xc5, 0x01, 0x00, 0xc8, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xc6, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xc6, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, - 0x12, 0x04, 0xc7, 0x01, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x04, 0x12, - 0x04, 0xc7, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, - 0xc7, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc7, - 0x01, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc7, 0x01, - 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc7, 0x01, 0x24, - 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, - 0x01, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xca, 0x01, 0x00, 0xcd, 0x01, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xca, 0x01, 0x08, 0x16, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xcb, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, - 0x02, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, - 0x04, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xcc, 0x01, 0x0b, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xcc, 0x01, 0x21, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xcc, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcc, - 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xcc, 0x01, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xcf, 0x01, 0x00, - 0xd2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x08, 0x11, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x53, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x07, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xd1, 0x01, 0x0f, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, - 0x12, 0x04, 0xd1, 0x01, 0x11, 0x39, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x12, 0x38, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, - 0xd4, 0x01, 0x00, 0xd7, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd4, - 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xd5, 0x01, 0x02, - 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x0b, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd5, 0x01, 0x16, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd5, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd5, 0x01, 0x19, 0x3f, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x01, 0x04, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd6, 0x01, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x15, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xd6, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x11, - 0x12, 0x06, 0xd9, 0x01, 0x00, 0xdc, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, - 0x04, 0xd9, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xda, - 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xda, 0x01, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xda, 0x01, 0x1c, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xda, 0x01, 0x28, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xda, 0x01, 0x2a, 0x52, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x01, 0x2b, - 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x3b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x07, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdb, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x04, 0xdb, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x11, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdb, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x12, 0x12, 0x06, 0xde, 0x01, 0x00, 0xe1, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x12, 0x01, 0x12, 0x04, 0xde, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, - 0x12, 0x04, 0xdf, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xdf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xdf, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdf, - 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdf, 0x01, - 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xdf, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xe0, 0x01, - 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x04, 0x12, 0x04, 0xe0, 0x01, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x06, 0x12, 0x04, 0xe0, 0x01, 0x0b, 0x15, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x16, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x1f, 0x20, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe0, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x22, 0x48, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xe3, 0x01, 0x00, 0xe6, 0x01, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, - 0x02, 0x00, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xe4, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xe4, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xe4, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xe4, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xe4, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, - 0xe5, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe5, - 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe5, 0x01, - 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x10, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe5, 0x01, 0x12, 0x3a, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x01, - 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xe8, 0x01, 0x00, 0xeb, 0x01, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xe8, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xe9, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xe9, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, - 0x01, 0x12, 0x04, 0xea, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x04, - 0x12, 0x04, 0xea, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x06, 0x12, - 0x04, 0xea, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xea, 0x01, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xea, - 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0xea, 0x01, - 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xea, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xed, 0x01, 0x00, 0xf0, - 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xed, 0x01, 0x08, 0x13, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xee, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xee, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x15, 0x02, 0x01, 0x12, 0x04, 0xef, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xef, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xef, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xef, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xef, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xef, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xf2, - 0x01, 0x00, 0xf5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xf2, 0x01, - 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x41, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x01, 0x0b, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf3, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf3, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf3, 0x01, 0x19, 0x3f, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x16, 0x02, 0x01, 0x04, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x16, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf4, 0x01, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, - 0x08, 0x12, 0x04, 0xf4, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf4, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x17, 0x12, - 0x06, 0xf7, 0x01, 0x00, 0xfa, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, - 0xf7, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x01, - 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x1c, 0x25, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x01, 0x28, 0x29, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf8, 0x01, 0x2a, 0x52, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x01, 0x2b, 0x51, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x3b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf9, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf9, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf9, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf9, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x18, 0x12, 0x06, 0xfc, 0x01, 0x00, 0xff, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, - 0x01, 0x12, 0x04, 0xfc, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, - 0x04, 0xfd, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xfd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfd, - 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x01, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfd, 0x01, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, - 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x02, - 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x04, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x16, 0x1c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfe, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x22, 0x48, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0x81, 0x02, 0x00, 0x84, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x19, 0x01, 0x12, 0x04, 0x81, 0x02, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, - 0x00, 0x12, 0x04, 0x82, 0x02, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, - 0x12, 0x04, 0x82, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x82, 0x02, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x82, 0x02, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x08, 0x12, 0x04, 0x82, - 0x02, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x82, 0x02, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x01, 0x12, 0x04, 0x83, - 0x02, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x05, 0x12, 0x04, 0x83, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x01, 0x12, 0x04, 0x83, 0x02, 0x09, - 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x03, 0x12, 0x04, 0x83, 0x02, 0x11, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x08, 0x12, 0x04, 0x83, 0x02, 0x13, 0x3b, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x02, 0x14, - 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0x86, 0x02, 0x00, 0x89, 0x02, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0x86, 0x02, 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x1a, 0x02, 0x00, 0x12, 0x04, 0x87, 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x87, 0x02, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x87, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x08, - 0x12, 0x04, 0x87, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x87, 0x02, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x01, - 0x12, 0x04, 0x88, 0x02, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x04, 0x12, - 0x04, 0x88, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x06, 0x12, 0x04, - 0x88, 0x02, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x88, - 0x02, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x03, 0x12, 0x04, 0x88, 0x02, - 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, 0x08, 0x12, 0x04, 0x88, 0x02, 0x22, - 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, - 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x06, 0x8e, 0x02, 0x00, 0x91, 0x02, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x08, 0x12, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, 0x04, 0x8f, 0x02, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1b, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8f, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8f, 0x02, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x8f, 0x02, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x8f, 0x02, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x02, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, - 0x02, 0x01, 0x12, 0x04, 0x90, 0x02, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x90, 0x02, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x90, 0x02, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x90, 0x02, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x90, 0x02, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x90, 0x02, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x06, 0x93, 0x02, - 0x00, 0x96, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, 0x93, 0x02, 0x08, - 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x00, 0x12, 0x04, 0x94, 0x02, 0x02, 0x41, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, 0x02, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x02, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x1c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x02, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x1c, 0x02, 0x01, 0x12, 0x04, 0x95, 0x02, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1c, 0x02, 0x01, 0x04, 0x12, 0x04, 0x95, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, - 0x02, 0x01, 0x06, 0x12, 0x04, 0x95, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x95, 0x02, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x95, 0x02, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x08, - 0x12, 0x04, 0x95, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x95, 0x02, 0x22, 0x48, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x32, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, + 0x32, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, + 0x20, 0x20, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x01, 0x04, 0x12, 0x03, 0x7c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x01, 0x06, 0x12, 0x03, 0x7c, 0x0b, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x7c, 0x1f, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, + 0x7c, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x7c, 0x28, + 0x50, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, + 0x29, 0x4f, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x05, 0x7f, 0x00, 0xa1, 0x01, 0x01, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x7f, 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x00, 0x12, 0x04, 0x80, 0x01, 0x02, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x00, 0x06, 0x12, 0x04, 0x80, 0x01, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x80, 0x01, 0x26, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x80, 0x01, 0x32, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x80, 0x01, 0x34, 0x5c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x80, 0x01, 0x35, 0x5b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, + 0x04, 0x81, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, + 0x81, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0x81, + 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0x81, 0x01, + 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0x81, 0x01, 0x18, + 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, + 0x01, 0x19, 0x3f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x03, 0x00, 0x12, 0x06, 0x83, 0x01, 0x02, + 0x86, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x03, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, + 0x0a, 0x0f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0x84, 0x01, + 0x04, 0x41, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x84, + 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x84, 0x01, 0x0b, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x04, 0x84, 0x01, 0x16, 0x17, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x84, 0x01, 0x18, 0x40, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x00, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x01, 0x19, 0x3f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, + 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0x85, 0x01, 0x04, 0x3d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, + 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x85, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x05, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x01, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, 0x85, 0x01, 0x14, 0x3c, 0x0a, 0x12, + 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x01, + 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0x87, 0x01, 0x02, 0x3b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0x87, 0x01, 0x02, 0x07, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0x87, 0x01, 0x08, 0x0d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0x87, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0x87, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x01, 0x13, 0x39, 0x0a, 0x0e, + 0x0a, 0x04, 0x04, 0x05, 0x03, 0x01, 0x12, 0x06, 0x89, 0x01, 0x02, 0x8e, 0x01, 0x03, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x03, 0x01, 0x01, 0x12, 0x04, 0x89, 0x01, 0x0a, 0x0d, 0x0a, 0xa6, 0x01, + 0x0a, 0x06, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x3f, 0x1a, 0x95, + 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x73, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x69, 0x66, 0x20, 0x61, 0x6e, + 0x79, 0x29, 0x2e, 0x0a, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x61, 0x73, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x71, + 0x75, 0x65, 0x72, 0x79, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x00, + 0x05, 0x12, 0x04, 0x8c, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x0b, 0x11, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, + 0x02, 0x00, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, + 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x16, 0x3e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, + 0x03, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x17, 0x3d, 0x0a, 0x0e, + 0x0a, 0x06, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x04, 0x3d, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8d, 0x01, 0x04, 0x0a, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x0b, 0x0f, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8d, 0x01, 0x12, + 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8d, 0x01, + 0x14, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0x8d, 0x01, 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, + 0x8f, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x04, 0x12, 0x04, 0x8f, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0x8f, 0x01, + 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x0f, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0x8f, 0x01, 0x15, 0x16, + 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x03, 0x02, 0x12, 0x06, 0x91, 0x01, 0x02, 0x9f, 0x01, 0x03, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x03, 0x02, 0x01, 0x12, 0x04, 0x91, 0x01, 0x0a, 0x11, 0x0a, + 0xa9, 0x01, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x12, 0x04, 0x94, 0x01, 0x04, 0x43, + 0x1a, 0x98, 0x01, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, + 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x20, 0x46, 0x6f, + 0x72, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x71, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x05, 0x03, 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, 0x94, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, + 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, 0x0b, 0x15, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x01, 0x18, 0x19, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x01, 0x1a, 0x42, 0x0a, + 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, + 0x01, 0x1b, 0x41, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, + 0x01, 0x04, 0x14, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, + 0x95, 0x01, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x01, 0x12, + 0x04, 0x95, 0x01, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x01, 0x03, + 0x12, 0x04, 0x95, 0x01, 0x12, 0x13, 0x0a, 0x10, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, + 0x12, 0x06, 0x97, 0x01, 0x04, 0x9a, 0x01, 0x05, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, + 0x03, 0x00, 0x01, 0x12, 0x04, 0x97, 0x01, 0x0c, 0x10, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x03, + 0x02, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0x98, 0x01, 0x06, 0x3f, 0x0a, 0x11, 0x0a, 0x09, 0x04, + 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x98, 0x01, 0x06, 0x0c, 0x0a, 0x11, + 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x98, 0x01, 0x0d, + 0x11, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x98, 0x01, 0x14, 0x15, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x98, 0x01, 0x16, 0x3e, 0x0a, 0x14, 0x0a, 0x0c, 0x04, 0x05, 0x03, 0x02, 0x03, + 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x01, 0x17, 0x3d, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0x99, 0x01, 0x06, 0x4b, 0x0a, + 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x99, 0x01, + 0x06, 0x0c, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x04, 0x99, 0x01, 0x0d, 0x1d, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, + 0x01, 0x03, 0x12, 0x04, 0x99, 0x01, 0x20, 0x21, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x03, 0x02, + 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, 0x99, 0x01, 0x22, 0x4a, 0x0a, 0x14, 0x0a, 0x0c, 0x04, + 0x05, 0x03, 0x02, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x99, 0x01, 0x23, + 0x49, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x04, + 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x02, 0x06, 0x12, 0x04, 0x9b, 0x01, + 0x04, 0x08, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9b, + 0x01, 0x09, 0x0d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x02, 0x03, 0x12, 0x04, + 0x9b, 0x01, 0x10, 0x11, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, + 0x9d, 0x01, 0x04, 0x40, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x04, 0x12, + 0x04, 0x9d, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, 0x06, + 0x12, 0x04, 0x9d, 0x01, 0x0d, 0x30, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, 0x03, + 0x01, 0x12, 0x04, 0x9d, 0x01, 0x31, 0x3b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, 0x02, + 0x03, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x3e, 0x3f, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x05, 0x03, 0x02, + 0x02, 0x04, 0x12, 0x04, 0x9e, 0x01, 0x04, 0x4f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, 0x02, + 0x02, 0x04, 0x04, 0x12, 0x04, 0x9e, 0x01, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, 0x03, + 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0x9e, 0x01, 0x0d, 0x37, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x05, + 0x03, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9e, 0x01, 0x38, 0x4a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, + 0x05, 0x03, 0x02, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9e, 0x01, 0x4d, 0x4e, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x04, 0x04, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x04, 0x06, 0x12, 0x04, 0xa0, 0x01, 0x0b, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, + 0x01, 0x12, 0x04, 0xa0, 0x01, 0x13, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, + 0x12, 0x04, 0xa0, 0x01, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xa3, 0x01, + 0x00, 0xa6, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x08, + 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x53, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa4, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xa5, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xa5, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, + 0x06, 0xa8, 0x01, 0x00, 0xab, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, + 0xa8, 0x01, 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xa9, 0x01, + 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa9, 0x01, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x0b, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x16, 0x17, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa9, 0x01, 0x18, 0x40, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x01, 0x19, 0x3f, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x4b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x04, 0xaa, 0x01, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xaa, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x08, 0x12, 0x06, 0xad, 0x01, 0x00, 0xb0, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, + 0x12, 0x04, 0xad, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, + 0xae, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xae, + 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xae, 0x01, + 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xae, 0x01, 0x28, + 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xae, 0x01, 0x2a, 0x52, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xae, 0x01, + 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x3c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x09, 0x0e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xaf, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x01, 0x14, 0x3a, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xb2, 0x01, 0x00, 0xb5, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x09, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x00, 0x12, 0x04, 0xb3, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xb3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xb3, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xb3, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb3, + 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xb3, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xb4, + 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x04, 0x12, 0x04, 0xb4, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb4, 0x01, 0x0b, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb4, 0x01, 0x17, 0x1d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb4, 0x01, 0x20, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb4, 0x01, 0x22, 0x4a, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb4, 0x01, 0x23, 0x49, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xb7, 0x01, 0x00, 0xba, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xb7, 0x01, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x0a, 0x02, 0x00, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x00, 0x06, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xb8, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xb8, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xb8, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xb8, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, + 0x04, 0xb9, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xb9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb9, + 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb9, 0x01, + 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb9, 0x01, 0x13, + 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, + 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xbc, 0x01, 0x00, 0xbf, 0x01, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x08, 0x12, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xbd, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xbd, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, + 0x02, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, + 0x04, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xbe, 0x01, 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xbe, 0x01, 0x15, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xbe, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbe, + 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xbe, 0x01, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xc1, 0x01, 0x00, + 0xc4, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x08, 0x15, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x53, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc2, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, + 0x02, 0x01, 0x05, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xc3, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x08, + 0x12, 0x04, 0xc3, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xc3, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, + 0xc6, 0x01, 0x00, 0xc9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xc6, + 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x02, + 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x09, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x10, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc7, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x13, 0x39, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x01, 0x04, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc8, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x19, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0e, + 0x12, 0x06, 0xcb, 0x01, 0x00, 0xce, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, + 0x04, 0xcb, 0x01, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xcc, + 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcc, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x0b, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcc, 0x01, 0x16, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcc, 0x01, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x19, + 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x55, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x04, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xcd, 0x01, 0x0b, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x21, 0x27, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcd, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcd, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcd, 0x01, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x0f, 0x12, 0x06, 0xd0, 0x01, 0x00, 0xd3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, + 0x01, 0x12, 0x04, 0xd0, 0x01, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, + 0x04, 0xd1, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xd1, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, + 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, + 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd1, 0x01, 0x2a, + 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, + 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x02, + 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x06, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x07, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd2, 0x01, 0x0f, 0x10, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd2, 0x01, 0x11, 0x39, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd2, 0x01, 0x12, 0x38, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xd5, 0x01, 0x00, 0xd8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, + 0x02, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xd6, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xd6, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xd6, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xd6, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, + 0xd7, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x04, 0x12, 0x04, 0xd7, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd7, 0x01, + 0x0b, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x15, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x1e, 0x1f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd7, 0x01, 0x20, 0x48, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd7, 0x01, 0x21, + 0x47, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xda, 0x01, 0x00, 0xdd, 0x01, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xda, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xdb, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xdb, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xdb, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, + 0x12, 0x04, 0xdc, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x05, 0x12, + 0x04, 0xdc, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xdc, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdc, + 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x04, 0xdc, 0x01, + 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xdc, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xdf, 0x01, 0x00, 0xe2, + 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x08, 0x13, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xe0, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x12, 0x02, 0x01, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x01, 0x04, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, + 0x06, 0x12, 0x04, 0xe1, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xe1, 0x01, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, + 0x04, 0xe1, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, + 0xe1, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe1, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xe4, 0x01, + 0x00, 0xe7, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xe4, 0x01, 0x08, + 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x53, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe5, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xe6, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, + 0x06, 0xe9, 0x01, 0x00, 0xec, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, + 0xe9, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0xea, 0x01, + 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x06, 0x12, 0x04, 0xea, 0x01, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0xea, 0x01, 0x0b, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0xea, 0x01, 0x16, 0x17, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xea, 0x01, 0x18, 0x40, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x19, 0x3f, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x4a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x04, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x01, 0x06, 0x12, 0x04, 0xeb, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xeb, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x15, 0x12, 0x06, 0xee, 0x01, 0x00, 0xf1, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, + 0x12, 0x04, 0xee, 0x01, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, + 0xef, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, 0x12, 0x04, 0xef, + 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0xef, 0x01, + 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0xef, 0x01, 0x28, + 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xef, 0x01, 0x2a, 0x52, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xef, 0x01, + 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x3c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf0, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x09, 0x0e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf0, 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf0, 0x01, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x01, 0x14, 0x3a, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xf3, 0x01, 0x00, 0xf6, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x16, 0x01, 0x12, 0x04, 0xf3, 0x01, 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, + 0x00, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xf4, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xf4, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xf4, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf4, + 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xf4, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x01, 0x12, 0x04, 0xf5, + 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x04, 0x12, 0x04, 0xf5, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf5, 0x01, 0x0b, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x17, 0x1d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x20, 0x21, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf5, 0x01, 0x22, 0x4a, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x16, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x01, 0x23, 0x49, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xf8, 0x01, 0x00, 0xfb, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x17, 0x02, 0x00, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, + 0x00, 0x06, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xf9, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xf9, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xf9, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xf9, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, + 0x04, 0xfa, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xfa, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, + 0x01, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x01, + 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfa, 0x01, 0x12, + 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfa, + 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0xfd, 0x01, 0x00, 0x80, 0x02, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x08, 0x13, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xfe, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, + 0x02, 0x01, 0x12, 0x04, 0xff, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, + 0x04, 0x12, 0x04, 0xff, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xff, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xff, 0x01, 0x16, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xff, 0x01, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, 0xff, + 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xff, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0x82, 0x02, 0x00, + 0x85, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0x82, 0x02, 0x08, 0x13, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x04, 0x83, 0x02, 0x02, 0x53, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, 0x12, 0x04, 0x83, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x02, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x02, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x19, 0x02, 0x00, 0x08, 0x12, 0x04, 0x83, 0x02, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x02, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x19, 0x02, 0x01, 0x12, 0x04, 0x84, 0x02, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, + 0x02, 0x01, 0x05, 0x12, 0x04, 0x84, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, + 0x01, 0x01, 0x12, 0x04, 0x84, 0x02, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, + 0x03, 0x12, 0x04, 0x84, 0x02, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x08, + 0x12, 0x04, 0x84, 0x02, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x84, 0x02, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, + 0x87, 0x02, 0x00, 0x8a, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0x87, + 0x02, 0x08, 0x14, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x00, 0x12, 0x04, 0x88, 0x02, 0x02, + 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x06, 0x12, 0x04, 0x88, 0x02, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x88, 0x02, 0x0b, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x88, 0x02, 0x16, 0x17, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x88, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, 0x02, 0x19, 0x3f, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x01, 0x12, 0x04, 0x89, 0x02, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1a, 0x02, 0x01, 0x04, 0x12, 0x04, 0x89, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1a, 0x02, 0x01, 0x06, 0x12, 0x04, 0x89, 0x02, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x89, 0x02, 0x17, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, + 0x02, 0x01, 0x03, 0x12, 0x04, 0x89, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, + 0x01, 0x08, 0x12, 0x04, 0x89, 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1b, + 0x12, 0x06, 0x8f, 0x02, 0x00, 0x92, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, + 0x04, 0x8f, 0x02, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, 0x04, 0x90, + 0x02, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x06, 0x12, 0x04, 0x90, 0x02, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x02, 0x1c, + 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x02, 0x28, 0x29, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x02, 0x2a, 0x52, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x02, 0x2b, + 0x51, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x04, 0x91, 0x02, 0x02, 0x3b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x05, 0x12, 0x04, 0x91, 0x02, 0x02, 0x07, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0x91, 0x02, 0x08, 0x0d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0x91, 0x02, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, 0x91, 0x02, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x1b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x02, 0x13, 0x39, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x1c, 0x12, 0x06, 0x94, 0x02, 0x00, 0x97, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x1c, 0x01, 0x12, 0x04, 0x94, 0x02, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x00, + 0x12, 0x04, 0x95, 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x06, 0x12, + 0x04, 0x95, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x95, 0x02, 0x0b, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x95, + 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x95, 0x02, + 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x95, 0x02, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x01, 0x12, 0x04, 0x96, 0x02, + 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x04, 0x12, 0x04, 0x96, 0x02, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x06, 0x12, 0x04, 0x96, 0x02, 0x0b, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x01, 0x12, 0x04, 0x96, 0x02, 0x16, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x96, 0x02, 0x1f, 0x20, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x12, 0x04, 0x96, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x96, 0x02, 0x22, 0x48, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.data.v2.tonic.rs"); include!("sift.data.v2.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.rs b/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.rs index 00850a27a..cb7646750 100644 --- a/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.rs +++ b/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.rs @@ -12,6 +12,8 @@ pub struct CreateDataImportFromUrlRequest { pub tdms_config: ::core::option::Option, #[prost(message, optional, tag="5")] pub parquet_config: ::core::option::Option, + #[prost(message, optional, tag="6")] + pub hdf5_config: ::core::option::Option, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateDataImportFromUrlResponse { @@ -38,6 +40,8 @@ pub struct CreateDataImportFromUploadRequest { pub tdms_config: ::core::option::Option, #[prost(message, optional, tag="5")] pub parquet_config: ::core::option::Option, + #[prost(message, optional, tag="6")] + pub hdf5_config: ::core::option::Option, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct CreateDataImportFromUploadResponse { @@ -85,6 +89,8 @@ pub struct DetectConfigResponse { pub csv_config: ::core::option::Option, #[prost(message, optional, tag="2")] pub parquet_config: ::core::option::Option, + #[prost(message, optional, tag="3")] + pub hdf5_config: ::core::option::Option, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct Ch10Config { @@ -125,12 +131,52 @@ pub struct ParquetDataColumn { pub channel_config: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParquetColumn { + #[prost(string, tag="1")] + pub path: ::prost::alloc::string::String, + #[prost(message, optional, tag="2")] + pub column_config: ::core::option::Option, +} +#[derive(Clone, PartialEq, ::prost::Message)] pub struct ParquetFlatDatasetConfig { #[prost(message, optional, tag="1")] pub time_column: ::core::option::Option, #[prost(message, repeated, tag="2")] pub data_columns: ::prost::alloc::vec::Vec, } +#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] +pub struct ParquetSingleChannelPerRowMultiChannelConfig { + #[prost(string, tag="1")] + pub name_path: ::prost::alloc::string::String, + #[prost(string, tag="2")] + pub data_path: ::prost::alloc::string::String, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParquetSingleChannelPerRowSingleChannelConfig { + #[prost(string, tag="1")] + pub data_path: ::prost::alloc::string::String, + #[prost(message, optional, tag="2")] + pub channel: ::core::option::Option, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ParquetSingleChannelPerRowConfig { + #[prost(message, optional, tag="1")] + pub time_column: ::core::option::Option, + #[prost(message, repeated, tag="2")] + pub columns: ::prost::alloc::vec::Vec, + #[prost(oneof="parquet_single_channel_per_row_config::Config", tags="3, 4")] + pub config: ::core::option::Option, +} +/// Nested message and enum types in `ParquetSingleChannelPerRowConfig`. +pub mod parquet_single_channel_per_row_config { + #[derive(Clone, PartialEq, ::prost::Oneof)] + pub enum Config { + #[prost(message, tag="3")] + SingleChannel(super::ParquetSingleChannelPerRowSingleChannelConfig), + #[prost(message, tag="4")] + MultiChannel(super::ParquetSingleChannelPerRowMultiChannelConfig), + } +} #[derive(Clone, PartialEq, ::prost::Message)] pub struct ParquetConfig { #[prost(string, tag="1")] @@ -145,7 +191,7 @@ pub struct ParquetConfig { pub footer_length: u32, #[prost(enumeration="ParquetComplexTypesImportMode", tag="7")] pub complex_types_import_mode: i32, - #[prost(oneof="parquet_config::Config", tags="4")] + #[prost(oneof="parquet_config::Config", tags="4, 8")] pub config: ::core::option::Option, } /// Nested message and enum types in `ParquetConfig`. @@ -154,9 +200,43 @@ pub mod parquet_config { pub enum Config { #[prost(message, tag="4")] FlatDataset(super::ParquetFlatDatasetConfig), + #[prost(message, tag="8")] + SingleChannelPerRow(super::ParquetSingleChannelPerRowConfig), } } #[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdf5DataConfig { + #[prost(string, tag="1")] + pub time_dataset: ::prost::alloc::string::String, + #[prost(uint64, tag="2")] + pub time_index: u64, + #[prost(string, tag="3")] + pub value_dataset: ::prost::alloc::string::String, + #[prost(uint64, tag="4")] + pub value_index: u64, + #[prost(message, optional, tag="5")] + pub channel_config: ::core::option::Option, + #[prost(string, optional, tag="6")] + pub time_field: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag="7")] + pub value_field: ::core::option::Option<::prost::alloc::string::String>, +} +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Hdf5Config { + #[prost(string, tag="1")] + pub asset_name: ::prost::alloc::string::String, + #[prost(string, tag="2")] + pub run_name: ::prost::alloc::string::String, + #[prost(string, tag="3")] + pub run_id: ::prost::alloc::string::String, + #[prost(message, repeated, tag="4")] + pub data: ::prost::alloc::vec::Vec, + #[prost(enumeration="TimeFormat", tag="5")] + pub time_format: i32, + #[prost(message, optional, tag="6")] + pub relative_start_time: ::core::option::Option<::pbjson_types::Timestamp>, +} +#[derive(Clone, PartialEq, ::prost::Message)] pub struct DataImport { #[prost(string, tag="1")] pub data_import_id: ::prost::alloc::string::String, @@ -178,6 +258,8 @@ pub struct DataImport { pub tdms_config: ::core::option::Option, #[prost(message, optional, tag="16")] pub parquet_config: ::core::option::Option, + #[prost(message, optional, tag="17")] + pub hdf5_config: ::core::option::Option, #[prost(string, optional, tag="11")] pub run_id: ::core::option::Option<::prost::alloc::string::String>, #[prost(string, optional, tag="12")] @@ -282,6 +364,8 @@ pub enum DataTypeKey { Tdms = 2, Ch10 = 3, ParquetFlatdataset = 4, + ParquetSingleChannelPerRow = 5, + Hdf5 = 6, } impl DataTypeKey { /// String value of the enum field names used in the ProtoBuf definition. @@ -295,6 +379,8 @@ impl DataTypeKey { Self::Tdms => "DATA_TYPE_KEY_TDMS", Self::Ch10 => "DATA_TYPE_KEY_CH10", Self::ParquetFlatdataset => "DATA_TYPE_KEY_PARQUET_FLATDATASET", + Self::ParquetSingleChannelPerRow => "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW", + Self::Hdf5 => "DATA_TYPE_KEY_HDF5", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -305,6 +391,8 @@ impl DataTypeKey { "DATA_TYPE_KEY_TDMS" => Some(Self::Tdms), "DATA_TYPE_KEY_CH10" => Some(Self::Ch10), "DATA_TYPE_KEY_PARQUET_FLATDATASET" => Some(Self::ParquetFlatdataset), + "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW" => Some(Self::ParquetSingleChannelPerRow), + "DATA_TYPE_KEY_HDF5" => Some(Self::Hdf5), _ => None, } } @@ -381,7 +469,7 @@ impl DataImportStatus { } /// Encoded file descriptor set for the `sift.data_imports.v2` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xd3, 0x94, 0x01, 0x0a, 0x27, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x0a, 0x84, 0xb6, 0x01, 0x0a, 0x27, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, @@ -396,7 +484,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdd, 0x02, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x03, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, @@ -418,42 +506,51 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, - 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x47, 0x0a, - 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, - 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, - 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, - 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0xc9, 0x02, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, - 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, - 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, - 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, - 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, - 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, + 0x0b, 0x68, 0x64, 0x66, 0x35, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x47, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, + 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x41, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x64, 0x22, 0x5a, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x41, 0x0a, 0x0b, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x52, 0x0a, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x91, 0x03, + 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, + 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x30, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x44, 0x4d, + 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x64, + 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x71, + 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, + 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x68, 0x64, 0x66, + 0x35, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x75, 0x70, 0x6c, 0x6f, 0x61, @@ -509,7 +606,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x04, 0x74, - 0x79, 0x70, 0x65, 0x22, 0xa2, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, + 0x79, 0x70, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, @@ -519,251 +616,361 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, - 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x0a, 0x43, 0x68, 0x31, 0x30, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x0a, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4a, 0x0a, 0x13, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, 0x52, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, - 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, - 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x22, - 0xca, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x48, 0x00, 0x52, 0x11, - 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, - 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, - 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x72, 0x0a, 0x11, - 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, - 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 0x0a, - 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, - 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x74, 0x69, 0x6d, - 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, + 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x41, 0x0a, 0x0b, 0x68, 0x64, 0x66, 0x35, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, - 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, 0x75, - 0x6d, 0x6e, 0x73, 0x22, 0xf9, 0x02, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x0a, 0x68, 0x64, 0x66, 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0x69, 0x0a, 0x0a, 0x43, + 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x73, 0x63, 0x61, 0x6c, 0x65, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x22, 0xd9, 0x01, 0x0a, 0x0a, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x64, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, + 0x4a, 0x0a, 0x13, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x6f, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, + 0x69, 0x6d, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x48, 0x00, + 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x88, 0x01, 0x01, 0x12, 0x15, 0x0a, + 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, + 0x75, 0x6e, 0x49, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x22, 0xca, 0x01, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, + 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x38, 0x0a, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, - 0x66, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, - 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x04, 0x52, 0x0c, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, - 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0c, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4c, - 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x6e, 0x0a, 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x6f, - 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x16, 0x63, - 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, - 0xc4, 0x07, 0x0a, 0x0a, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x29, - 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, - 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, - 0x0d, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, - 0x63, 0x73, 0x76, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, - 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, - 0x68, 0x31, 0x30, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, - 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x06, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x48, + 0x00, 0x52, 0x11, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, + 0x72, 0x0a, 0x11, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x22, 0x6c, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x47, 0x0a, 0x0d, 0x63, 0x6f, 0x6c, 0x75, + 0x6d, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x0c, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x22, 0xb0, 0x01, 0x0a, 0x18, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, + 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, + 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, 0x74, 0x69, + 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x4a, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x4f, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x08, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x23, 0x0a, 0x08, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, - 0x4c, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x0e, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x0d, 0x64, 0x61, 0x74, - 0x61, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x4a, 0x0a, - 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x73, 0x22, 0x68, 0x0a, 0x2c, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, + 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, + 0x6f, 0x77, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x61, 0x74, + 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6e, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x74, + 0x68, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x74, 0x68, 0x22, 0x8a, + 0x01, 0x0a, 0x2d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x61, 0x74, 0x61, 0x50, 0x61, 0x74, 0x68, 0x12, 0x3c, 0x0a, + 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x52, 0x07, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x22, 0x8e, 0x03, 0x0a, 0x20, + 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, + 0x71, 0x75, 0x65, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x52, 0x0a, + 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x12, 0x3d, 0x0a, 0x07, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x52, 0x07, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x12, 0x6c, 0x0a, 0x0e, 0x73, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, + 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, + 0x52, 0x6f, 0x77, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0d, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x69, 0x0a, 0x0d, 0x6d, 0x75, 0x6c, 0x74, 0x69, + 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x42, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, + 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x48, 0x00, 0x52, 0x0c, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x43, 0x68, 0x61, 0x6e, 0x6e, + 0x65, 0x6c, 0x42, 0x08, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xe8, 0x03, 0x0a, + 0x0d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, + 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, + 0x53, 0x0a, 0x0c, 0x66, 0x6c, 0x61, 0x74, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, + 0x71, 0x75, 0x65, 0x74, 0x46, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x66, 0x6c, 0x61, 0x74, 0x44, 0x61, 0x74, + 0x61, 0x73, 0x65, 0x74, 0x12, 0x6d, 0x0a, 0x16, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x72, 0x6f, 0x77, 0x18, 0x08, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, + 0x75, 0x65, 0x74, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x50, 0x65, 0x72, 0x52, 0x6f, 0x77, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x13, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x50, 0x65, 0x72, + 0x52, 0x6f, 0x77, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x5f, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0c, 0x66, 0x6f, 0x6f, 0x74, + 0x65, 0x72, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x66, 0x6f, 0x6f, 0x74, + 0x65, 0x72, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x0c, 0x66, 0x6f, 0x6f, 0x74, 0x65, 0x72, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x6e, 0x0a, + 0x19, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, + 0x32, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x16, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x08, 0x0a, + 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xcc, 0x02, 0x0a, 0x0e, 0x48, 0x64, 0x66, 0x35, + 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x21, 0x0a, 0x0c, 0x74, 0x69, + 0x6d, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x04, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x49, 0x6e, 0x64, 0x65, 0x78, 0x12, 0x23, 0x0a, 0x0d, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x61, 0x74, 0x61, 0x73, 0x65, + 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x6e, 0x64, + 0x65, 0x78, 0x12, 0x49, 0x0a, 0x0e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, + 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x22, 0x0a, + 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x09, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, + 0x01, 0x12, 0x24, 0x0a, 0x0b, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xc3, 0x02, 0x0a, 0x0a, 0x48, 0x64, 0x66, 0x35, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x15, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, + 0x44, 0x61, 0x74, 0x61, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x41, 0x0a, 0x0b, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x52, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x5f, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 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, 0x48, 0x00, 0x52, 0x11, + 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x76, + 0x65, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x8c, 0x08, 0x0a, + 0x0a, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x55, 0x72, 0x6c, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x72, + 0x72, 0x6f, 0x72, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, + 0x07, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, - 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x72, 0x75, - 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, - 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x42, - 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x44, - 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, - 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x43, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, - 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x43, 0x0a, - 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, 0xf0, 0x03, - 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x12, 0x1b, 0x0a, 0x17, - 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x54, 0x49, 0x4d, - 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, - 0x45, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x01, 0x12, - 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, - 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, - 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x03, 0x12, 0x20, 0x0a, - 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, - 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x04, 0x12, - 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, - 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, - 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x48, 0x4f, 0x55, 0x52, 0x53, 0x10, - 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, - 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x52, 0x46, 0x43, 0x33, 0x33, 0x33, - 0x39, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, - 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x44, 0x41, 0x54, 0x45, - 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, - 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, - 0x4e, 0x49, 0x58, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0c, 0x12, 0x2a, 0x0a, - 0x26, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, - 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, - 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0d, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x49, 0x4d, - 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, - 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x43, 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, - 0x4e, 0x44, 0x53, 0x10, 0x0e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, - 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, - 0x49, 0x58, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0f, - 0x2a, 0x9e, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, 0x70, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x21, 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, - 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, - 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x44, 0x4d, 0x53, - 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x48, 0x31, 0x30, 0x10, 0x03, 0x12, 0x25, 0x0a, 0x21, 0x44, 0x41, - 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x51, - 0x55, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x44, 0x41, 0x54, 0x41, 0x53, 0x45, 0x54, 0x10, - 0x04, 0x2a, 0x8b, 0x02, 0x0a, 0x1d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, - 0x70, 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x35, 0x0a, 0x2d, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, - 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, - 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, - 0x49, 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x41, 0x52, 0x51, - 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4f, - 0x54, 0x48, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, - 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, - 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, - 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, + 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x43, 0x0a, 0x0a, 0x63, 0x73, 0x76, + 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x73, 0x76, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, + 0x0a, 0x0b, 0x63, 0x68, 0x31, 0x30, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, + 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x31, 0x30, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x63, 0x68, 0x31, 0x30, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x46, 0x0a, 0x0b, 0x74, 0x64, 0x6d, 0x73, 0x5f, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x54, 0x44, 0x4d, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0a, 0x74, 0x64, 0x6d, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, + 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, + 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x61, + 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x0d, 0x70, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x46, 0x0a, 0x0b, 0x68, 0x64, 0x66, 0x35, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x11, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, + 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x64, 0x66, 0x35, + 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x68, 0x64, 0x66, + 0x35, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1f, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, + 0x72, 0x75, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, + 0x23, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x0d, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x4c, 0x0a, 0x0f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, + 0x52, 0x0d, 0x64, 0x61, 0x74, 0x61, 0x53, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, + 0x01, 0x01, 0x12, 0x4a, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0f, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x04, 0x52, 0x0c, 0x64, + 0x61, 0x74, 0x61, 0x53, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x42, 0x12, 0x0a, 0x10, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x9b, 0x01, 0x0a, 0x16, + 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, + 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x0b, 0x64, + 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x22, 0x43, 0x0a, 0x16, 0x52, 0x65, 0x74, 0x72, 0x79, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x64, 0x61, 0x74, 0x61, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x49, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x52, 0x65, 0x74, 0x72, 0x79, + 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2a, 0xf0, 0x03, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x1b, 0x0a, 0x17, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, + 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, + 0x0a, 0x20, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, + 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, + 0x44, 0x53, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x43, + 0x52, 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x02, 0x12, 0x25, 0x0a, 0x21, 0x54, + 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, + 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, + 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, + 0x44, 0x53, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, + 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x4d, 0x49, 0x4e, + 0x55, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x1e, 0x0a, 0x1a, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x52, 0x45, 0x4c, 0x41, 0x54, 0x49, 0x56, 0x45, 0x5f, 0x48, + 0x4f, 0x55, 0x52, 0x53, 0x10, 0x06, 0x12, 0x20, 0x0a, 0x1c, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, + 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x52, + 0x46, 0x43, 0x33, 0x33, 0x33, 0x39, 0x10, 0x0a, 0x12, 0x21, 0x0a, 0x1d, 0x54, 0x49, 0x4d, 0x45, + 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, + 0x5f, 0x44, 0x41, 0x54, 0x45, 0x54, 0x49, 0x4d, 0x45, 0x10, 0x0b, 0x12, 0x25, 0x0a, 0x21, 0x54, + 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, + 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, + 0x10, 0x0c, 0x12, 0x2a, 0x0a, 0x26, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, + 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, + 0x4d, 0x49, 0x4c, 0x4c, 0x49, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0d, 0x12, 0x2a, + 0x0a, 0x26, 0x54, 0x49, 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, + 0x53, 0x4f, 0x4c, 0x55, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4d, 0x49, 0x43, 0x52, + 0x4f, 0x53, 0x45, 0x43, 0x4f, 0x4e, 0x44, 0x53, 0x10, 0x0e, 0x12, 0x29, 0x0a, 0x25, 0x54, 0x49, + 0x4d, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x41, 0x42, 0x53, 0x4f, 0x4c, 0x55, + 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x49, 0x58, 0x5f, 0x4e, 0x41, 0x4e, 0x4f, 0x53, 0x45, 0x43, 0x4f, + 0x4e, 0x44, 0x53, 0x10, 0x0f, 0x2a, 0xe8, 0x01, 0x0a, 0x0b, 0x44, 0x61, 0x74, 0x61, 0x54, 0x79, + 0x70, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, + 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, + 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, + 0x5f, 0x54, 0x44, 0x4d, 0x53, 0x10, 0x02, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x43, 0x48, 0x31, 0x30, 0x10, 0x03, 0x12, + 0x25, 0x0a, 0x21, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, + 0x5f, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x46, 0x4c, 0x41, 0x54, 0x44, 0x41, 0x54, + 0x41, 0x53, 0x45, 0x54, 0x10, 0x04, 0x12, 0x30, 0x0a, 0x2c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, + 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x50, + 0x45, 0x52, 0x5f, 0x52, 0x4f, 0x57, 0x10, 0x05, 0x12, 0x16, 0x0a, 0x12, 0x44, 0x41, 0x54, 0x41, + 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x48, 0x44, 0x46, 0x35, 0x10, 0x06, + 0x2a, 0x8b, 0x02, 0x0a, 0x1d, 0x50, 0x61, 0x72, 0x71, 0x75, 0x65, 0x74, 0x43, 0x6f, 0x6d, 0x70, + 0x6c, 0x65, 0x78, 0x54, 0x79, 0x70, 0x65, 0x73, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x35, 0x0a, 0x2d, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, - 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x04, 0x2a, - 0xbf, 0x01, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, - 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x1a, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, - 0x55, 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, - 0x12, 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, - 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, - 0x10, 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, - 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, - 0x04, 0x32, 0x92, 0x0c, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, - 0x55, 0x72, 0x6c, 0x12, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, + 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, + 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x49, + 0x47, 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x50, 0x41, 0x52, 0x51, 0x55, + 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, + 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x4f, 0x54, + 0x48, 0x10, 0x02, 0x12, 0x2c, 0x0a, 0x28, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, + 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, + 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x50, 0x41, 0x52, 0x51, 0x55, 0x45, 0x54, 0x5f, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x58, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, + 0x54, 0x5f, 0x4d, 0x4f, 0x44, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x04, 0x2a, 0xbf, + 0x01, 0x0a, 0x10, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x1e, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, + 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x1e, 0x0a, 0x1a, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x50, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x22, 0x0a, 0x1e, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, + 0x53, 0x5f, 0x49, 0x4e, 0x5f, 0x50, 0x52, 0x4f, 0x47, 0x52, 0x45, 0x53, 0x53, 0x10, 0x02, 0x12, + 0x20, 0x0a, 0x1c, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x53, + 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x53, 0x55, 0x43, 0x43, 0x45, 0x45, 0x44, 0x45, 0x44, 0x10, + 0x03, 0x12, 0x1d, 0x0a, 0x19, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x49, 0x4d, 0x50, 0x4f, 0x52, 0x54, + 0x5f, 0x53, 0x54, 0x41, 0x54, 0x55, 0x53, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x04, + 0x32, 0xa3, 0x0c, 0x0a, 0x11, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa9, 0x02, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, - 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x8f, 0x01, 0x92, 0x41, 0x69, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x1a, - 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x75, 0x72, + 0x72, 0x6c, 0x12, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, + 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0xa0, 0x01, 0x92, 0x41, 0x7a, 0x12, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, + 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x1a, 0x32, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x66, 0x69, 0x6c, + 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x74, 0x20, 0x61, 0x20, 0x75, 0x72, 0x6c, 0x2e, 0x2a, 0x2b, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x56, 0x32, 0x82, @@ -858,8 +1065,8 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x1f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x44, 0x61, - 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xef, 0x58, - 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xad, 0x02, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, + 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xb0, 0x6b, + 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xe5, 0x02, 0x22, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1d, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, @@ -881,7 +1088,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x14, 0x04, 0x18, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x15, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x16, 0x06, - 0x36, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x17, + 0x47, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x17, 0x06, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x1a, 0x02, 0x24, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x1a, 0x06, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1a, 0x21, 0x42, 0x0a, 0x0c, 0x0a, 0x05, @@ -944,7 +1151,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x47, 0x06, 0x1e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x48, 0x06, 0x28, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x49, - 0x06, 0x37, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x4e, 0x00, 0x56, 0x01, 0x0a, 0x0a, + 0x06, 0x37, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x4e, 0x00, 0x57, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x4e, 0x08, 0x26, 0x0a, 0x94, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x51, 0x02, 0x3a, 0x1a, 0x86, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x75, 0x72, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x20, 0x48, @@ -981,216 +1188,236 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x12, 0x03, 0x55, 0x10, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x55, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x55, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x55, - 0x24, 0x4a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x58, 0x00, 0x5a, 0x01, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x58, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x00, 0x12, 0x03, 0x59, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, - 0x12, 0x03, 0x59, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x59, 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x59, 0x1a, - 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x5c, 0x00, 0x5e, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x5c, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x00, 0x12, 0x03, 0x5d, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, - 0x03, 0x5d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5d, - 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5d, 0x1a, 0x1b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5d, 0x1c, 0x44, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5d, 0x1d, 0x43, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x60, 0x00, 0x62, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x03, 0x01, 0x12, 0x03, 0x60, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, - 0x03, 0x61, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x61, - 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x61, 0x0d, 0x18, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x61, 0x1b, 0x1c, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x64, 0x00, 0x69, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, - 0x01, 0x12, 0x03, 0x64, 0x08, 0x29, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, - 0x65, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x65, 0x02, - 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x65, 0x0c, 0x16, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x65, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x65, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, - 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x65, 0x1c, 0x42, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x66, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x01, 0x06, 0x12, 0x03, 0x66, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x66, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x66, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x66, 0x1d, - 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x66, - 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x03, 0x67, 0x02, 0x46, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, 0x67, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x67, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x67, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x02, 0x08, 0x12, 0x03, 0x67, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x67, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, - 0x12, 0x03, 0x68, 0x02, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x06, 0x12, 0x03, - 0x68, 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x68, 0x10, - 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x68, 0x21, 0x22, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, 0x68, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x68, 0x24, 0x4a, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x6b, 0x00, 0x6e, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, - 0x01, 0x12, 0x03, 0x6b, 0x08, 0x2a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, - 0x6c, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x6c, 0x02, - 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6c, 0x09, 0x13, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6c, 0x16, 0x17, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x6d, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x6d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x6d, 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x6d, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x70, 0x00, 0x7e, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x70, 0x05, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, - 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x71, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x71, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, - 0x12, 0x03, 0x71, 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x72, - 0x02, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x72, 0x02, 0x22, - 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x72, 0x25, 0x26, 0x0a, 0x0b, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x73, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x73, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x02, 0x02, 0x12, 0x03, 0x73, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, - 0x03, 0x74, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x74, - 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x74, 0x26, 0x27, - 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x75, 0x02, 0x23, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x75, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x75, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, - 0x05, 0x12, 0x03, 0x76, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, - 0x03, 0x76, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x76, - 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x77, 0x02, 0x21, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x77, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x77, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x07, 0x12, 0x03, 0x78, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, - 0x01, 0x12, 0x03, 0x78, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x02, 0x12, - 0x03, 0x78, 0x21, 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, 0x03, 0x79, 0x02, - 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x79, 0x02, 0x1f, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x79, 0x22, 0x24, 0x0a, 0x0b, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x09, 0x12, 0x03, 0x7a, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x09, 0x01, 0x12, 0x03, 0x7a, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, - 0x02, 0x12, 0x03, 0x7a, 0x26, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0a, 0x12, 0x03, - 0x7b, 0x02, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x7b, 0x02, - 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x7b, 0x2b, 0x2d, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x7c, 0x02, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x7c, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x0b, 0x02, 0x12, 0x03, 0x7c, 0x2b, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0c, - 0x12, 0x03, 0x7d, 0x02, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, - 0x7d, 0x02, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x03, 0x7d, 0x2a, - 0x2c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x80, 0x01, 0x00, 0x8d, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x80, 0x01, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x81, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x81, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x81, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, - 0x04, 0x82, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x82, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x82, - 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x82, 0x01, - 0x14, 0x15, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x84, 0x01, 0x02, 0x14, - 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, - 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x02, 0x05, 0x12, 0x04, 0x84, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, - 0x01, 0x12, 0x04, 0x84, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, - 0x12, 0x04, 0x84, 0x01, 0x12, 0x13, 0x0a, 0x79, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, - 0x87, 0x01, 0x02, 0x1c, 0x1a, 0x6b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x20, 0x72, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x72, 0x65, - 0x61, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x20, 0x43, - 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x6b, - 0x69, 0x70, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x2e, 0x0a, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x6f, 0x77, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, 0x87, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0x87, 0x01, 0x09, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0x87, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0x88, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x04, 0x04, 0x12, 0x04, 0x88, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x04, 0x06, 0x12, 0x04, 0x88, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x04, 0x01, 0x12, 0x04, 0x88, 0x01, 0x19, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x04, 0x03, 0x12, 0x04, 0x88, 0x01, 0x27, 0x28, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, - 0x12, 0x04, 0x8a, 0x01, 0x02, 0x42, 0x1a, 0x54, 0x20, 0x41, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, - 0x72, 0x6f, 0x6d, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x20, 0x28, 0x31, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x29, 0x20, 0x74, 0x6f, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x05, 0x06, 0x12, 0x04, 0x8a, 0x01, 0x02, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x05, 0x01, 0x12, 0x04, 0x8a, 0x01, 0x31, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x05, 0x03, 0x12, 0x04, 0x8a, 0x01, 0x40, 0x41, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x06, 0x02, - 0x06, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x48, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x75, - 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x69, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x04, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x04, 0x8c, 0x01, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x06, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x06, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x20, 0x46, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x07, 0x12, 0x06, 0x8f, 0x01, 0x00, 0x94, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x07, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x08, 0x15, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, - 0x12, 0x04, 0x91, 0x01, 0x02, 0x1b, 0x1a, 0x33, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, - 0x75, 0x6d, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, 0x31, 0x2d, 0x69, 0x6e, - 0x64, 0x65, 0x78, 0x65, 0x64, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, - 0x6d, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x91, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x91, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x91, 0x01, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, - 0x12, 0x04, 0x92, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, - 0x04, 0x92, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x92, 0x01, 0x0d, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0x92, - 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x04, 0x93, 0x01, 0x02, - 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x04, 0x93, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x06, 0x12, 0x04, 0x93, 0x01, 0x0b, 0x24, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0x93, 0x01, 0x25, 0x38, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0x93, 0x01, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, - 0x02, 0x05, 0x01, 0x12, 0x06, 0x98, 0x01, 0x00, 0x9e, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, - 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, 0x05, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, - 0x12, 0x04, 0x99, 0x01, 0x02, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x99, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, - 0x99, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x99, - 0x01, 0x20, 0x33, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x01, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0x99, - 0x01, 0x21, 0x32, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x02, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x16, 0x17, 0x0a, - 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, - 0x01, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x03, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, - 0x02, 0x12, 0x04, 0x9c, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, - 0x04, 0x9d, 0x01, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, - 0x9d, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x04, 0x9d, - 0x01, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xa0, 0x01, 0x00, 0xa3, 0x01, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x08, 0x1b, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x08, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xa1, 0x01, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x01, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, - 0x12, 0x04, 0xa2, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xa2, 0x01, 0x0e, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xa2, 0x01, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xa5, 0x01, 0x00, 0xa8, - 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x08, 0x1c, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x0c, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x06, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xa7, 0x01, 0x10, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xa7, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xaa, 0x01, 0x00, - 0xae, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x08, 0x12, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xab, 0x01, 0x02, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xab, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xab, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xab, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0a, 0x02, 0x01, 0x12, 0x04, 0xac, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xac, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xac, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xac, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, - 0xad, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xad, - 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xad, 0x01, - 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xad, 0x01, 0x16, - 0x17, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xb0, 0x01, 0x00, 0xbe, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb1, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb1, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, - 0x04, 0xb2, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xb2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb2, - 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb2, 0x01, - 0x14, 0x15, 0x0a, 0xb4, 0x01, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, 0x12, 0x04, 0xb6, 0x01, 0x02, + 0x24, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x56, 0x02, 0x46, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x56, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x56, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x56, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x08, 0x12, 0x03, 0x56, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x56, 0x1e, 0x44, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, + 0x59, 0x00, 0x5b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x59, 0x08, 0x27, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x5a, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5a, 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x5a, 0x1a, 0x1b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x5d, + 0x00, 0x5f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x5d, 0x08, 0x1c, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x5e, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x5e, 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x5e, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x5e, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x5e, 0x1d, 0x43, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x61, 0x00, 0x63, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x61, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x62, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x06, 0x12, 0x03, 0x62, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x62, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x62, 0x1b, 0x1c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x65, 0x00, 0x6b, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x65, 0x08, 0x29, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x66, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x06, 0x12, 0x03, 0x66, 0x02, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, + 0x12, 0x03, 0x66, 0x0c, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, + 0x66, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x66, 0x1b, + 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x66, + 0x1c, 0x42, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x67, 0x02, 0x46, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x06, 0x12, 0x03, 0x67, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x67, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x67, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x01, 0x08, 0x12, 0x03, 0x67, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x67, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, + 0x12, 0x03, 0x68, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, + 0x68, 0x02, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x68, 0x0d, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x68, 0x1b, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x03, 0x68, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x68, 0x1e, 0x44, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x69, 0x02, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x03, 0x06, 0x12, 0x03, 0x69, 0x02, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x03, 0x01, 0x12, 0x03, 0x69, 0x10, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, + 0x12, 0x03, 0x69, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, + 0x69, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x69, 0x24, 0x4a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x04, 0x12, 0x03, 0x6a, 0x02, + 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x06, 0x12, 0x03, 0x6a, 0x02, 0x0c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x03, 0x6a, 0x0d, 0x18, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x03, 0x6a, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x04, 0x08, 0x12, 0x03, 0x6a, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, + 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6a, 0x1e, 0x44, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, + 0x12, 0x04, 0x6d, 0x00, 0x70, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x6d, + 0x08, 0x2a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x6e, 0x02, 0x18, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6e, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6e, 0x16, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x01, 0x12, 0x03, 0x6f, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, + 0x03, 0x6f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6f, + 0x09, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6f, 0x1a, 0x1b, + 0x0a, 0x0b, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x05, 0x72, 0x00, 0x80, 0x01, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x72, 0x05, 0x0f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, + 0x00, 0x12, 0x03, 0x73, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x73, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x73, + 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x74, 0x02, 0x27, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x74, 0x02, 0x22, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x74, 0x25, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x05, + 0x00, 0x02, 0x02, 0x12, 0x03, 0x75, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x75, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, + 0x03, 0x75, 0x26, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x76, 0x02, + 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x76, 0x02, 0x23, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x76, 0x26, 0x27, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x77, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x04, 0x01, 0x12, 0x03, 0x77, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, + 0x02, 0x12, 0x03, 0x77, 0x21, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, 0x12, 0x03, + 0x78, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x78, 0x02, + 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x78, 0x21, 0x22, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x79, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x79, 0x02, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x06, 0x02, 0x12, 0x03, 0x79, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x07, + 0x12, 0x03, 0x7a, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, + 0x7a, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x7a, 0x21, + 0x23, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x08, 0x12, 0x03, 0x7b, 0x02, 0x25, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x7b, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x7b, 0x22, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, + 0x02, 0x09, 0x12, 0x03, 0x7c, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x01, + 0x12, 0x03, 0x7c, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, + 0x7c, 0x26, 0x28, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x7d, 0x02, 0x2e, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x7d, 0x02, 0x28, 0x0a, 0x0c, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x7d, 0x2b, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, + 0x05, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x7e, 0x02, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x0b, 0x01, 0x12, 0x03, 0x7e, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0b, 0x02, + 0x12, 0x03, 0x7e, 0x2b, 0x2d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x0c, 0x12, 0x03, 0x7f, + 0x02, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x7f, 0x02, 0x27, + 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x03, 0x7f, 0x2a, 0x2c, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x82, 0x01, 0x00, 0x8f, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x06, 0x01, 0x12, 0x04, 0x82, 0x01, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, + 0x00, 0x12, 0x04, 0x83, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x83, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x83, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x83, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0x84, 0x01, + 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x84, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x84, 0x01, 0x09, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x84, 0x01, 0x14, 0x15, 0x0a, + 0x55, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x02, 0x14, 0x1a, 0x47, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x60, + 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, + 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, + 0x04, 0x86, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, + 0x86, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0x86, + 0x01, 0x12, 0x13, 0x0a, 0x79, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0x89, 0x01, 0x02, + 0x1c, 0x1a, 0x6b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x6f, + 0x77, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x20, 0x43, 0x61, 0x6e, 0x20, + 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x6b, 0x69, 0x70, 0x20, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x72, 0x6f, 0x77, 0x73, 0x2e, 0x0a, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x72, 0x73, 0x74, 0x20, 0x72, 0x6f, 0x77, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0x89, 0x01, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x04, 0x12, 0x04, 0x8a, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x04, 0x04, 0x12, 0x04, 0x8a, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, + 0x06, 0x12, 0x04, 0x8a, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, + 0x12, 0x04, 0x8a, 0x01, 0x19, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, + 0x04, 0x8a, 0x01, 0x27, 0x28, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, 0x12, 0x04, 0x8c, + 0x01, 0x02, 0x42, 0x1a, 0x54, 0x20, 0x41, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, + 0x31, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, 0x65, 0x64, 0x29, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x05, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, + 0x01, 0x12, 0x04, 0x8c, 0x01, 0x31, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, + 0x12, 0x04, 0x8c, 0x01, 0x40, 0x41, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x04, + 0x8e, 0x01, 0x02, 0x48, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x75, 0x70, 0x6c, 0x6f, + 0x61, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, + 0x20, 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x06, 0x04, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x04, 0x8e, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x06, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x06, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x06, 0x08, 0x12, 0x04, 0x8e, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x06, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8e, 0x01, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, + 0x12, 0x06, 0x91, 0x01, 0x00, 0x96, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, + 0x04, 0x91, 0x01, 0x08, 0x15, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x93, + 0x01, 0x02, 0x1b, 0x1a, 0x33, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, + 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x28, 0x31, 0x2d, 0x69, 0x6e, 0x64, 0x65, 0x78, + 0x65, 0x64, 0x29, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x05, 0x12, 0x04, 0x93, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, + 0x12, 0x04, 0x93, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, + 0x04, 0x93, 0x01, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x94, + 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x04, 0x94, 0x01, + 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x01, 0x0d, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0x94, 0x01, 0x16, 0x17, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x04, 0x95, 0x01, 0x02, 0x3d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x04, 0x95, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x02, 0x06, 0x12, 0x04, 0x95, 0x01, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, 0x01, 0x25, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x01, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, + 0x12, 0x06, 0x9a, 0x01, 0x00, 0xa2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, + 0x04, 0x9a, 0x01, 0x05, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0x9b, + 0x01, 0x02, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x01, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x1e, + 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9b, 0x01, 0x20, 0x33, + 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x01, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x21, 0x32, + 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0x9c, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, + 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, + 0x02, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, + 0x02, 0x02, 0x12, 0x04, 0x9d, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, + 0x12, 0x04, 0x9e, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, + 0x04, 0x9e, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x04, + 0x9e, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, 0x04, 0x9f, 0x01, + 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x02, + 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x04, 0x9f, 0x01, 0x26, 0x27, + 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x33, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x01, 0x02, 0x05, 0x02, 0x12, 0x04, 0xa0, 0x01, 0x31, 0x32, 0x0a, 0x0c, 0x0a, 0x04, + 0x05, 0x01, 0x02, 0x06, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, + 0x02, 0x06, 0x01, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, + 0x06, 0x02, 0x12, 0x04, 0xa1, 0x01, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, + 0xa4, 0x01, 0x00, 0xa7, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xa4, + 0x01, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xa5, 0x01, 0x02, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x07, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x08, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x01, 0x0f, 0x10, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x0e, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, + 0x06, 0xa9, 0x01, 0x00, 0xad, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, + 0xa9, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x01, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xaa, 0x01, 0x02, + 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x0c, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x19, 0x1a, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xab, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x01, 0x06, 0x12, 0x04, 0xab, 0x01, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0xab, 0x01, 0x10, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xab, 0x01, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, + 0x02, 0x02, 0x12, 0x04, 0xac, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, + 0x06, 0x12, 0x04, 0xac, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xac, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xac, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xaf, 0x01, 0x00, + 0xb3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x08, 0x12, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb0, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x0a, 0x02, 0x01, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x05, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xb1, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xb1, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, + 0xb2, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, + 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, + 0x07, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x16, + 0x17, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xb5, 0x01, 0x00, 0xc3, 0x01, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb5, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xb6, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x00, 0x05, 0x12, 0x04, 0xb6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xb6, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, + 0x04, 0xb7, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xb7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb7, + 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb7, 0x01, + 0x14, 0x15, 0x0a, 0xb4, 0x01, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x02, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x34, 0x1a, 0xa5, 0x01, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x77, 0x66, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x66, @@ -1202,375 +1429,503 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x28, 0x56, 0x65, 0x72, 0x69, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x6c, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x02, 0x06, 0x12, 0x04, 0xb6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xb6, 0x01, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xb6, 0x01, 0x32, 0x33, 0x0a, 0x74, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x03, 0x12, 0x04, - 0xba, 0x01, 0x02, 0x20, 0x1a, 0x66, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, + 0x02, 0x06, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, + 0x01, 0x12, 0x04, 0xbb, 0x01, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x02, 0x03, + 0x12, 0x04, 0xbb, 0x01, 0x32, 0x33, 0x0a, 0x74, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x03, 0x12, 0x04, + 0xbf, 0x01, 0x02, 0x20, 0x1a, 0x66, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x73, 0x69, 0x7a, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x74, 0x72, 0x75, 0x6e, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x75, 0x6e, 0x6b, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x61, 0x73, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x03, 0x04, 0x12, 0x04, 0xba, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x03, 0x05, 0x12, 0x04, 0xba, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xba, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x03, 0x03, 0x12, 0x04, 0xba, 0x01, 0x1e, 0x1f, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x04, - 0x12, 0x04, 0xbd, 0x01, 0x02, 0x14, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, - 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x05, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x04, 0x03, 0x12, 0x04, 0xbd, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x0c, 0x12, 0x06, 0xc0, 0x01, 0x00, 0xc4, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, - 0x01, 0x12, 0x04, 0xc0, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, - 0x04, 0xc1, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xc1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, - 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x01, - 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x0d, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x02, 0x04, 0x12, 0x04, 0xc3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xc3, 0x01, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x25, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xc3, 0x01, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xc6, - 0x01, 0x00, 0xc9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xc6, 0x01, - 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x09, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x10, 0x11, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x24, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x35, 0x36, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, - 0xcb, 0x01, 0x00, 0xce, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xcb, - 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x02, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x14, 0x1f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcc, 0x01, 0x22, 0x23, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x01, 0x04, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xcd, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xcd, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x06, - 0xd0, 0x01, 0x00, 0xda, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, 0x04, 0xd0, - 0x01, 0x05, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x02, - 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x2f, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, 0xd1, 0x01, 0x32, 0x33, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x34, 0x47, 0x0a, 0x0e, - 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x35, 0x46, 0x0a, 0x3c, - 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x2f, 0x1a, 0x2e, 0x20, 0x49, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xd3, 0x01, 0x2d, 0x2e, 0x0a, 0x4a, 0x0a, 0x04, 0x05, 0x02, - 0x02, 0x02, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x2d, 0x1a, 0x3c, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, - 0x61, 0x73, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x41, 0x72, 0x72, 0x6f, 0x77, 0x20, 0x62, 0x79, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xd5, 0x01, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, - 0xd5, 0x01, 0x2b, 0x2c, 0x0a, 0x3a, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd7, 0x01, - 0x02, 0x2f, 0x1a, 0x2c, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, - 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x6c, - 0x79, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x2a, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x04, 0xd7, 0x01, 0x2d, 0x2e, 0x0a, 0x39, - 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x2e, 0x1a, 0x2b, 0x20, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x41, 0x72, 0x72, 0x6f, - 0x77, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, - 0x02, 0x12, 0x04, 0xd9, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xdc, - 0x01, 0x00, 0xe8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xdc, 0x01, - 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xde, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x01, 0x05, 0x12, 0x04, 0xde, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xde, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xde, 0x01, 0x14, 0x15, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x02, - 0x12, 0x04, 0xe0, 0x01, 0x02, 0x14, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, + 0x04, 0x0b, 0x02, 0x03, 0x04, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbf, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x03, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x03, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x1e, 0x1f, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x04, + 0x12, 0x04, 0xc2, 0x01, 0x02, 0x14, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x12, 0x13, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x0f, 0x08, 0x00, 0x12, 0x06, 0xe1, 0x01, 0x02, 0xe3, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x08, 0x00, 0x01, 0x12, 0x04, 0xe1, 0x01, 0x08, 0x0e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0f, 0x02, 0x03, 0x12, 0x04, 0xe2, 0x01, 0x04, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x03, 0x06, 0x12, 0x04, 0xe2, 0x01, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xe2, 0x01, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xe2, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x04, 0x12, 0x04, - 0xe4, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe4, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe4, 0x01, - 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe4, 0x01, 0x19, - 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0f, 0x02, 0x06, 0x12, 0x04, 0xe7, 0x01, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x06, 0x06, 0x12, 0x04, 0xe7, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xe7, 0x01, 0x20, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xe7, 0x01, 0x3c, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x03, 0x12, 0x06, 0xea, - 0x01, 0x00, 0xf0, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x03, 0x01, 0x12, 0x04, 0xea, 0x01, - 0x05, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x39, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x02, 0x12, 0x04, 0xeb, 0x01, 0x23, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x25, 0x38, 0x0a, 0x0e, 0x0a, - 0x06, 0x05, 0x03, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x26, 0x37, 0x0a, 0x0c, 0x0a, - 0x04, 0x05, 0x03, 0x02, 0x01, 0x12, 0x04, 0xec, 0x01, 0x02, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xec, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, - 0x02, 0x01, 0x02, 0x12, 0x04, 0xec, 0x01, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, - 0x02, 0x12, 0x04, 0xed, 0x01, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xed, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x02, 0x02, 0x12, - 0x04, 0xed, 0x01, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x03, 0x12, 0x04, 0xee, - 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0xee, 0x01, - 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x03, 0x02, 0x12, 0x04, 0xee, 0x01, 0x21, - 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x04, 0x12, 0x04, 0xef, 0x01, 0x02, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x04, 0x01, 0x12, 0x04, 0xef, 0x01, 0x02, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x03, 0x02, 0x04, 0x02, 0x12, 0x04, 0xef, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x10, 0x12, 0x06, 0xf2, 0x01, 0x00, 0x87, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x10, 0x01, 0x12, 0x04, 0xf2, 0x01, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, - 0x12, 0x04, 0xf3, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, - 0x04, 0xf3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xf3, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf3, - 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf3, 0x01, - 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf3, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xf4, 0x01, - 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf4, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x09, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x16, 0x17, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x47, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x13, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x02, 0x08, 0x12, 0x04, 0xf5, 0x01, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, - 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x01, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x10, 0x02, 0x03, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xf6, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xf6, 0x01, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x04, 0x12, 0x04, - 0xf7, 0x01, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x06, 0x12, 0x04, 0xf7, - 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf7, 0x01, - 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf7, 0x01, 0x2b, - 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x08, 0x12, 0x04, 0xf7, 0x01, 0x2d, 0x55, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x01, - 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x05, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x57, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x06, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x1c, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x05, 0x03, 0x12, 0x04, 0xf8, 0x01, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x05, 0x08, 0x12, 0x04, 0xf8, 0x01, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x10, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x01, 0x2f, 0x55, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x10, 0x02, 0x06, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x06, 0x06, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x06, 0x01, 0x12, 0x04, 0xf9, 0x01, 0x0c, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x06, 0x03, 0x12, 0x04, 0xf9, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x06, 0x08, 0x12, 0x04, 0xf9, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x06, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf9, 0x01, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x07, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, - 0x06, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x01, - 0x12, 0x04, 0xfa, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x03, 0x12, - 0x04, 0xfa, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x07, 0x08, 0x12, 0x04, - 0xfa, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xfa, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x08, 0x12, 0x04, - 0xfb, 0x01, 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x06, 0x12, 0x04, 0xfb, - 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x01, 0x12, 0x04, 0xfb, 0x01, - 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x03, 0x12, 0x04, 0xfb, 0x01, 0x1b, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x08, 0x08, 0x12, 0x04, 0xfb, 0x01, 0x1e, 0x46, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x01, - 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x09, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x4d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x06, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x10, 0x1e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x09, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x21, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x09, 0x08, 0x12, 0x04, 0xfc, 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x10, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x01, 0x25, 0x4b, 0x0a, 0x65, - 0x0a, 0x04, 0x04, 0x10, 0x02, 0x0a, 0x12, 0x04, 0xff, 0x01, 0x02, 0x47, 0x1a, 0x57, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0a, 0x04, 0x12, 0x04, - 0xff, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xff, - 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xff, 0x01, - 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xff, 0x01, 0x1b, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0a, 0x08, 0x12, 0x04, 0xff, 0x01, 0x1e, 0x46, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, 0x01, - 0x1f, 0x45, 0x0a, 0x6b, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x0b, 0x12, 0x04, 0x82, 0x02, 0x02, 0x4a, - 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x64, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x20, 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0b, 0x04, 0x12, 0x04, 0x82, 0x02, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0b, 0x05, 0x12, 0x04, 0x82, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x82, 0x02, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x82, 0x02, 0x1e, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x0b, 0x08, 0x12, 0x04, 0x82, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, - 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x02, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x10, 0x02, 0x0c, 0x12, 0x04, 0x84, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x0c, 0x04, 0x12, 0x04, 0x84, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x0c, 0x05, 0x12, 0x04, 0x84, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0c, - 0x01, 0x12, 0x04, 0x84, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0c, 0x03, - 0x12, 0x04, 0x84, 0x02, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0c, 0x08, 0x12, - 0x04, 0x84, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x0c, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x84, 0x02, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x0d, 0x12, - 0x04, 0x85, 0x02, 0x02, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0d, 0x04, 0x12, 0x04, - 0x85, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0d, 0x06, 0x12, 0x04, 0x85, - 0x02, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0d, 0x01, 0x12, 0x04, 0x85, 0x02, - 0x25, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0d, 0x03, 0x12, 0x04, 0x85, 0x02, 0x37, - 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0d, 0x08, 0x12, 0x04, 0x85, 0x02, 0x3a, 0x62, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x02, - 0x3b, 0x61, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x0e, 0x12, 0x04, 0x86, 0x02, 0x02, 0x62, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0e, 0x04, 0x12, 0x04, 0x86, 0x02, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0e, 0x06, 0x12, 0x04, 0x86, 0x02, 0x0b, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x0e, 0x01, 0x12, 0x04, 0x86, 0x02, 0x25, 0x33, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x0e, 0x03, 0x12, 0x04, 0x86, 0x02, 0x36, 0x38, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x0e, 0x08, 0x12, 0x04, 0x86, 0x02, 0x39, 0x61, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x10, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x02, 0x3a, 0x60, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x11, 0x12, 0x06, 0x89, 0x02, 0x00, 0xa0, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x11, 0x01, 0x12, 0x04, 0x89, 0x02, 0x08, 0x1e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x11, 0x02, - 0x00, 0x12, 0x04, 0x8d, 0x02, 0x02, 0x40, 0x1a, 0xe9, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, - 0x35, 0x30, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8d, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x09, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x02, 0x15, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8d, 0x02, 0x17, 0x3f, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x02, 0x18, - 0x3e, 0x0a, 0x80, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0x93, 0x02, 0x02, 0x41, - 0x1a, 0xf1, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, - 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, - 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, - 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, - 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x02, 0x16, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x08, 0x12, 0x04, 0x93, 0x02, 0x18, 0x40, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x02, - 0x19, 0x3f, 0x0a, 0xd7, 0x02, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x02, 0x12, 0x04, 0x98, 0x02, 0x02, - 0x3d, 0x1a, 0xc8, 0x02, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, - 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x60, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x60, 0x2c, 0x20, - 0x60, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, - 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, - 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, - 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x11, 0x02, 0x02, 0x05, 0x12, 0x04, 0x98, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x02, 0x01, 0x12, 0x04, 0x98, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x02, 0x03, 0x12, 0x04, 0x98, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x02, 0x08, 0x12, 0x04, 0x98, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x02, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x02, 0x15, 0x3b, 0x0a, 0xad, 0x03, 0x0a, 0x04, 0x04, - 0x11, 0x02, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x3f, 0x1a, 0x9e, 0x03, 0x20, 0x48, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, - 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, - 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, - 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, - 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, - 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, - 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x03, 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x03, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, - 0x03, 0x12, 0x04, 0x9f, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x03, 0x08, - 0x12, 0x04, 0x9f, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x03, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x9f, 0x02, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, - 0xa2, 0x02, 0x00, 0xa5, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xa2, - 0x02, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xa3, 0x02, 0x02, - 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa3, 0x02, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa3, 0x02, 0x0b, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x16, 0x22, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa3, 0x02, 0x25, 0x26, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xa4, 0x02, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, - 0xa7, 0x02, 0x00, 0xab, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xa7, - 0x02, 0x08, 0x1e, 0x0a, 0xc2, 0x01, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x02, - 0x02, 0x45, 0x1a, 0xb3, 0x01, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, - 0x74, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x0a, 0x20, 0x59, 0x6f, 0x75, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x74, 0x72, 0x79, 0x20, - 0x61, 0x6e, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, - 0x73, 0x20, 0x61, 0x20, 0x22, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, - 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, 0x49, - 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x29, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, - 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xaa, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xaa, 0x02, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xaa, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xaa, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xaa, 0x02, 0x1d, 0x43, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x04, 0xad, 0x02, - 0x00, 0x22, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0xad, 0x02, 0x08, 0x1f, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x0c, 0x12, 0x06, 0xc5, 0x01, 0x00, 0xc9, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, + 0x01, 0x12, 0x04, 0xc5, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, + 0x04, 0xc6, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xc6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc6, + 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x01, + 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x0d, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x16, 0x17, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0c, 0x02, 0x02, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0c, 0x02, 0x02, 0x04, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, + 0x02, 0x02, 0x06, 0x12, 0x04, 0xc8, 0x01, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x25, 0x38, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xc8, 0x01, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xcb, + 0x01, 0x00, 0xce, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xcb, 0x01, + 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x12, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcc, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x09, 0x0d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcc, 0x01, 0x10, 0x11, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x01, 0x06, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x24, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xcd, 0x01, 0x35, 0x36, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, + 0xd0, 0x01, 0x00, 0xd3, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xd0, + 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x02, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x09, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x10, 0x11, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x36, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x24, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xd2, 0x01, 0x34, 0x35, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0f, 0x12, + 0x06, 0xd5, 0x01, 0x00, 0xd8, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, + 0xd5, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xd6, 0x01, + 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x14, 0x1f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x22, 0x23, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0f, 0x02, 0x01, 0x04, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd7, 0x01, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, + 0x06, 0xda, 0x01, 0x00, 0xdd, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, + 0xda, 0x01, 0x08, 0x34, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xdb, 0x01, + 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdb, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x09, 0x12, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x01, 0x15, 0x16, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x11, + 0x12, 0x06, 0xdf, 0x01, 0x00, 0xe2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, + 0x04, 0xdf, 0x01, 0x08, 0x35, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xe0, + 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe0, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x09, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x15, 0x16, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x01, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x30, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x01, 0x06, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x11, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe1, 0x01, 0x24, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x11, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, + 0x12, 0x12, 0x06, 0xe4, 0x01, 0x00, 0xef, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, + 0x12, 0x04, 0xe4, 0x01, 0x08, 0x28, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, + 0xe6, 0x01, 0x02, 0x24, 0x1a, 0x21, 0x20, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xe6, 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xe6, 0x01, 0x14, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xe6, 0x01, 0x22, 0x23, 0x0a, 0x21, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xe8, 0x01, + 0x02, 0x25, 0x1a, 0x13, 0x20, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x20, 0x63, 0x6f, + 0x6c, 0x75, 0x6d, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x04, + 0x12, 0x04, 0xe8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xe8, 0x01, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xe8, 0x01, 0x19, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe8, + 0x01, 0x23, 0x24, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x12, 0x08, 0x00, 0x12, 0x06, 0xe9, 0x01, 0x02, + 0xee, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x08, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x01, + 0x08, 0x0e, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, 0x04, 0xeb, 0x01, 0x04, 0x45, + 0x1a, 0x28, 0x20, 0x53, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x20, 0x70, 0x65, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x02, 0x06, 0x12, 0x04, 0xeb, 0x01, 0x04, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x32, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xeb, 0x01, 0x43, 0x44, 0x0a, 0x35, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, + 0x04, 0xed, 0x01, 0x04, 0x43, 0x1a, 0x27, 0x20, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x70, 0x65, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x06, 0x12, 0x04, 0xed, 0x01, 0x04, 0x30, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0xed, 0x01, 0x31, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0xed, 0x01, 0x41, 0x42, 0x0a, 0x0c, 0x0a, 0x02, 0x05, + 0x02, 0x12, 0x06, 0xf1, 0x01, 0x00, 0xfb, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x02, 0x01, + 0x12, 0x04, 0xf1, 0x01, 0x05, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, 0x12, 0x04, + 0xf2, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf2, + 0x01, 0x02, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, 0xf2, 0x01, + 0x32, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x01, 0x34, + 0x47, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xf2, 0x01, 0x35, + 0x46, 0x0a, 0x3c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x2f, 0x1a, + 0x2e, 0x20, 0x49, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x2a, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xf4, 0x01, 0x2d, 0x2e, 0x0a, 0x4a, 0x0a, + 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x2d, 0x1a, 0x3c, 0x20, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x41, 0x72, 0x72, 0x6f, 0x77, + 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, + 0x02, 0x12, 0x04, 0xf6, 0x01, 0x2b, 0x2c, 0x0a, 0x3a, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xf8, 0x01, 0x02, 0x2f, 0x1a, 0x2c, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, + 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf8, 0x01, + 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x04, 0xf8, 0x01, 0x2d, + 0x2e, 0x0a, 0x39, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x2e, 0x1a, + 0x2b, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x78, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x41, + 0x72, 0x72, 0x6f, 0x77, 0x20, 0x62, 0x79, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x02, 0x02, 0x04, 0x02, 0x12, 0x04, 0xfa, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, + 0x12, 0x06, 0xfd, 0x01, 0x00, 0x8a, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, + 0x04, 0xfd, 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xfe, + 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfe, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x16, 0x17, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xff, 0x01, 0x02, 0x16, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xff, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xff, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xff, 0x01, 0x14, 0x15, 0x0a, 0x55, 0x0a, 0x04, 0x04, + 0x13, 0x02, 0x02, 0x12, 0x04, 0x81, 0x02, 0x02, 0x14, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, + 0x20, 0x61, 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, + 0x6f, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x05, 0x12, 0x04, 0x81, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, 0x12, 0x04, 0x81, 0x02, 0x09, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, 0x04, 0x81, 0x02, 0x12, 0x13, 0x0a, + 0x0e, 0x0a, 0x04, 0x04, 0x13, 0x08, 0x00, 0x12, 0x06, 0x82, 0x02, 0x02, 0x85, 0x02, 0x03, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x08, 0x00, 0x01, 0x12, 0x04, 0x82, 0x02, 0x08, 0x0e, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x13, 0x02, 0x03, 0x12, 0x04, 0x83, 0x02, 0x04, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x03, 0x06, 0x12, 0x04, 0x83, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x13, 0x02, 0x03, 0x01, 0x12, 0x04, 0x83, 0x02, 0x1d, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, + 0x02, 0x03, 0x03, 0x12, 0x04, 0x83, 0x02, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, + 0x04, 0x12, 0x04, 0x84, 0x02, 0x04, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x06, + 0x12, 0x04, 0x84, 0x02, 0x04, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x01, 0x12, + 0x04, 0x84, 0x02, 0x25, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x04, 0x03, 0x12, 0x04, + 0x84, 0x02, 0x3e, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x05, 0x12, 0x04, 0x86, 0x02, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x05, 0x12, 0x04, 0x86, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x01, 0x12, 0x04, 0x86, 0x02, 0x09, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x05, 0x03, 0x12, 0x04, 0x86, 0x02, 0x19, 0x1a, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x06, 0x12, 0x04, 0x87, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x06, 0x05, 0x12, 0x04, 0x87, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x13, 0x02, 0x06, 0x01, 0x12, 0x04, 0x87, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x13, 0x02, 0x06, 0x03, 0x12, 0x04, 0x87, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, + 0x02, 0x07, 0x12, 0x04, 0x89, 0x02, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, + 0x06, 0x12, 0x04, 0x89, 0x02, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x01, + 0x12, 0x04, 0x89, 0x02, 0x20, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x07, 0x03, 0x12, + 0x04, 0x89, 0x02, 0x3c, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0x8c, 0x02, 0x00, + 0x95, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x8c, 0x02, 0x08, 0x16, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x02, 0x02, 0x1a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8d, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x02, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x14, 0x02, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x01, 0x05, 0x12, 0x04, 0x8e, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, + 0x01, 0x12, 0x04, 0x8e, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, + 0x12, 0x04, 0x8e, 0x02, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, + 0x8f, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x05, 0x12, 0x04, 0x8f, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x02, + 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0x8f, 0x02, 0x19, + 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, 0x04, 0x90, 0x02, 0x02, 0x19, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, 0x04, 0x90, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, 0x90, 0x02, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0x90, 0x02, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x14, 0x02, 0x04, 0x12, 0x04, 0x91, 0x02, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x04, 0x06, 0x12, 0x04, 0x91, 0x02, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x04, 0x01, 0x12, 0x04, 0x91, 0x02, 0x24, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, + 0x03, 0x12, 0x04, 0x91, 0x02, 0x35, 0x36, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, + 0x04, 0x93, 0x02, 0x02, 0x21, 0x1a, 0x3b, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x68, 0x69, + 0x63, 0x68, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x04, 0x12, 0x04, 0x93, 0x02, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x05, 0x12, 0x04, 0x93, 0x02, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x01, 0x12, 0x04, 0x93, 0x02, 0x12, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x03, 0x12, 0x04, 0x93, 0x02, 0x1f, 0x20, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x14, 0x02, 0x06, 0x12, 0x04, 0x94, 0x02, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x06, 0x04, 0x12, 0x04, 0x94, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x06, 0x05, 0x12, 0x04, 0x94, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x06, 0x01, 0x12, 0x04, 0x94, 0x02, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x06, 0x03, 0x12, 0x04, 0x94, 0x02, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, + 0x97, 0x02, 0x00, 0x9f, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0x97, + 0x02, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0x98, 0x02, 0x02, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, 0x12, 0x04, 0x98, 0x02, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0x98, 0x02, 0x09, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0x98, 0x02, 0x16, 0x17, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0x99, 0x02, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0x99, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0x99, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, + 0x02, 0x01, 0x03, 0x12, 0x04, 0x99, 0x02, 0x14, 0x15, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x15, 0x02, + 0x02, 0x12, 0x04, 0x9b, 0x02, 0x02, 0x14, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x69, 0x64, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x64, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x6f, 0x2e, + 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9b, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x02, 0x09, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9b, 0x02, 0x12, 0x13, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x15, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x15, 0x02, 0x03, 0x04, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, + 0x02, 0x03, 0x06, 0x12, 0x04, 0x9c, 0x02, 0x0b, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, + 0x03, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x1a, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x03, + 0x03, 0x12, 0x04, 0x9c, 0x02, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x04, 0x12, + 0x04, 0x9d, 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x06, 0x12, 0x04, + 0x9d, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9d, + 0x02, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9d, 0x02, + 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x05, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x3d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x04, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9e, 0x02, 0x0b, 0x24, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x15, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9e, 0x02, 0x25, 0x38, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x15, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9e, 0x02, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, + 0x05, 0x03, 0x12, 0x06, 0xa1, 0x02, 0x00, 0xa7, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x03, + 0x01, 0x12, 0x04, 0xa1, 0x02, 0x05, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x00, 0x12, + 0x04, 0xa2, 0x02, 0x02, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xa2, 0x02, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x02, 0x12, 0x04, 0xa2, + 0x02, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa2, 0x02, + 0x25, 0x38, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x03, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xa2, 0x02, + 0x26, 0x37, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x02, 0x21, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x02, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa3, 0x02, 0x1f, 0x20, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x03, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x02, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x03, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x02, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, + 0x02, 0x03, 0x12, 0x04, 0xa5, 0x02, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x03, + 0x01, 0x12, 0x04, 0xa5, 0x02, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x03, 0x02, + 0x12, 0x04, 0xa5, 0x02, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x03, 0x02, 0x04, 0x12, 0x04, + 0xa6, 0x02, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa6, + 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x03, 0x02, 0x04, 0x02, 0x12, 0x04, 0xa6, 0x02, + 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xa9, 0x02, 0x00, 0xbf, 0x02, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xa9, 0x02, 0x08, 0x12, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xaa, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x02, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xaa, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xaa, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x02, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, + 0x01, 0x12, 0x04, 0xab, 0x02, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xab, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xab, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xab, 0x02, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x02, 0x12, 0x04, 0xac, 0x02, + 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x06, 0x12, 0x04, 0xac, 0x02, 0x02, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x01, 0x12, 0x04, 0xac, 0x02, 0x13, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x03, 0x12, 0x04, 0xac, 0x02, 0x1c, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x02, 0x08, 0x12, 0x04, 0xac, 0x02, 0x1e, 0x46, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x16, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x02, 0x1f, 0x45, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x03, 0x12, 0x04, 0xad, 0x02, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x03, 0x05, 0x12, 0x04, 0xad, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x03, 0x01, 0x12, 0x04, 0xad, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x02, 0x03, 0x03, 0x12, 0x04, 0xad, 0x02, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x16, 0x02, 0x04, 0x12, 0x04, 0xae, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x04, 0x06, 0x12, 0x04, 0xae, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, + 0x01, 0x12, 0x04, 0xae, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x03, + 0x12, 0x04, 0xae, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x04, 0x08, 0x12, + 0x04, 0xae, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x04, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xae, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x05, 0x12, + 0x04, 0xaf, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x06, 0x12, 0x04, + 0xaf, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x01, 0x12, 0x04, 0xaf, + 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x03, 0x12, 0x04, 0xaf, 0x02, + 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x05, 0x08, 0x12, 0x04, 0xaf, 0x02, 0x2e, + 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, + 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x06, 0x12, 0x04, 0xb0, 0x02, 0x02, + 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, 0x06, 0x12, 0x04, 0xb0, 0x02, 0x02, 0x0b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, 0x01, 0x12, 0x04, 0xb0, 0x02, 0x0c, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, 0x03, 0x12, 0x04, 0xb0, 0x02, 0x19, 0x1a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x06, 0x08, 0x12, 0x04, 0xb0, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x16, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb0, 0x02, 0x1c, 0x42, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x07, 0x12, 0x04, 0xb1, 0x02, 0x02, 0x46, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x07, 0x06, 0x12, 0x04, 0xb1, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x02, 0x07, 0x01, 0x12, 0x04, 0xb1, 0x02, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x16, 0x02, 0x07, 0x03, 0x12, 0x04, 0xb1, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, + 0x02, 0x07, 0x08, 0x12, 0x04, 0xb1, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, + 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x02, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x16, 0x02, 0x08, 0x12, 0x04, 0xb2, 0x02, 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x08, 0x06, 0x12, 0x04, 0xb2, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, + 0x01, 0x12, 0x04, 0xb2, 0x02, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x03, + 0x12, 0x04, 0xb2, 0x02, 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x08, 0x08, 0x12, + 0x04, 0xb2, 0x02, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x08, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xb2, 0x02, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x09, 0x12, + 0x04, 0xb3, 0x02, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, 0x06, 0x12, 0x04, + 0xb3, 0x02, 0x02, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, 0x01, 0x12, 0x04, 0xb3, + 0x02, 0x10, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, 0x03, 0x12, 0x04, 0xb3, 0x02, + 0x21, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x09, 0x08, 0x12, 0x04, 0xb3, 0x02, 0x24, + 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb3, + 0x02, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0a, 0x12, 0x04, 0xb4, 0x02, 0x02, + 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x0c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x0d, 0x18, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xb4, 0x02, 0x1b, 0x1d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0a, 0x08, 0x12, 0x04, 0xb4, 0x02, 0x1e, 0x46, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x16, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb4, 0x02, 0x1f, 0x45, 0x0a, + 0x65, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0b, 0x12, 0x04, 0xb7, 0x02, 0x02, 0x47, 0x1a, 0x57, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x04, 0x12, + 0x04, 0xb7, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x05, 0x12, 0x04, + 0xb7, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xb7, + 0x02, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xb7, 0x02, + 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xb7, 0x02, 0x1e, + 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb7, + 0x02, 0x1f, 0x45, 0x0a, 0x6b, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0c, 0x12, 0x04, 0xba, 0x02, 0x02, + 0x4a, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, + 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xba, 0x02, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x05, 0x12, 0x04, 0xba, 0x02, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xba, 0x02, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xba, 0x02, 0x1e, 0x20, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x16, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xba, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x16, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xba, 0x02, 0x22, 0x48, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x16, 0x02, 0x0d, 0x12, 0x04, 0xbc, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x16, 0x02, 0x0d, 0x04, 0x12, 0x04, 0xbc, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, + 0x02, 0x0d, 0x05, 0x12, 0x04, 0xbc, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x0d, 0x01, 0x12, 0x04, 0xbc, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0d, + 0x03, 0x12, 0x04, 0xbc, 0x02, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0d, 0x08, + 0x12, 0x04, 0xbc, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x0d, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xbc, 0x02, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0e, + 0x12, 0x04, 0xbd, 0x02, 0x02, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0e, 0x04, 0x12, + 0x04, 0xbd, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0e, 0x06, 0x12, 0x04, + 0xbd, 0x02, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xbd, + 0x02, 0x25, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xbd, 0x02, + 0x37, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xbd, 0x02, 0x3a, + 0x62, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, + 0x02, 0x3b, 0x61, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x0f, 0x12, 0x04, 0xbe, 0x02, 0x02, + 0x62, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0f, 0x04, 0x12, 0x04, 0xbe, 0x02, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0f, 0x06, 0x12, 0x04, 0xbe, 0x02, 0x0b, 0x24, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x25, 0x33, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x16, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xbe, 0x02, 0x36, 0x38, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x16, 0x02, 0x0f, 0x08, 0x12, 0x04, 0xbe, 0x02, 0x39, 0x61, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x16, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x02, 0x3a, 0x60, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xc1, 0x02, 0x00, 0xd8, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x17, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x08, 0x1e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x17, + 0x02, 0x00, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x40, 0x1a, 0xe9, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, + 0x20, 0x35, 0x30, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, + 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x02, + 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x15, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x02, 0x17, 0x3f, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x02, + 0x18, 0x3e, 0x0a, 0x80, 0x02, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x02, + 0x41, 0x1a, 0xf1, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, + 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, + 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x63, 0x61, + 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, + 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, + 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x44, 0x61, 0x74, 0x61, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xcb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcb, + 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcb, 0x02, + 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcb, 0x02, 0x18, + 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, + 0x02, 0x19, 0x3f, 0x0a, 0xd7, 0x02, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x02, 0x12, 0x04, 0xd0, 0x02, + 0x02, 0x3d, 0x1a, 0xc8, 0x02, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, + 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, + 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x60, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, + 0x60, 0x2c, 0x20, 0x60, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x75, 0x72, 0x6c, 0x60, 0x2c, + 0x20, 0x60, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, + 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, + 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x17, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd0, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x17, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x17, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd0, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, + 0x02, 0x02, 0x08, 0x12, 0x04, 0xd0, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, + 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x02, 0x15, 0x3b, 0x0a, 0xad, 0x03, 0x0a, 0x04, + 0x04, 0x17, 0x02, 0x03, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x3f, 0x1a, 0x9e, 0x03, 0x20, 0x48, 0x6f, + 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, + 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, + 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, + 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, + 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, + 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, + 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, + 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, + 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, + 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, + 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, + 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x17, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, + 0x02, 0x03, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, + 0x03, 0x03, 0x12, 0x04, 0xd7, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x03, + 0x08, 0x12, 0x04, 0xd7, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x03, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd7, 0x02, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, + 0x06, 0xda, 0x02, 0x00, 0xdd, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, + 0xda, 0x02, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xdb, 0x02, + 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x04, 0x12, 0x04, 0xdb, 0x02, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0xdb, 0x02, 0x0b, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x02, 0x16, 0x22, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdb, 0x02, 0x25, 0x26, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, 0x04, 0xdc, 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x18, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdc, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdc, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xdc, 0x02, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x19, 0x12, + 0x06, 0xdf, 0x02, 0x00, 0xe3, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, + 0xdf, 0x02, 0x08, 0x1e, 0x0a, 0xc2, 0x01, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x04, 0xe2, + 0x02, 0x02, 0x45, 0x1a, 0xb3, 0x01, 0x20, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x79, 0x2e, 0x0a, 0x20, 0x59, 0x6f, + 0x75, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x74, 0x72, 0x79, + 0x20, 0x61, 0x6e, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x61, 0x20, 0x22, 0x75, 0x72, 0x6c, 0x22, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x28, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x61, 0x74, 0x61, + 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x46, 0x72, 0x6f, 0x6d, 0x55, 0x72, 0x6c, 0x29, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, + 0x00, 0x05, 0x12, 0x04, 0xe2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xe2, 0x02, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xe2, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xe2, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xe2, 0x02, 0x1d, 0x43, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x04, 0xe5, + 0x02, 0x00, 0x22, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x08, 0x1f, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.data_imports.v2.tonic.rs"); include!("sift.data_imports.v2.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.serde.rs b/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.serde.rs index 4db67a414..ed70344ba 100644 --- a/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/data_imports/v2/sift.data_imports.v2.serde.rs @@ -147,6 +147,9 @@ impl serde::Serialize for CreateDataImportFromUploadRequest { if self.parquet_config.is_some() { len += 1; } + if self.hdf5_config.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.CreateDataImportFromUploadRequest", len)?; if let Some(v) = self.csv_config.as_ref() { struct_ser.serialize_field("csvConfig", v)?; @@ -160,6 +163,9 @@ impl serde::Serialize for CreateDataImportFromUploadRequest { if let Some(v) = self.parquet_config.as_ref() { struct_ser.serialize_field("parquetConfig", v)?; } + if let Some(v) = self.hdf5_config.as_ref() { + struct_ser.serialize_field("hdf5Config", v)?; + } struct_ser.end() } } @@ -178,6 +184,8 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { "tdmsConfig", "parquet_config", "parquetConfig", + "hdf5_config", + "hdf5Config", ]; #[allow(clippy::enum_variant_names)] @@ -186,6 +194,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { Ch10Config, TdmsConfig, ParquetConfig, + Hdf5Config, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -211,6 +220,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { "ch10Config" | "ch10_config" => Ok(GeneratedField::Ch10Config), "tdmsConfig" | "tdms_config" => Ok(GeneratedField::TdmsConfig), "parquetConfig" | "parquet_config" => Ok(GeneratedField::ParquetConfig), + "hdf5Config" | "hdf5_config" => Ok(GeneratedField::Hdf5Config), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -234,6 +244,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { let mut ch10_config__ = None; let mut tdms_config__ = None; let mut parquet_config__ = None; + let mut hdf5_config__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::CsvConfig => { @@ -260,6 +271,12 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { } parquet_config__ = map_.next_value()?; } + GeneratedField::Hdf5Config => { + if hdf5_config__.is_some() { + return Err(serde::de::Error::duplicate_field("hdf5Config")); + } + hdf5_config__ = map_.next_value()?; + } } } Ok(CreateDataImportFromUploadRequest { @@ -267,6 +284,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUploadRequest { ch10_config: ch10_config__, tdms_config: tdms_config__, parquet_config: parquet_config__, + hdf5_config: hdf5_config__, }) } } @@ -406,6 +424,9 @@ impl serde::Serialize for CreateDataImportFromUrlRequest { if self.parquet_config.is_some() { len += 1; } + if self.hdf5_config.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.CreateDataImportFromUrlRequest", len)?; if !self.url.is_empty() { struct_ser.serialize_field("url", &self.url)?; @@ -422,6 +443,9 @@ impl serde::Serialize for CreateDataImportFromUrlRequest { if let Some(v) = self.parquet_config.as_ref() { struct_ser.serialize_field("parquetConfig", v)?; } + if let Some(v) = self.hdf5_config.as_ref() { + struct_ser.serialize_field("hdf5Config", v)?; + } struct_ser.end() } } @@ -441,6 +465,8 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { "tdmsConfig", "parquet_config", "parquetConfig", + "hdf5_config", + "hdf5Config", ]; #[allow(clippy::enum_variant_names)] @@ -450,6 +476,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { Ch10Config, TdmsConfig, ParquetConfig, + Hdf5Config, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -476,6 +503,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { "ch10Config" | "ch10_config" => Ok(GeneratedField::Ch10Config), "tdmsConfig" | "tdms_config" => Ok(GeneratedField::TdmsConfig), "parquetConfig" | "parquet_config" => Ok(GeneratedField::ParquetConfig), + "hdf5Config" | "hdf5_config" => Ok(GeneratedField::Hdf5Config), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -500,6 +528,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { let mut ch10_config__ = None; let mut tdms_config__ = None; let mut parquet_config__ = None; + let mut hdf5_config__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::Url => { @@ -532,6 +561,12 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { } parquet_config__ = map_.next_value()?; } + GeneratedField::Hdf5Config => { + if hdf5_config__.is_some() { + return Err(serde::de::Error::duplicate_field("hdf5Config")); + } + hdf5_config__ = map_.next_value()?; + } } } Ok(CreateDataImportFromUrlRequest { @@ -540,6 +575,7 @@ impl<'de> serde::Deserialize<'de> for CreateDataImportFromUrlRequest { ch10_config: ch10_config__, tdms_config: tdms_config__, parquet_config: parquet_config__, + hdf5_config: hdf5_config__, }) } } @@ -1016,6 +1052,9 @@ impl serde::Serialize for DataImport { if self.parquet_config.is_some() { len += 1; } + if self.hdf5_config.is_some() { + len += 1; + } if self.run_id.is_some() { len += 1; } @@ -1064,6 +1103,9 @@ impl serde::Serialize for DataImport { if let Some(v) = self.parquet_config.as_ref() { struct_ser.serialize_field("parquetConfig", v)?; } + if let Some(v) = self.hdf5_config.as_ref() { + struct_ser.serialize_field("hdf5Config", v)?; + } if let Some(v) = self.run_id.as_ref() { struct_ser.serialize_field("runId", v)?; } @@ -1108,6 +1150,8 @@ impl<'de> serde::Deserialize<'de> for DataImport { "tdmsConfig", "parquet_config", "parquetConfig", + "hdf5_config", + "hdf5Config", "run_id", "runId", "report_id", @@ -1132,6 +1176,7 @@ impl<'de> serde::Deserialize<'de> for DataImport { Ch10Config, TdmsConfig, ParquetConfig, + Hdf5Config, RunId, ReportId, AssetId, @@ -1168,6 +1213,7 @@ impl<'de> serde::Deserialize<'de> for DataImport { "ch10Config" | "ch10_config" => Ok(GeneratedField::Ch10Config), "tdmsConfig" | "tdms_config" => Ok(GeneratedField::TdmsConfig), "parquetConfig" | "parquet_config" => Ok(GeneratedField::ParquetConfig), + "hdf5Config" | "hdf5_config" => Ok(GeneratedField::Hdf5Config), "runId" | "run_id" => Ok(GeneratedField::RunId), "reportId" | "report_id" => Ok(GeneratedField::ReportId), "assetId" | "asset_id" => Ok(GeneratedField::AssetId), @@ -1202,6 +1248,7 @@ impl<'de> serde::Deserialize<'de> for DataImport { let mut ch10_config__ = None; let mut tdms_config__ = None; let mut parquet_config__ = None; + let mut hdf5_config__ = None; let mut run_id__ = None; let mut report_id__ = None; let mut asset_id__ = None; @@ -1269,6 +1316,12 @@ impl<'de> serde::Deserialize<'de> for DataImport { } parquet_config__ = map_.next_value()?; } + GeneratedField::Hdf5Config => { + if hdf5_config__.is_some() { + return Err(serde::de::Error::duplicate_field("hdf5Config")); + } + hdf5_config__ = map_.next_value()?; + } GeneratedField::RunId => { if run_id__.is_some() { return Err(serde::de::Error::duplicate_field("runId")); @@ -1312,6 +1365,7 @@ impl<'de> serde::Deserialize<'de> for DataImport { ch10_config: ch10_config__, tdms_config: tdms_config__, parquet_config: parquet_config__, + hdf5_config: hdf5_config__, run_id: run_id__, report_id: report_id__, asset_id: asset_id__, @@ -1415,6 +1469,8 @@ impl serde::Serialize for DataTypeKey { Self::Tdms => "DATA_TYPE_KEY_TDMS", Self::Ch10 => "DATA_TYPE_KEY_CH10", Self::ParquetFlatdataset => "DATA_TYPE_KEY_PARQUET_FLATDATASET", + Self::ParquetSingleChannelPerRow => "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW", + Self::Hdf5 => "DATA_TYPE_KEY_HDF5", }; serializer.serialize_str(variant) } @@ -1431,6 +1487,8 @@ impl<'de> serde::Deserialize<'de> for DataTypeKey { "DATA_TYPE_KEY_TDMS", "DATA_TYPE_KEY_CH10", "DATA_TYPE_KEY_PARQUET_FLATDATASET", + "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW", + "DATA_TYPE_KEY_HDF5", ]; struct GeneratedVisitor; @@ -1476,6 +1534,8 @@ impl<'de> serde::Deserialize<'de> for DataTypeKey { "DATA_TYPE_KEY_TDMS" => Ok(DataTypeKey::Tdms), "DATA_TYPE_KEY_CH10" => Ok(DataTypeKey::Ch10), "DATA_TYPE_KEY_PARQUET_FLATDATASET" => Ok(DataTypeKey::ParquetFlatdataset), + "DATA_TYPE_KEY_PARQUET_SINGLE_CHANNEL_PER_ROW" => Ok(DataTypeKey::ParquetSingleChannelPerRow), + "DATA_TYPE_KEY_HDF5" => Ok(DataTypeKey::Hdf5), _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), } } @@ -1611,6 +1671,9 @@ impl serde::Serialize for DetectConfigResponse { if self.parquet_config.is_some() { len += 1; } + if self.hdf5_config.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.DetectConfigResponse", len)?; if let Some(v) = self.csv_config.as_ref() { struct_ser.serialize_field("csvConfig", v)?; @@ -1618,6 +1681,9 @@ impl serde::Serialize for DetectConfigResponse { if let Some(v) = self.parquet_config.as_ref() { struct_ser.serialize_field("parquetConfig", v)?; } + if let Some(v) = self.hdf5_config.as_ref() { + struct_ser.serialize_field("hdf5Config", v)?; + } struct_ser.end() } } @@ -1632,12 +1698,15 @@ impl<'de> serde::Deserialize<'de> for DetectConfigResponse { "csvConfig", "parquet_config", "parquetConfig", + "hdf5_config", + "hdf5Config", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { CsvConfig, ParquetConfig, + Hdf5Config, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1661,6 +1730,7 @@ impl<'de> serde::Deserialize<'de> for DetectConfigResponse { match value { "csvConfig" | "csv_config" => Ok(GeneratedField::CsvConfig), "parquetConfig" | "parquet_config" => Ok(GeneratedField::ParquetConfig), + "hdf5Config" | "hdf5_config" => Ok(GeneratedField::Hdf5Config), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1682,6 +1752,7 @@ impl<'de> serde::Deserialize<'de> for DetectConfigResponse { { let mut csv_config__ = None; let mut parquet_config__ = None; + let mut hdf5_config__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::CsvConfig => { @@ -1696,11 +1767,18 @@ impl<'de> serde::Deserialize<'de> for DetectConfigResponse { } parquet_config__ = map_.next_value()?; } + GeneratedField::Hdf5Config => { + if hdf5_config__.is_some() { + return Err(serde::de::Error::duplicate_field("hdf5Config")); + } + hdf5_config__ = map_.next_value()?; + } } } Ok(DetectConfigResponse { csv_config: csv_config__, parquet_config: parquet_config__, + hdf5_config: hdf5_config__, }) } } @@ -1891,7 +1969,7 @@ impl<'de> serde::Deserialize<'de> for GetDataImportResponse { deserializer.deserialize_struct("sift.data_imports.v2.GetDataImportResponse", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ListDataImportsRequest { +impl serde::Serialize for Hdf5Config { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where @@ -1899,56 +1977,76 @@ impl serde::Serialize for ListDataImportsRequest { { use serde::ser::SerializeStruct; let mut len = 0; - if self.page_size != 0 { + if !self.asset_name.is_empty() { len += 1; } - if !self.page_token.is_empty() { + if !self.run_name.is_empty() { len += 1; } - if !self.filter.is_empty() { + if !self.run_id.is_empty() { len += 1; } - if !self.order_by.is_empty() { + if !self.data.is_empty() { len += 1; } - let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ListDataImportsRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; + if self.time_format != 0 { + len += 1; } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; + if self.relative_start_time.is_some() { + len += 1; } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.Hdf5Config", len)?; + if !self.asset_name.is_empty() { + struct_ser.serialize_field("assetName", &self.asset_name)?; } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; + if !self.run_name.is_empty() { + struct_ser.serialize_field("runName", &self.run_name)?; + } + if !self.run_id.is_empty() { + struct_ser.serialize_field("runId", &self.run_id)?; + } + if !self.data.is_empty() { + struct_ser.serialize_field("data", &self.data)?; + } + if self.time_format != 0 { + let v = TimeFormat::try_from(self.time_format) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.time_format)))?; + struct_ser.serialize_field("timeFormat", &v)?; + } + if let Some(v) = self.relative_start_time.as_ref() { + struct_ser.serialize_field("relativeStartTime", v)?; } struct_ser.end() } } -impl<'de> serde::Deserialize<'de> for ListDataImportsRequest { +impl<'de> serde::Deserialize<'de> for Hdf5Config { #[allow(deprecated)] fn deserialize(deserializer: D) -> std::result::Result where D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", + "asset_name", + "assetName", + "run_name", + "runName", + "run_id", + "runId", + "data", + "time_format", + "timeFormat", + "relative_start_time", + "relativeStartTime", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, + AssetName, + RunName, + RunId, + Data, + TimeFormat, + RelativeStartTime, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1970,10 +2068,12 @@ impl<'de> serde::Deserialize<'de> for ListDataImportsRequest { E: serde::de::Error, { match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), + "assetName" | "asset_name" => Ok(GeneratedField::AssetName), + "runName" | "run_name" => Ok(GeneratedField::RunName), + "runId" | "run_id" => Ok(GeneratedField::RunId), + "data" => Ok(GeneratedField::Data), + "timeFormat" | "time_format" => Ok(GeneratedField::TimeFormat), + "relativeStartTime" | "relative_start_time" => Ok(GeneratedField::RelativeStartTime), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1983,62 +2083,76 @@ impl<'de> serde::Deserialize<'de> for ListDataImportsRequest { } struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListDataImportsRequest; + type Value = Hdf5Config; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.data_imports.v2.ListDataImportsRequest") + formatter.write_str("struct sift.data_imports.v2.Hdf5Config") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result where V: serde::de::MapAccess<'de>, { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; + let mut asset_name__ = None; + let mut run_name__ = None; + let mut run_id__ = None; + let mut data__ = None; + let mut time_format__ = None; + let mut relative_start_time__ = None; while let Some(k) = map_.next_key()? { match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); + GeneratedField::AssetName => { + if asset_name__.is_some() { + return Err(serde::de::Error::duplicate_field("assetName")); } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + asset_name__ = Some(map_.next_value()?); } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); + GeneratedField::RunName => { + if run_name__.is_some() { + return Err(serde::de::Error::duplicate_field("runName")); } - page_token__ = Some(map_.next_value()?); + run_name__ = Some(map_.next_value()?); } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); + GeneratedField::RunId => { + if run_id__.is_some() { + return Err(serde::de::Error::duplicate_field("runId")); } - filter__ = Some(map_.next_value()?); + run_id__ = Some(map_.next_value()?); } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); + GeneratedField::Data => { + if data__.is_some() { + return Err(serde::de::Error::duplicate_field("data")); } - order_by__ = Some(map_.next_value()?); + data__ = Some(map_.next_value()?); + } + GeneratedField::TimeFormat => { + if time_format__.is_some() { + return Err(serde::de::Error::duplicate_field("timeFormat")); + } + time_format__ = Some(map_.next_value::()? as i32); + } + GeneratedField::RelativeStartTime => { + if relative_start_time__.is_some() { + return Err(serde::de::Error::duplicate_field("relativeStartTime")); + } + relative_start_time__ = map_.next_value()?; } } } - Ok(ListDataImportsRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), + Ok(Hdf5Config { + asset_name: asset_name__.unwrap_or_default(), + run_name: run_name__.unwrap_or_default(), + run_id: run_id__.unwrap_or_default(), + data: data__.unwrap_or_default(), + time_format: time_format__.unwrap_or_default(), + relative_start_time: relative_start_time__, }) } } - deserializer.deserialize_struct("sift.data_imports.v2.ListDataImportsRequest", FIELDS, GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.Hdf5Config", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ListDataImportsResponse { +impl serde::Serialize for Hdf5DataConfig { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where @@ -2046,39 +2160,88 @@ impl serde::Serialize for ListDataImportsResponse { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.data_imports.is_empty() { + if !self.time_dataset.is_empty() { len += 1; } - if !self.next_page_token.is_empty() { + if self.time_index != 0 { len += 1; } - let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ListDataImportsResponse", len)?; - if !self.data_imports.is_empty() { - struct_ser.serialize_field("dataImports", &self.data_imports)?; + if !self.value_dataset.is_empty() { + len += 1; } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; + if self.value_index != 0 { + len += 1; + } + if self.channel_config.is_some() { + len += 1; + } + if self.time_field.is_some() { + len += 1; + } + if self.value_field.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.Hdf5DataConfig", len)?; + if !self.time_dataset.is_empty() { + struct_ser.serialize_field("timeDataset", &self.time_dataset)?; + } + if self.time_index != 0 { + #[allow(clippy::needless_borrow)] + #[allow(clippy::needless_borrows_for_generic_args)] + struct_ser.serialize_field("timeIndex", ToString::to_string(&self.time_index).as_str())?; + } + if !self.value_dataset.is_empty() { + struct_ser.serialize_field("valueDataset", &self.value_dataset)?; + } + if self.value_index != 0 { + #[allow(clippy::needless_borrow)] + #[allow(clippy::needless_borrows_for_generic_args)] + struct_ser.serialize_field("valueIndex", ToString::to_string(&self.value_index).as_str())?; + } + if let Some(v) = self.channel_config.as_ref() { + struct_ser.serialize_field("channelConfig", v)?; + } + if let Some(v) = self.time_field.as_ref() { + struct_ser.serialize_field("timeField", v)?; + } + if let Some(v) = self.value_field.as_ref() { + struct_ser.serialize_field("valueField", v)?; } struct_ser.end() } } -impl<'de> serde::Deserialize<'de> for ListDataImportsResponse { +impl<'de> serde::Deserialize<'de> for Hdf5DataConfig { #[allow(deprecated)] fn deserialize(deserializer: D) -> std::result::Result where D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "data_imports", - "dataImports", - "next_page_token", - "nextPageToken", + "time_dataset", + "timeDataset", + "time_index", + "timeIndex", + "value_dataset", + "valueDataset", + "value_index", + "valueIndex", + "channel_config", + "channelConfig", + "time_field", + "timeField", + "value_field", + "valueField", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - DataImports, - NextPageToken, + TimeDataset, + TimeIndex, + ValueDataset, + ValueIndex, + ChannelConfig, + TimeField, + ValueField, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2100,8 +2263,13 @@ impl<'de> serde::Deserialize<'de> for ListDataImportsResponse { E: serde::de::Error, { match value { - "dataImports" | "data_imports" => Ok(GeneratedField::DataImports), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), + "timeDataset" | "time_dataset" => Ok(GeneratedField::TimeDataset), + "timeIndex" | "time_index" => Ok(GeneratedField::TimeIndex), + "valueDataset" | "value_dataset" => Ok(GeneratedField::ValueDataset), + "valueIndex" | "value_index" => Ok(GeneratedField::ValueIndex), + "channelConfig" | "channel_config" => Ok(GeneratedField::ChannelConfig), + "timeField" | "time_field" => Ok(GeneratedField::TimeField), + "valueField" | "value_field" => Ok(GeneratedField::ValueField), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2111,124 +2279,980 @@ impl<'de> serde::Deserialize<'de> for ListDataImportsResponse { } struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListDataImportsResponse; + type Value = Hdf5DataConfig; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.data_imports.v2.ListDataImportsResponse") + formatter.write_str("struct sift.data_imports.v2.Hdf5DataConfig") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result where V: serde::de::MapAccess<'de>, { - let mut data_imports__ = None; - let mut next_page_token__ = None; + let mut time_dataset__ = None; + let mut time_index__ = None; + let mut value_dataset__ = None; + let mut value_index__ = None; + let mut channel_config__ = None; + let mut time_field__ = None; + let mut value_field__ = None; while let Some(k) = map_.next_key()? { match k { - GeneratedField::DataImports => { - if data_imports__.is_some() { - return Err(serde::de::Error::duplicate_field("dataImports")); + GeneratedField::TimeDataset => { + if time_dataset__.is_some() { + return Err(serde::de::Error::duplicate_field("timeDataset")); } - data_imports__ = Some(map_.next_value()?); + time_dataset__ = Some(map_.next_value()?); } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); + GeneratedField::TimeIndex => { + if time_index__.is_some() { + return Err(serde::de::Error::duplicate_field("timeIndex")); } - next_page_token__ = Some(map_.next_value()?); + time_index__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::ValueDataset => { + if value_dataset__.is_some() { + return Err(serde::de::Error::duplicate_field("valueDataset")); + } + value_dataset__ = Some(map_.next_value()?); + } + GeneratedField::ValueIndex => { + if value_index__.is_some() { + return Err(serde::de::Error::duplicate_field("valueIndex")); + } + value_index__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::ChannelConfig => { + if channel_config__.is_some() { + return Err(serde::de::Error::duplicate_field("channelConfig")); + } + channel_config__ = map_.next_value()?; + } + GeneratedField::TimeField => { + if time_field__.is_some() { + return Err(serde::de::Error::duplicate_field("timeField")); + } + time_field__ = map_.next_value()?; + } + GeneratedField::ValueField => { + if value_field__.is_some() { + return Err(serde::de::Error::duplicate_field("valueField")); + } + value_field__ = map_.next_value()?; } } } - Ok(ListDataImportsResponse { - data_imports: data_imports__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), + Ok(Hdf5DataConfig { + time_dataset: time_dataset__.unwrap_or_default(), + time_index: time_index__.unwrap_or_default(), + value_dataset: value_dataset__.unwrap_or_default(), + value_index: value_index__.unwrap_or_default(), + channel_config: channel_config__, + time_field: time_field__, + value_field: value_field__, }) } } - deserializer.deserialize_struct("sift.data_imports.v2.ListDataImportsResponse", FIELDS, GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.Hdf5DataConfig", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ParquetComplexTypesImportMode { +impl serde::Serialize for ListDataImportsRequest { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where S: serde::Serializer, { - let variant = match self { - Self::Unspecified => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED", - Self::Ignore => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE", - Self::Both => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH", - Self::String => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING", - Self::Bytes => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for ParquetComplexTypesImportMode { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED", - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE", - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH", - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING", + use serde::ser::SerializeStruct; + let mut len = 0; + if self.page_size != 0 { + len += 1; + } + if !self.page_token.is_empty() { + len += 1; + } + if !self.filter.is_empty() { + len += 1; + } + if !self.order_by.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ListDataImportsRequest", len)?; + if self.page_size != 0 { + struct_ser.serialize_field("pageSize", &self.page_size)?; + } + if !self.page_token.is_empty() { + struct_ser.serialize_field("pageToken", &self.page_token)?; + } + if !self.filter.is_empty() { + struct_ser.serialize_field("filter", &self.filter)?; + } + if !self.order_by.is_empty() { + struct_ser.serialize_field("orderBy", &self.order_by)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListDataImportsRequest { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "page_size", + "pageSize", + "page_token", + "pageToken", + "filter", + "order_by", + "orderBy", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + PageSize, + PageToken, + Filter, + OrderBy, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "pageSize" | "page_size" => Ok(GeneratedField::PageSize), + "pageToken" | "page_token" => Ok(GeneratedField::PageToken), + "filter" => Ok(GeneratedField::Filter), + "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListDataImportsRequest; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.data_imports.v2.ListDataImportsRequest") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut page_size__ = None; + let mut page_token__ = None; + let mut filter__ = None; + let mut order_by__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::PageSize => { + if page_size__.is_some() { + return Err(serde::de::Error::duplicate_field("pageSize")); + } + page_size__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::PageToken => { + if page_token__.is_some() { + return Err(serde::de::Error::duplicate_field("pageToken")); + } + page_token__ = Some(map_.next_value()?); + } + GeneratedField::Filter => { + if filter__.is_some() { + return Err(serde::de::Error::duplicate_field("filter")); + } + filter__ = Some(map_.next_value()?); + } + GeneratedField::OrderBy => { + if order_by__.is_some() { + return Err(serde::de::Error::duplicate_field("orderBy")); + } + order_by__ = Some(map_.next_value()?); + } + } + } + Ok(ListDataImportsRequest { + page_size: page_size__.unwrap_or_default(), + page_token: page_token__.unwrap_or_default(), + filter: filter__.unwrap_or_default(), + order_by: order_by__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.data_imports.v2.ListDataImportsRequest", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ListDataImportsResponse { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.data_imports.is_empty() { + len += 1; + } + if !self.next_page_token.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ListDataImportsResponse", len)?; + if !self.data_imports.is_empty() { + struct_ser.serialize_field("dataImports", &self.data_imports)?; + } + if !self.next_page_token.is_empty() { + struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ListDataImportsResponse { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "data_imports", + "dataImports", + "next_page_token", + "nextPageToken", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + DataImports, + NextPageToken, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "dataImports" | "data_imports" => Ok(GeneratedField::DataImports), + "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ListDataImportsResponse; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.data_imports.v2.ListDataImportsResponse") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut data_imports__ = None; + let mut next_page_token__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::DataImports => { + if data_imports__.is_some() { + return Err(serde::de::Error::duplicate_field("dataImports")); + } + data_imports__ = Some(map_.next_value()?); + } + GeneratedField::NextPageToken => { + if next_page_token__.is_some() { + return Err(serde::de::Error::duplicate_field("nextPageToken")); + } + next_page_token__ = Some(map_.next_value()?); + } + } + } + Ok(ListDataImportsResponse { + data_imports: data_imports__.unwrap_or_default(), + next_page_token: next_page_token__.unwrap_or_default(), + }) + } + } + deserializer.deserialize_struct("sift.data_imports.v2.ListDataImportsResponse", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ParquetColumn { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.column_config.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetColumn", len)?; + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + if let Some(v) = self.column_config.as_ref() { + struct_ser.serialize_field("columnConfig", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ParquetColumn { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "column_config", + "columnConfig", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + ColumnConfig, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "columnConfig" | "column_config" => Ok(GeneratedField::ColumnConfig), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ParquetColumn; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.data_imports.v2.ParquetColumn") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut column_config__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = Some(map_.next_value()?); + } + GeneratedField::ColumnConfig => { + if column_config__.is_some() { + return Err(serde::de::Error::duplicate_field("columnConfig")); + } + column_config__ = map_.next_value()?; + } + } + } + Ok(ParquetColumn { + path: path__.unwrap_or_default(), + column_config: column_config__, + }) + } + } + deserializer.deserialize_struct("sift.data_imports.v2.ParquetColumn", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ParquetComplexTypesImportMode { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED", + Self::Ignore => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE", + Self::Both => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH", + Self::String => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING", + Self::Bytes => "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for ParquetComplexTypesImportMode { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED", + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE", + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH", + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING", "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES", ]; - struct GeneratedVisitor; + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ParquetComplexTypesImportMode; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED" => Ok(ParquetComplexTypesImportMode::Unspecified), + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE" => Ok(ParquetComplexTypesImportMode::Ignore), + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH" => Ok(ParquetComplexTypesImportMode::Both), + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING" => Ok(ParquetComplexTypesImportMode::String), + "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES" => Ok(ParquetComplexTypesImportMode::Bytes), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} +impl serde::Serialize for ParquetConfig { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.asset_name.is_empty() { + len += 1; + } + if !self.run_name.is_empty() { + len += 1; + } + if !self.run_id.is_empty() { + len += 1; + } + if self.footer_offset != 0 { + len += 1; + } + if self.footer_length != 0 { + len += 1; + } + if self.complex_types_import_mode != 0 { + len += 1; + } + if self.config.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetConfig", len)?; + if !self.asset_name.is_empty() { + struct_ser.serialize_field("assetName", &self.asset_name)?; + } + if !self.run_name.is_empty() { + struct_ser.serialize_field("runName", &self.run_name)?; + } + if !self.run_id.is_empty() { + struct_ser.serialize_field("runId", &self.run_id)?; + } + if self.footer_offset != 0 { + #[allow(clippy::needless_borrow)] + #[allow(clippy::needless_borrows_for_generic_args)] + struct_ser.serialize_field("footerOffset", ToString::to_string(&self.footer_offset).as_str())?; + } + if self.footer_length != 0 { + struct_ser.serialize_field("footerLength", &self.footer_length)?; + } + if self.complex_types_import_mode != 0 { + let v = ParquetComplexTypesImportMode::try_from(self.complex_types_import_mode) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.complex_types_import_mode)))?; + struct_ser.serialize_field("complexTypesImportMode", &v)?; + } + if let Some(v) = self.config.as_ref() { + match v { + parquet_config::Config::FlatDataset(v) => { + struct_ser.serialize_field("flatDataset", v)?; + } + parquet_config::Config::SingleChannelPerRow(v) => { + struct_ser.serialize_field("singleChannelPerRow", v)?; + } + } + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ParquetConfig { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "asset_name", + "assetName", + "run_name", + "runName", + "run_id", + "runId", + "footer_offset", + "footerOffset", + "footer_length", + "footerLength", + "complex_types_import_mode", + "complexTypesImportMode", + "flat_dataset", + "flatDataset", + "single_channel_per_row", + "singleChannelPerRow", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + AssetName, + RunName, + RunId, + FooterOffset, + FooterLength, + ComplexTypesImportMode, + FlatDataset, + SingleChannelPerRow, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "assetName" | "asset_name" => Ok(GeneratedField::AssetName), + "runName" | "run_name" => Ok(GeneratedField::RunName), + "runId" | "run_id" => Ok(GeneratedField::RunId), + "footerOffset" | "footer_offset" => Ok(GeneratedField::FooterOffset), + "footerLength" | "footer_length" => Ok(GeneratedField::FooterLength), + "complexTypesImportMode" | "complex_types_import_mode" => Ok(GeneratedField::ComplexTypesImportMode), + "flatDataset" | "flat_dataset" => Ok(GeneratedField::FlatDataset), + "singleChannelPerRow" | "single_channel_per_row" => Ok(GeneratedField::SingleChannelPerRow), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ParquetConfig; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.data_imports.v2.ParquetConfig") + } + + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut asset_name__ = None; + let mut run_name__ = None; + let mut run_id__ = None; + let mut footer_offset__ = None; + let mut footer_length__ = None; + let mut complex_types_import_mode__ = None; + let mut config__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::AssetName => { + if asset_name__.is_some() { + return Err(serde::de::Error::duplicate_field("assetName")); + } + asset_name__ = Some(map_.next_value()?); + } + GeneratedField::RunName => { + if run_name__.is_some() { + return Err(serde::de::Error::duplicate_field("runName")); + } + run_name__ = Some(map_.next_value()?); + } + GeneratedField::RunId => { + if run_id__.is_some() { + return Err(serde::de::Error::duplicate_field("runId")); + } + run_id__ = Some(map_.next_value()?); + } + GeneratedField::FooterOffset => { + if footer_offset__.is_some() { + return Err(serde::de::Error::duplicate_field("footerOffset")); + } + footer_offset__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::FooterLength => { + if footer_length__.is_some() { + return Err(serde::de::Error::duplicate_field("footerLength")); + } + footer_length__ = + Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) + ; + } + GeneratedField::ComplexTypesImportMode => { + if complex_types_import_mode__.is_some() { + return Err(serde::de::Error::duplicate_field("complexTypesImportMode")); + } + complex_types_import_mode__ = Some(map_.next_value::()? as i32); + } + GeneratedField::FlatDataset => { + if config__.is_some() { + return Err(serde::de::Error::duplicate_field("flatDataset")); + } + config__ = map_.next_value::<::std::option::Option<_>>()?.map(parquet_config::Config::FlatDataset) +; + } + GeneratedField::SingleChannelPerRow => { + if config__.is_some() { + return Err(serde::de::Error::duplicate_field("singleChannelPerRow")); + } + config__ = map_.next_value::<::std::option::Option<_>>()?.map(parquet_config::Config::SingleChannelPerRow) +; + } + } + } + Ok(ParquetConfig { + asset_name: asset_name__.unwrap_or_default(), + run_name: run_name__.unwrap_or_default(), + run_id: run_id__.unwrap_or_default(), + footer_offset: footer_offset__.unwrap_or_default(), + footer_length: footer_length__.unwrap_or_default(), + complex_types_import_mode: complex_types_import_mode__.unwrap_or_default(), + config: config__, + }) + } + } + deserializer.deserialize_struct("sift.data_imports.v2.ParquetConfig", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ParquetDataColumn { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if !self.path.is_empty() { + len += 1; + } + if self.channel_config.is_some() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetDataColumn", len)?; + if !self.path.is_empty() { + struct_ser.serialize_field("path", &self.path)?; + } + if let Some(v) = self.channel_config.as_ref() { + struct_ser.serialize_field("channelConfig", v)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ParquetDataColumn { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "path", + "channel_config", + "channelConfig", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + Path, + ChannelConfig, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "path" => Ok(GeneratedField::Path), + "channelConfig" | "channel_config" => Ok(GeneratedField::ChannelConfig), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) + } + } + struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ParquetComplexTypesImportMode; + type Value = ParquetDataColumn; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) + formatter.write_str("struct sift.data_imports.v2.ParquetDataColumn") } - fn visit_i64(self, v: i64) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, + { + let mut path__ = None; + let mut channel_config__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::Path => { + if path__.is_some() { + return Err(serde::de::Error::duplicate_field("path")); + } + path__ = Some(map_.next_value()?); + } + GeneratedField::ChannelConfig => { + if channel_config__.is_some() { + return Err(serde::de::Error::duplicate_field("channelConfig")); + } + channel_config__ = map_.next_value()?; + } + } + } + Ok(ParquetDataColumn { + path: path__.unwrap_or_default(), + channel_config: channel_config__, + }) + } + } + deserializer.deserialize_struct("sift.data_imports.v2.ParquetDataColumn", FIELDS, GeneratedVisitor) + } +} +impl serde::Serialize for ParquetFlatDatasetConfig { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + use serde::ser::SerializeStruct; + let mut len = 0; + if self.time_column.is_some() { + len += 1; + } + if !self.data_columns.is_empty() { + len += 1; + } + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetFlatDatasetConfig", len)?; + if let Some(v) = self.time_column.as_ref() { + struct_ser.serialize_field("timeColumn", v)?; + } + if !self.data_columns.is_empty() { + struct_ser.serialize_field("dataColumns", &self.data_columns)?; + } + struct_ser.end() + } +} +impl<'de> serde::Deserialize<'de> for ParquetFlatDatasetConfig { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "time_column", + "timeColumn", + "data_columns", + "dataColumns", + ]; + + #[allow(clippy::enum_variant_names)] + enum GeneratedField { + TimeColumn, + DataColumns, + } + impl<'de> serde::Deserialize<'de> for GeneratedField { + fn deserialize(deserializer: D) -> std::result::Result where - E: serde::de::Error, + D: serde::Deserializer<'de>, { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = GeneratedField; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + #[allow(unused_variables)] + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "timeColumn" | "time_column" => Ok(GeneratedField::TimeColumn), + "dataColumns" | "data_columns" => Ok(GeneratedField::DataColumns), + _ => Err(serde::de::Error::unknown_field(value, FIELDS)), + } + } + } + deserializer.deserialize_identifier(GeneratedVisitor) } + } + struct GeneratedVisitor; + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = ParquetFlatDatasetConfig; - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter.write_str("struct sift.data_imports.v2.ParquetFlatDatasetConfig") } - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, + fn visit_map(self, mut map_: V) -> std::result::Result + where + V: serde::de::MapAccess<'de>, { - match value { - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_UNSPECIFIED" => Ok(ParquetComplexTypesImportMode::Unspecified), - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_IGNORE" => Ok(ParquetComplexTypesImportMode::Ignore), - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BOTH" => Ok(ParquetComplexTypesImportMode::Both), - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_STRING" => Ok(ParquetComplexTypesImportMode::String), - "PARQUET_COMPLEX_TYPES_IMPORT_MODE_BYTES" => Ok(ParquetComplexTypesImportMode::Bytes), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + let mut time_column__ = None; + let mut data_columns__ = None; + while let Some(k) = map_.next_key()? { + match k { + GeneratedField::TimeColumn => { + if time_column__.is_some() { + return Err(serde::de::Error::duplicate_field("timeColumn")); + } + time_column__ = map_.next_value()?; + } + GeneratedField::DataColumns => { + if data_columns__.is_some() { + return Err(serde::de::Error::duplicate_field("dataColumns")); + } + data_columns__ = Some(map_.next_value()?); + } + } } + Ok(ParquetFlatDatasetConfig { + time_column: time_column__, + data_columns: data_columns__.unwrap_or_default(), + }) } } - deserializer.deserialize_any(GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.ParquetFlatDatasetConfig", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ParquetConfig { +impl serde::Serialize for ParquetSingleChannelPerRowConfig { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where @@ -2236,92 +3260,57 @@ impl serde::Serialize for ParquetConfig { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.asset_name.is_empty() { - len += 1; - } - if !self.run_name.is_empty() { - len += 1; - } - if !self.run_id.is_empty() { - len += 1; - } - if self.footer_offset != 0 { - len += 1; - } - if self.footer_length != 0 { + if self.time_column.is_some() { len += 1; } - if self.complex_types_import_mode != 0 { + if !self.columns.is_empty() { len += 1; } if self.config.is_some() { len += 1; } - let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetConfig", len)?; - if !self.asset_name.is_empty() { - struct_ser.serialize_field("assetName", &self.asset_name)?; - } - if !self.run_name.is_empty() { - struct_ser.serialize_field("runName", &self.run_name)?; - } - if !self.run_id.is_empty() { - struct_ser.serialize_field("runId", &self.run_id)?; - } - if self.footer_offset != 0 { - #[allow(clippy::needless_borrow)] - #[allow(clippy::needless_borrows_for_generic_args)] - struct_ser.serialize_field("footerOffset", ToString::to_string(&self.footer_offset).as_str())?; - } - if self.footer_length != 0 { - struct_ser.serialize_field("footerLength", &self.footer_length)?; + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowConfig", len)?; + if let Some(v) = self.time_column.as_ref() { + struct_ser.serialize_field("timeColumn", v)?; } - if self.complex_types_import_mode != 0 { - let v = ParquetComplexTypesImportMode::try_from(self.complex_types_import_mode) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.complex_types_import_mode)))?; - struct_ser.serialize_field("complexTypesImportMode", &v)?; + if !self.columns.is_empty() { + struct_ser.serialize_field("columns", &self.columns)?; } if let Some(v) = self.config.as_ref() { match v { - parquet_config::Config::FlatDataset(v) => { - struct_ser.serialize_field("flatDataset", v)?; + parquet_single_channel_per_row_config::Config::SingleChannel(v) => { + struct_ser.serialize_field("singleChannel", v)?; + } + parquet_single_channel_per_row_config::Config::MultiChannel(v) => { + struct_ser.serialize_field("multiChannel", v)?; } } } struct_ser.end() } } -impl<'de> serde::Deserialize<'de> for ParquetConfig { +impl<'de> serde::Deserialize<'de> for ParquetSingleChannelPerRowConfig { #[allow(deprecated)] fn deserialize(deserializer: D) -> std::result::Result where D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "asset_name", - "assetName", - "run_name", - "runName", - "run_id", - "runId", - "footer_offset", - "footerOffset", - "footer_length", - "footerLength", - "complex_types_import_mode", - "complexTypesImportMode", - "flat_dataset", - "flatDataset", + "time_column", + "timeColumn", + "columns", + "single_channel", + "singleChannel", + "multi_channel", + "multiChannel", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - AssetName, - RunName, - RunId, - FooterOffset, - FooterLength, - ComplexTypesImportMode, - FlatDataset, + TimeColumn, + Columns, + SingleChannel, + MultiChannel, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2343,13 +3332,10 @@ impl<'de> serde::Deserialize<'de> for ParquetConfig { E: serde::de::Error, { match value { - "assetName" | "asset_name" => Ok(GeneratedField::AssetName), - "runName" | "run_name" => Ok(GeneratedField::RunName), - "runId" | "run_id" => Ok(GeneratedField::RunId), - "footerOffset" | "footer_offset" => Ok(GeneratedField::FooterOffset), - "footerLength" | "footer_length" => Ok(GeneratedField::FooterLength), - "complexTypesImportMode" | "complex_types_import_mode" => Ok(GeneratedField::ComplexTypesImportMode), - "flatDataset" | "flat_dataset" => Ok(GeneratedField::FlatDataset), + "timeColumn" | "time_column" => Ok(GeneratedField::TimeColumn), + "columns" => Ok(GeneratedField::Columns), + "singleChannel" | "single_channel" => Ok(GeneratedField::SingleChannel), + "multiChannel" | "multi_channel" => Ok(GeneratedField::MultiChannel), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2359,89 +3345,60 @@ impl<'de> serde::Deserialize<'de> for ParquetConfig { } struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ParquetConfig; + type Value = ParquetSingleChannelPerRowConfig; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.data_imports.v2.ParquetConfig") + formatter.write_str("struct sift.data_imports.v2.ParquetSingleChannelPerRowConfig") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result where V: serde::de::MapAccess<'de>, { - let mut asset_name__ = None; - let mut run_name__ = None; - let mut run_id__ = None; - let mut footer_offset__ = None; - let mut footer_length__ = None; - let mut complex_types_import_mode__ = None; + let mut time_column__ = None; + let mut columns__ = None; let mut config__ = None; while let Some(k) = map_.next_key()? { match k { - GeneratedField::AssetName => { - if asset_name__.is_some() { - return Err(serde::de::Error::duplicate_field("assetName")); - } - asset_name__ = Some(map_.next_value()?); - } - GeneratedField::RunName => { - if run_name__.is_some() { - return Err(serde::de::Error::duplicate_field("runName")); - } - run_name__ = Some(map_.next_value()?); - } - GeneratedField::RunId => { - if run_id__.is_some() { - return Err(serde::de::Error::duplicate_field("runId")); - } - run_id__ = Some(map_.next_value()?); - } - GeneratedField::FooterOffset => { - if footer_offset__.is_some() { - return Err(serde::de::Error::duplicate_field("footerOffset")); + GeneratedField::TimeColumn => { + if time_column__.is_some() { + return Err(serde::de::Error::duplicate_field("timeColumn")); } - footer_offset__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + time_column__ = map_.next_value()?; } - GeneratedField::FooterLength => { - if footer_length__.is_some() { - return Err(serde::de::Error::duplicate_field("footerLength")); + GeneratedField::Columns => { + if columns__.is_some() { + return Err(serde::de::Error::duplicate_field("columns")); } - footer_length__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; + columns__ = Some(map_.next_value()?); } - GeneratedField::ComplexTypesImportMode => { - if complex_types_import_mode__.is_some() { - return Err(serde::de::Error::duplicate_field("complexTypesImportMode")); + GeneratedField::SingleChannel => { + if config__.is_some() { + return Err(serde::de::Error::duplicate_field("singleChannel")); } - complex_types_import_mode__ = Some(map_.next_value::()? as i32); + config__ = map_.next_value::<::std::option::Option<_>>()?.map(parquet_single_channel_per_row_config::Config::SingleChannel) +; } - GeneratedField::FlatDataset => { + GeneratedField::MultiChannel => { if config__.is_some() { - return Err(serde::de::Error::duplicate_field("flatDataset")); + return Err(serde::de::Error::duplicate_field("multiChannel")); } - config__ = map_.next_value::<::std::option::Option<_>>()?.map(parquet_config::Config::FlatDataset) + config__ = map_.next_value::<::std::option::Option<_>>()?.map(parquet_single_channel_per_row_config::Config::MultiChannel) ; } } } - Ok(ParquetConfig { - asset_name: asset_name__.unwrap_or_default(), - run_name: run_name__.unwrap_or_default(), - run_id: run_id__.unwrap_or_default(), - footer_offset: footer_offset__.unwrap_or_default(), - footer_length: footer_length__.unwrap_or_default(), - complex_types_import_mode: complex_types_import_mode__.unwrap_or_default(), + Ok(ParquetSingleChannelPerRowConfig { + time_column: time_column__, + columns: columns__.unwrap_or_default(), config: config__, }) } } - deserializer.deserialize_struct("sift.data_imports.v2.ParquetConfig", FIELDS, GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowConfig", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ParquetDataColumn { +impl serde::Serialize for ParquetSingleChannelPerRowMultiChannelConfig { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where @@ -2449,38 +3406,39 @@ impl serde::Serialize for ParquetDataColumn { { use serde::ser::SerializeStruct; let mut len = 0; - if !self.path.is_empty() { + if !self.name_path.is_empty() { len += 1; } - if self.channel_config.is_some() { + if !self.data_path.is_empty() { len += 1; } - let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetDataColumn", len)?; - if !self.path.is_empty() { - struct_ser.serialize_field("path", &self.path)?; + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfig", len)?; + if !self.name_path.is_empty() { + struct_ser.serialize_field("namePath", &self.name_path)?; } - if let Some(v) = self.channel_config.as_ref() { - struct_ser.serialize_field("channelConfig", v)?; + if !self.data_path.is_empty() { + struct_ser.serialize_field("dataPath", &self.data_path)?; } struct_ser.end() } } -impl<'de> serde::Deserialize<'de> for ParquetDataColumn { +impl<'de> serde::Deserialize<'de> for ParquetSingleChannelPerRowMultiChannelConfig { #[allow(deprecated)] fn deserialize(deserializer: D) -> std::result::Result where D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "path", - "channel_config", - "channelConfig", + "name_path", + "namePath", + "data_path", + "dataPath", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - Path, - ChannelConfig, + NamePath, + DataPath, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2502,8 +3460,8 @@ impl<'de> serde::Deserialize<'de> for ParquetDataColumn { E: serde::de::Error, { match value { - "path" => Ok(GeneratedField::Path), - "channelConfig" | "channel_config" => Ok(GeneratedField::ChannelConfig), + "namePath" | "name_path" => Ok(GeneratedField::NamePath), + "dataPath" | "data_path" => Ok(GeneratedField::DataPath), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2513,44 +3471,44 @@ impl<'de> serde::Deserialize<'de> for ParquetDataColumn { } struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ParquetDataColumn; + type Value = ParquetSingleChannelPerRowMultiChannelConfig; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.data_imports.v2.ParquetDataColumn") + formatter.write_str("struct sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfig") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result where V: serde::de::MapAccess<'de>, { - let mut path__ = None; - let mut channel_config__ = None; + let mut name_path__ = None; + let mut data_path__ = None; while let Some(k) = map_.next_key()? { match k { - GeneratedField::Path => { - if path__.is_some() { - return Err(serde::de::Error::duplicate_field("path")); + GeneratedField::NamePath => { + if name_path__.is_some() { + return Err(serde::de::Error::duplicate_field("namePath")); } - path__ = Some(map_.next_value()?); + name_path__ = Some(map_.next_value()?); } - GeneratedField::ChannelConfig => { - if channel_config__.is_some() { - return Err(serde::de::Error::duplicate_field("channelConfig")); + GeneratedField::DataPath => { + if data_path__.is_some() { + return Err(serde::de::Error::duplicate_field("dataPath")); } - channel_config__ = map_.next_value()?; + data_path__ = Some(map_.next_value()?); } } } - Ok(ParquetDataColumn { - path: path__.unwrap_or_default(), - channel_config: channel_config__, + Ok(ParquetSingleChannelPerRowMultiChannelConfig { + name_path: name_path__.unwrap_or_default(), + data_path: data_path__.unwrap_or_default(), }) } } - deserializer.deserialize_struct("sift.data_imports.v2.ParquetDataColumn", FIELDS, GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowMultiChannelConfig", FIELDS, GeneratedVisitor) } } -impl serde::Serialize for ParquetFlatDatasetConfig { +impl serde::Serialize for ParquetSingleChannelPerRowSingleChannelConfig { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result where @@ -2558,39 +3516,38 @@ impl serde::Serialize for ParquetFlatDatasetConfig { { use serde::ser::SerializeStruct; let mut len = 0; - if self.time_column.is_some() { + if !self.data_path.is_empty() { len += 1; } - if !self.data_columns.is_empty() { + if self.channel.is_some() { len += 1; } - let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetFlatDatasetConfig", len)?; - if let Some(v) = self.time_column.as_ref() { - struct_ser.serialize_field("timeColumn", v)?; + let mut struct_ser = serializer.serialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig", len)?; + if !self.data_path.is_empty() { + struct_ser.serialize_field("dataPath", &self.data_path)?; } - if !self.data_columns.is_empty() { - struct_ser.serialize_field("dataColumns", &self.data_columns)?; + if let Some(v) = self.channel.as_ref() { + struct_ser.serialize_field("channel", v)?; } struct_ser.end() } } -impl<'de> serde::Deserialize<'de> for ParquetFlatDatasetConfig { +impl<'de> serde::Deserialize<'de> for ParquetSingleChannelPerRowSingleChannelConfig { #[allow(deprecated)] fn deserialize(deserializer: D) -> std::result::Result where D: serde::Deserializer<'de>, { const FIELDS: &[&str] = &[ - "time_column", - "timeColumn", - "data_columns", - "dataColumns", + "data_path", + "dataPath", + "channel", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { - TimeColumn, - DataColumns, + DataPath, + Channel, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2612,8 +3569,8 @@ impl<'de> serde::Deserialize<'de> for ParquetFlatDatasetConfig { E: serde::de::Error, { match value { - "timeColumn" | "time_column" => Ok(GeneratedField::TimeColumn), - "dataColumns" | "data_columns" => Ok(GeneratedField::DataColumns), + "dataPath" | "data_path" => Ok(GeneratedField::DataPath), + "channel" => Ok(GeneratedField::Channel), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2623,41 +3580,41 @@ impl<'de> serde::Deserialize<'de> for ParquetFlatDatasetConfig { } struct GeneratedVisitor; impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ParquetFlatDatasetConfig; + type Value = ParquetSingleChannelPerRowSingleChannelConfig; fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.data_imports.v2.ParquetFlatDatasetConfig") + formatter.write_str("struct sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig") } - fn visit_map(self, mut map_: V) -> std::result::Result + fn visit_map(self, mut map_: V) -> std::result::Result where V: serde::de::MapAccess<'de>, { - let mut time_column__ = None; - let mut data_columns__ = None; + let mut data_path__ = None; + let mut channel__ = None; while let Some(k) = map_.next_key()? { match k { - GeneratedField::TimeColumn => { - if time_column__.is_some() { - return Err(serde::de::Error::duplicate_field("timeColumn")); + GeneratedField::DataPath => { + if data_path__.is_some() { + return Err(serde::de::Error::duplicate_field("dataPath")); } - time_column__ = map_.next_value()?; + data_path__ = Some(map_.next_value()?); } - GeneratedField::DataColumns => { - if data_columns__.is_some() { - return Err(serde::de::Error::duplicate_field("dataColumns")); + GeneratedField::Channel => { + if channel__.is_some() { + return Err(serde::de::Error::duplicate_field("channel")); } - data_columns__ = Some(map_.next_value()?); + channel__ = map_.next_value()?; } } } - Ok(ParquetFlatDatasetConfig { - time_column: time_column__, - data_columns: data_columns__.unwrap_or_default(), + Ok(ParquetSingleChannelPerRowSingleChannelConfig { + data_path: data_path__.unwrap_or_default(), + channel: channel__, }) } } - deserializer.deserialize_struct("sift.data_imports.v2.ParquetFlatDatasetConfig", FIELDS, GeneratedVisitor) + deserializer.deserialize_struct("sift.data_imports.v2.ParquetSingleChannelPerRowSingleChannelConfig", FIELDS, GeneratedVisitor) } } impl serde::Serialize for ParquetTimeColumn { diff --git a/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.rs b/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.rs index fbf3679ff..ac4d2c3a6 100644 --- a/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.rs @@ -80,6 +80,8 @@ pub struct ExportDataResponse { pub presigned_url: ::prost::alloc::string::String, #[prost(string, tag="2")] pub job_id: ::prost::alloc::string::String, + #[prost(string, tag="3")] + pub service_message: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct GetDownloadUrlRequest { @@ -90,6 +92,8 @@ pub struct GetDownloadUrlRequest { pub struct GetDownloadUrlResponse { #[prost(string, tag="1")] pub presigned_url: ::prost::alloc::string::String, + #[prost(string, tag="2")] + pub service_message: ::prost::alloc::string::String, } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] @@ -97,6 +101,7 @@ pub enum ExportOutputFormat { Unspecified = 0, Csv = 1, Sun = 2, + Parquet = 3, } impl ExportOutputFormat { /// String value of the enum field names used in the ProtoBuf definition. @@ -108,6 +113,7 @@ impl ExportOutputFormat { Self::Unspecified => "EXPORT_OUTPUT_FORMAT_UNSPECIFIED", Self::Csv => "EXPORT_OUTPUT_FORMAT_CSV", Self::Sun => "EXPORT_OUTPUT_FORMAT_SUN", + Self::Parquet => "EXPORT_OUTPUT_FORMAT_PARQUET", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -116,13 +122,14 @@ impl ExportOutputFormat { "EXPORT_OUTPUT_FORMAT_UNSPECIFIED" => Some(Self::Unspecified), "EXPORT_OUTPUT_FORMAT_CSV" => Some(Self::Csv), "EXPORT_OUTPUT_FORMAT_SUN" => Some(Self::Sun), + "EXPORT_OUTPUT_FORMAT_PARQUET" => Some(Self::Parquet), _ => None, } } } /// Encoded file descriptor set for the `sift.exports.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xf7, 0x36, 0x0a, 0x1d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x0a, 0x8c, 0x3b, 0x0a, 0x1d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, @@ -236,28 +243,36 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x72, 0x74, 0x42, 0x79, 0x41, 0x73, 0x73, 0x65, 0x74, 0x12, 0x2d, 0x0a, 0x13, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x73, 0x70, 0x6c, 0x69, 0x74, 0x45, 0x78, 0x70, - 0x6f, 0x72, 0x74, 0x42, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x5a, 0x0a, 0x12, 0x45, 0x78, 0x70, 0x6f, - 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, - 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x65, 0x73, - 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x6a, - 0x6f, 0x62, 0x49, 0x64, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, - 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x42, 0x0a, 0x16, 0x47, 0x65, 0x74, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0x76, 0x0a, - 0x12, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, - 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, - 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, - 0x54, 0x5f, 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, + 0x6f, 0x72, 0x74, 0x42, 0x79, 0x52, 0x75, 0x6e, 0x22, 0x88, 0x01, 0x0a, 0x12, 0x45, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x75, 0x72, 0x6c, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x70, 0x72, 0x65, + 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0x33, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, + 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x06, + 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x22, 0x70, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x44, + 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x28, 0x0a, 0x0d, 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, + 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x70, 0x72, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x55, 0x72, 0x6c, 0x12, 0x2c, 0x0a, 0x0f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x98, 0x01, 0x0a, 0x12, 0x45, + 0x78, 0x70, 0x6f, 0x72, 0x74, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x46, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x12, 0x24, 0x0a, 0x20, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, + 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, - 0x53, 0x55, 0x4e, 0x10, 0x02, 0x32, 0xf4, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x43, 0x53, 0x56, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, + 0x4f, 0x55, 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x53, 0x55, + 0x4e, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x58, 0x50, 0x4f, 0x52, 0x54, 0x5f, 0x4f, 0x55, + 0x54, 0x50, 0x55, 0x54, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x54, 0x5f, 0x50, 0x41, 0x52, 0x51, + 0x55, 0x45, 0x54, 0x10, 0x03, 0x32, 0xf4, 0x02, 0x0a, 0x0d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8d, 0x01, 0x0a, 0x0a, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x44, @@ -290,7 +305,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x1b, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x45, 0x78, 0x70, 0x6f, 0x72, - 0x74, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xe9, 0x21, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x6f, + 0x74, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xfe, 0x24, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x76, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x18, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, @@ -390,7 +405,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x10, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x32, 0x21, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x03, 0x32, 0x23, 0x4b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x32, 0x24, 0x4a, 0x0a, - 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x35, 0x00, 0x39, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, + 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x35, 0x00, 0x3a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x35, 0x05, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x36, 0x02, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x36, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x36, 0x25, 0x26, @@ -399,169 +414,194 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x37, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x38, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x38, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x38, - 0x1d, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x3b, 0x00, 0x3e, 0x01, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x3b, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x00, 0x12, 0x03, 0x3c, 0x02, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, - 0x12, 0x03, 0x3c, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, - 0x3c, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3c, 0x29, - 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x3c, 0x2b, 0x53, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x3c, 0x2c, 0x52, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x3d, 0x02, 0x53, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x3d, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3d, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x3d, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, - 0x12, 0x03, 0x3d, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x3d, 0x2b, 0x51, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x40, 0x00, - 0x44, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x40, 0x08, 0x18, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x41, 0x02, 0x47, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x00, 0x04, 0x12, 0x03, 0x41, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x05, 0x12, 0x03, 0x41, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x41, 0x12, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x41, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x41, 0x1e, - 0x46, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x41, - 0x1f, 0x45, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x42, 0x02, 0x54, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x42, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x42, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x42, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x08, 0x12, 0x03, 0x42, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x03, 0x42, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, - 0x12, 0x03, 0x43, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x03, - 0x43, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x43, 0x1c, - 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x43, 0x28, 0x29, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x43, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, - 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x43, 0x2b, 0x51, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, - 0x01, 0x12, 0x03, 0x46, 0x08, 0x1a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, - 0x47, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x47, 0x02, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x47, 0x0b, 0x11, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x47, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x47, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x47, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x47, 0x21, 0x47, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, - 0x02, 0x01, 0x12, 0x03, 0x48, 0x02, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, - 0x12, 0x03, 0x48, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x48, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x48, 0x29, - 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x03, 0x48, 0x2b, 0x53, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x48, 0x2c, 0x52, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x49, 0x02, 0x53, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, 0x12, 0x03, 0x49, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x49, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x03, 0x12, 0x03, 0x49, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, - 0x12, 0x03, 0x49, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x49, 0x2b, 0x51, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x4c, 0x00, - 0x51, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x4c, 0x08, 0x1f, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x4d, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x4d, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x4d, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, - 0x4d, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x4d, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4e, 0x02, - 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x03, 0x4e, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4e, 0x09, 0x13, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4e, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x4e, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4e, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, - 0x02, 0x02, 0x12, 0x04, 0x4f, 0x02, 0x91, 0x01, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, - 0x04, 0x12, 0x03, 0x4f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, - 0x03, 0x4f, 0x0b, 0x50, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x4f, - 0x51, 0x63, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x4f, 0x66, 0x67, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x04, 0x4f, 0x68, 0x90, 0x01, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x4f, 0x69, 0x8f, - 0x01, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x03, 0x50, 0x02, 0x45, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x04, 0x12, 0x03, 0x50, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, 0x03, 0x50, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x03, 0x01, 0x12, 0x03, 0x50, 0x12, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x03, 0x12, 0x03, 0x50, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, - 0x03, 0x50, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x50, 0x1d, 0x43, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x53, 0x00, 0x5e, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x53, 0x08, 0x15, 0x0a, 0x69, 0x0a, - 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x55, 0x02, 0x1d, 0x1a, 0x5c, 0x20, 0x57, 0x68, 0x65, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6c, 0x65, 0x67, 0x61, - 0x63, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, - 0x69, 0x6e, 0x73, 0x20, 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x55, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x55, 0x07, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x55, - 0x1b, 0x1c, 0x0a, 0x7c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x03, 0x57, 0x02, 0x22, 0x1a, - 0x6f, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x6d, - 0x70, 0x6c, 0x69, 0x66, 0x79, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, - 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, - 0x66, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, - 0x20, 0x69, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x03, 0x57, 0x02, 0x06, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x03, 0x57, 0x07, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, 0x57, 0x20, 0x21, 0x0a, 0x8a, 0x01, 0x0a, 0x04, 0x04, - 0x05, 0x02, 0x02, 0x12, 0x03, 0x59, 0x02, 0x18, 0x1a, 0x7d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x2e, 0x20, 0x65, 0x2e, 0x67, 0x2e, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, - 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, - 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, - 0x12, 0x03, 0x59, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x03, - 0x59, 0x07, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x03, 0x59, 0x16, - 0x17, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x03, 0x5b, 0x02, 0x21, 0x1a, 0x2d, - 0x20, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e, - 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x03, 0x05, 0x12, 0x03, 0x5b, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5b, 0x07, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x5b, 0x1f, 0x20, 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, - 0x03, 0x5d, 0x02, 0x1f, 0x1a, 0x2b, 0x20, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x20, 0x65, 0x61, 0x63, - 0x68, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, - 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x05, 0x12, 0x03, 0x5d, 0x02, 0x06, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5d, 0x07, 0x1a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5d, 0x1d, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x06, 0x12, 0x04, 0x60, 0x00, 0x67, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, - 0x60, 0x08, 0x1a, 0x0a, 0xb2, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x63, 0x02, - 0x44, 0x1a, 0xa4, 0x01, 0x20, 0x50, 0x72, 0x65, 0x2d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, - 0x55, 0x52, 0x4c, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, - 0x7a, 0x69, 0x70, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x20, - 0x69, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x69, 0x73, 0x20, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, - 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x6a, 0x6f, 0x62, 0x2c, 0x20, 0x69, 0x6e, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x73, 0x65, 0x20, 0x60, 0x6a, 0x6f, 0x62, - 0x5f, 0x69, 0x64, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x6e, - 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x63, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x63, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x63, - 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x03, 0x63, 0x1b, 0x43, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x63, 0x1c, - 0x42, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x03, 0x66, 0x02, 0x3d, 0x1a, 0x5d, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, - 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, 0x73, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, - 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, - 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x62, 0x61, 0x63, - 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x20, 0x6a, 0x6f, 0x62, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x03, 0x66, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x66, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x66, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, - 0x12, 0x03, 0x66, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x66, 0x15, 0x3b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x69, 0x00, - 0x6b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x69, 0x08, 0x1d, 0x0a, 0x0b, - 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x6a, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x00, 0x05, 0x12, 0x03, 0x6a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x00, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x6a, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, - 0x6a, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x6a, 0x15, 0x3b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x6d, 0x00, 0x6f, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x03, 0x6d, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x08, 0x02, 0x00, 0x12, 0x03, 0x6e, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x00, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x6e, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x6e, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6e, 0x1b, - 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6e, - 0x1c, 0x42, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, 0x39, 0x02, 0x23, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x39, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x39, 0x21, 0x22, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x01, 0x12, 0x04, 0x3c, 0x00, 0x3f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, + 0x3c, 0x08, 0x11, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x3d, 0x02, 0x54, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x3d, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x3d, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x3d, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x00, 0x08, 0x12, 0x03, 0x3d, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x3d, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, + 0x01, 0x12, 0x03, 0x3e, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, + 0x03, 0x3e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x3e, + 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x3e, 0x28, 0x29, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x3e, 0x2a, 0x52, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x3e, 0x2b, 0x51, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x41, 0x00, 0x45, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x02, 0x01, 0x12, 0x03, 0x41, 0x08, 0x18, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, + 0x03, 0x42, 0x02, 0x47, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x04, 0x12, 0x03, 0x42, + 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x42, 0x0b, 0x11, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x42, 0x12, 0x19, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x42, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x42, 0x1e, 0x46, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x42, 0x1f, 0x45, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x43, 0x02, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x43, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x43, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x43, + 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x43, 0x2b, 0x53, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x43, 0x2c, + 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x44, 0x02, 0x53, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x03, 0x44, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x44, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x44, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, + 0x08, 0x12, 0x03, 0x44, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x03, 0x44, 0x2b, 0x51, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x47, + 0x00, 0x4b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x47, 0x08, 0x1a, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x48, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x03, 0x48, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x48, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x48, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x48, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x48, + 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x48, 0x21, 0x47, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x49, 0x02, 0x54, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x49, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x49, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x49, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x01, 0x08, 0x12, 0x03, 0x49, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x49, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, + 0x02, 0x12, 0x03, 0x4a, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x4a, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x4a, + 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x4a, 0x28, 0x29, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, 0x03, 0x4a, 0x2a, 0x52, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4a, 0x2b, 0x51, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x4d, 0x00, 0x52, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x04, 0x01, 0x12, 0x03, 0x4d, 0x08, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, + 0x03, 0x4e, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4e, + 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4e, 0x09, 0x0d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4e, 0x10, 0x11, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x4e, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4e, 0x13, 0x39, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4f, 0x02, 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x01, 0x05, 0x12, 0x03, 0x4f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, + 0x01, 0x12, 0x03, 0x4f, 0x09, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, + 0x03, 0x4f, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x03, 0x4f, + 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x4f, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0x50, 0x02, 0x91, + 0x01, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x03, 0x50, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x03, 0x50, 0x0b, 0x50, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x50, 0x51, 0x63, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x02, 0x03, 0x12, 0x03, 0x50, 0x66, 0x67, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x02, 0x08, 0x12, 0x04, 0x50, 0x68, 0x90, 0x01, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x50, 0x69, 0x8f, 0x01, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, + 0x02, 0x03, 0x12, 0x03, 0x51, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x04, + 0x12, 0x03, 0x51, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x05, 0x12, 0x03, + 0x51, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, 0x03, 0x51, 0x12, + 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x03, 0x51, 0x1a, 0x1b, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x03, 0x51, 0x1c, 0x44, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x51, 0x1d, 0x43, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x54, 0x00, 0x5f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, + 0x01, 0x12, 0x03, 0x54, 0x08, 0x15, 0x0a, 0x69, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, + 0x56, 0x02, 0x1d, 0x1a, 0x5c, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x20, 0x77, 0x68, + 0x69, 0x63, 0x68, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x6b, 0x65, 0x79, + 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x56, 0x02, 0x06, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x56, 0x07, 0x18, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x56, 0x1b, 0x1c, 0x0a, 0x7c, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x01, 0x12, 0x03, 0x58, 0x02, 0x22, 0x1a, 0x6f, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x79, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, + 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x66, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x01, 0x05, 0x12, 0x03, 0x58, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, + 0x12, 0x03, 0x58, 0x07, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x03, + 0x58, 0x20, 0x21, 0x0a, 0x8a, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x03, 0x5a, 0x02, + 0x18, 0x1a, 0x7d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x63, + 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x20, 0x65, 0x2e, 0x67, + 0x2e, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x69, + 0x6e, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x62, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x03, 0x5a, 0x02, 0x06, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5a, 0x07, 0x13, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x03, 0x5a, 0x16, 0x17, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x05, + 0x02, 0x03, 0x12, 0x03, 0x5c, 0x02, 0x21, 0x1a, 0x2d, 0x20, 0x53, 0x70, 0x6c, 0x69, 0x74, 0x20, + 0x65, 0x61, 0x63, 0x68, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x69, 0x6e, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x05, 0x12, + 0x03, 0x5c, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5c, + 0x07, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5c, 0x1f, 0x20, + 0x0a, 0x38, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x03, 0x5e, 0x02, 0x1f, 0x1a, 0x2b, 0x20, + 0x53, 0x70, 0x6c, 0x69, 0x74, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, + 0x6e, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x65, 0x78, + 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x04, 0x05, 0x12, 0x03, 0x5e, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, + 0x01, 0x12, 0x03, 0x5e, 0x07, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, + 0x03, 0x5e, 0x1d, 0x1e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x61, 0x00, 0x6b, 0x01, + 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x61, 0x08, 0x1a, 0x0a, 0xb2, 0x01, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x64, 0x02, 0x44, 0x1a, 0xa4, 0x01, 0x20, 0x50, 0x72, + 0x65, 0x2d, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x55, 0x52, 0x4c, 0x20, 0x6f, 0x66, 0x20, + 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x20, 0x7a, 0x69, 0x70, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x66, + 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x62, 0x6c, 0x61, 0x6e, 0x6b, 0x20, 0x69, 0x66, 0x0a, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x20, 0x6a, 0x6f, 0x62, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, + 0x63, 0x61, 0x73, 0x65, 0x20, 0x60, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x03, 0x64, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x64, 0x09, 0x16, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x64, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x00, 0x08, 0x12, 0x03, 0x64, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x64, 0x1c, 0x42, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x06, + 0x02, 0x01, 0x12, 0x03, 0x67, 0x02, 0x3d, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6e, 0x6f, 0x6e, 0x2d, 0x65, 0x6d, 0x70, 0x74, 0x79, + 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x69, + 0x73, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x6c, 0x79, + 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x20, 0x6a, 0x6f, 0x62, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, + 0x03, 0x67, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x03, 0x67, + 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x03, 0x67, 0x12, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x03, 0x67, 0x14, 0x3c, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x67, 0x15, 0x3b, 0x0a, + 0x7b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x03, 0x6a, 0x02, 0x46, 0x1a, 0x6e, 0x20, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x65, 0x2e, 0x67, 0x2e, + 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x34, + 0x30, 0x33, 0x20, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x29, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x03, 0x6a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x6a, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, + 0x03, 0x12, 0x03, 0x6a, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, + 0x03, 0x6a, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x6a, 0x1e, 0x44, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x6d, 0x00, 0x6f, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x6d, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x6e, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x6e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x6e, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x6e, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6e, + 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x6e, 0x15, 0x3b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x71, 0x00, 0x76, 0x01, 0x0a, + 0x0a, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x03, 0x71, 0x08, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x08, 0x02, 0x00, 0x12, 0x03, 0x72, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, + 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, + 0x03, 0x72, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, 0x72, + 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x03, 0x72, 0x1b, 0x43, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x72, 0x1c, + 0x42, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x03, 0x75, 0x02, 0x46, 0x1a, 0x4e, + 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x73, + 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x03, 0x75, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x01, 0x03, 0x12, 0x03, 0x75, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, + 0x08, 0x12, 0x03, 0x75, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x03, 0x75, 0x1e, 0x44, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.exports.v1.tonic.rs"); include!("sift.exports.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.serde.rs index 25d42d98f..1417f2979 100644 --- a/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/exports/v1/sift.exports.v1.serde.rs @@ -483,6 +483,9 @@ impl serde::Serialize for ExportDataResponse { if !self.job_id.is_empty() { len += 1; } + if !self.service_message.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.exports.v1.ExportDataResponse", len)?; if !self.presigned_url.is_empty() { struct_ser.serialize_field("presignedUrl", &self.presigned_url)?; @@ -490,6 +493,9 @@ impl serde::Serialize for ExportDataResponse { if !self.job_id.is_empty() { struct_ser.serialize_field("jobId", &self.job_id)?; } + if !self.service_message.is_empty() { + struct_ser.serialize_field("serviceMessage", &self.service_message)?; + } struct_ser.end() } } @@ -504,12 +510,15 @@ impl<'de> serde::Deserialize<'de> for ExportDataResponse { "presignedUrl", "job_id", "jobId", + "service_message", + "serviceMessage", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { PresignedUrl, JobId, + ServiceMessage, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -533,6 +542,7 @@ impl<'de> serde::Deserialize<'de> for ExportDataResponse { match value { "presignedUrl" | "presigned_url" => Ok(GeneratedField::PresignedUrl), "jobId" | "job_id" => Ok(GeneratedField::JobId), + "serviceMessage" | "service_message" => Ok(GeneratedField::ServiceMessage), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -554,6 +564,7 @@ impl<'de> serde::Deserialize<'de> for ExportDataResponse { { let mut presigned_url__ = None; let mut job_id__ = None; + let mut service_message__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::PresignedUrl => { @@ -568,11 +579,18 @@ impl<'de> serde::Deserialize<'de> for ExportDataResponse { } job_id__ = Some(map_.next_value()?); } + GeneratedField::ServiceMessage => { + if service_message__.is_some() { + return Err(serde::de::Error::duplicate_field("serviceMessage")); + } + service_message__ = Some(map_.next_value()?); + } } } Ok(ExportDataResponse { presigned_url: presigned_url__.unwrap_or_default(), job_id: job_id__.unwrap_or_default(), + service_message: service_message__.unwrap_or_default(), }) } } @@ -753,6 +771,7 @@ impl serde::Serialize for ExportOutputFormat { Self::Unspecified => "EXPORT_OUTPUT_FORMAT_UNSPECIFIED", Self::Csv => "EXPORT_OUTPUT_FORMAT_CSV", Self::Sun => "EXPORT_OUTPUT_FORMAT_SUN", + Self::Parquet => "EXPORT_OUTPUT_FORMAT_PARQUET", }; serializer.serialize_str(variant) } @@ -767,6 +786,7 @@ impl<'de> serde::Deserialize<'de> for ExportOutputFormat { "EXPORT_OUTPUT_FORMAT_UNSPECIFIED", "EXPORT_OUTPUT_FORMAT_CSV", "EXPORT_OUTPUT_FORMAT_SUN", + "EXPORT_OUTPUT_FORMAT_PARQUET", ]; struct GeneratedVisitor; @@ -810,6 +830,7 @@ impl<'de> serde::Deserialize<'de> for ExportOutputFormat { "EXPORT_OUTPUT_FORMAT_UNSPECIFIED" => Ok(ExportOutputFormat::Unspecified), "EXPORT_OUTPUT_FORMAT_CSV" => Ok(ExportOutputFormat::Csv), "EXPORT_OUTPUT_FORMAT_SUN" => Ok(ExportOutputFormat::Sun), + "EXPORT_OUTPUT_FORMAT_PARQUET" => Ok(ExportOutputFormat::Parquet), _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), } } @@ -920,10 +941,16 @@ impl serde::Serialize for GetDownloadUrlResponse { if !self.presigned_url.is_empty() { len += 1; } + if !self.service_message.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.exports.v1.GetDownloadUrlResponse", len)?; if !self.presigned_url.is_empty() { struct_ser.serialize_field("presignedUrl", &self.presigned_url)?; } + if !self.service_message.is_empty() { + struct_ser.serialize_field("serviceMessage", &self.service_message)?; + } struct_ser.end() } } @@ -936,11 +963,14 @@ impl<'de> serde::Deserialize<'de> for GetDownloadUrlResponse { const FIELDS: &[&str] = &[ "presigned_url", "presignedUrl", + "service_message", + "serviceMessage", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { PresignedUrl, + ServiceMessage, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -963,6 +993,7 @@ impl<'de> serde::Deserialize<'de> for GetDownloadUrlResponse { { match value { "presignedUrl" | "presigned_url" => Ok(GeneratedField::PresignedUrl), + "serviceMessage" | "service_message" => Ok(GeneratedField::ServiceMessage), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -983,6 +1014,7 @@ impl<'de> serde::Deserialize<'de> for GetDownloadUrlResponse { V: serde::de::MapAccess<'de>, { let mut presigned_url__ = None; + let mut service_message__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::PresignedUrl => { @@ -991,10 +1023,17 @@ impl<'de> serde::Deserialize<'de> for GetDownloadUrlResponse { } presigned_url__ = Some(map_.next_value()?); } + GeneratedField::ServiceMessage => { + if service_message__.is_some() { + return Err(serde::de::Error::duplicate_field("serviceMessage")); + } + service_message__ = Some(map_.next_value()?); + } } } Ok(GetDownloadUrlResponse { presigned_url: presigned_url__.unwrap_or_default(), + service_message: service_message__.unwrap_or_default(), }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/options/v1/sift.options.v1.rs b/rust/crates/sift_rs/src/gen/sift/options/v1/sift.options.v1.rs deleted file mode 100644 index 872021e32..000000000 --- a/rust/crates/sift_rs/src/gen/sift/options/v1/sift.options.v1.rs +++ /dev/null @@ -1,40 +0,0 @@ -// @generated -/// Encoded file descriptor set for the `sift.options.v1` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xad, 0x04, 0x0a, 0x21, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x66, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 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, 0x3a, 0x41, 0x0a, 0x0b, 0x73, 0x61, 0x66, - 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x6c, 0x6f, 0x67, 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, 0xf0, 0xa2, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x09, 0x73, 0x61, 0x66, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x42, 0x83, 0x01, 0x0a, - 0x13, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0e, 0x53, 0x61, 0x66, 0x65, 0x54, 0x6f, 0x4c, 0x6f, 0x67, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x4f, 0x58, 0xaa, 0x02, 0x0f, 0x53, - 0x69, 0x66, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, - 0x0f, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, 0x56, 0x31, - 0xe2, 0x02, 0x1b, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x11, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x3a, - 0x56, 0x31, 0x4a, 0x83, 0x02, 0x0a, 0x06, 0x12, 0x04, 0x00, 0x00, 0x0b, 0x01, 0x0a, 0x08, 0x0a, - 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, - 0x18, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x2a, 0x0a, 0x9e, 0x01, 0x0a, - 0x01, 0x07, 0x12, 0x04, 0x09, 0x00, 0x0b, 0x01, 0x1a, 0x92, 0x01, 0x20, 0x49, 0x6e, 0x64, 0x69, - 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x64, - 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, - 0x61, 0x6e, 0x79, 0x20, 0x73, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x20, 0x69, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x0a, 0x20, 0x69, - 0x73, 0x20, 0x73, 0x61, 0x66, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x69, 0x6e, - 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6c, 0x6f, 0x67, 0x73, 0x2e, 0x20, 0x57, 0x68, - 0x69, 0x74, 0x65, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x61, 0x63, 0x68, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x73, 0x61, 0x66, 0x65, 0x74, 0x79, 0x2e, 0x0a, 0x0a, 0x09, 0x0a, - 0x02, 0x07, 0x00, 0x12, 0x03, 0x0a, 0x02, 0x1b, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x02, 0x12, - 0x03, 0x09, 0x07, 0x25, 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x05, 0x12, 0x03, 0x0a, 0x02, 0x06, - 0x0a, 0x0a, 0x0a, 0x03, 0x07, 0x00, 0x01, 0x12, 0x03, 0x0a, 0x07, 0x12, 0x0a, 0x0a, 0x0a, 0x03, - 0x07, 0x00, 0x03, 0x12, 0x03, 0x0a, 0x15, 0x1a, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -]; -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.rs b/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.rs deleted file mode 100644 index c20027226..000000000 --- a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.rs +++ /dev/null @@ -1,843 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct Policy { - #[prost(string, tag="1")] - pub policy_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub name: ::prost::alloc::string::String, - #[prost(string, optional, tag="3")] - pub description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, tag="4")] - pub organization_id: ::prost::alloc::string::String, - #[prost(string, tag="5")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(string, tag="6")] - pub modified_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="7")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(message, optional, tag="8")] - pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(message, optional, tag="9")] - pub configuration: ::core::option::Option, - #[prost(string, tag="10")] - pub policy_version_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="11")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(bool, tag="12")] - pub is_archived: bool, - #[prost(int32, optional, tag="13")] - pub version: ::core::option::Option, - #[prost(string, optional, tag="14")] - pub version_notes: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] - pub generated_change_message: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct PolicyConfiguration { - #[prost(string, tag="1")] - pub cedar_policy: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetPolicyRequest { - #[prost(string, tag="1")] - pub policy_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetPolicyResponse { - #[prost(message, optional, tag="1")] - pub policy: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListPoliciesRequest { - #[prost(uint32, tag="1")] - pub page_size: u32, - #[prost(string, tag="2")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub order_by: ::prost::alloc::string::String, - #[prost(bool, tag="6")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListPoliciesResponse { - #[prost(message, repeated, tag="1")] - pub policies: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreatePolicyRequest { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, optional, tag="2")] - pub description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] - pub configuration: ::core::option::Option, - #[prost(string, optional, tag="4")] - pub version_notes: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreatePolicyResponse { - #[prost(message, optional, tag="1")] - pub policy: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdatePolicyRequest { - #[prost(message, optional, tag="1")] - pub policy: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub update_mask: ::core::option::Option<::pbjson_types::FieldMask>, - #[prost(string, optional, tag="3")] - pub version_notes: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdatePolicyResponse { - #[prost(message, optional, tag="1")] - pub policy: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchivePolicyRequest { - #[prost(string, tag="1")] - pub policy_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchivePolicyResponse { - #[prost(message, optional, tag="1")] - pub policy: ::core::option::Option, -} -/// Encoded file descriptor set for the `sift.policies.v1` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xec, 0x5a, 0x0a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x10, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, - 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x86, 0x07, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, - 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, - 0x3a, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 0x11, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x0f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x0b, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x07, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x01, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x2d, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0c, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x12, - 0x42, 0x0a, 0x18, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x03, 0x52, 0x16, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, - 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x42, 0x1b, 0x0a, 0x19, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x38, - 0x0a, 0x13, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x65, 0x64, 0x61, 0x72, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x65, 0x64, - 0x61, 0x72, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x3c, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0xc8, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0x74, 0x0a, - 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x34, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0xfd, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, - 0x12, 0x50, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, - 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, - 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, - 0x74, 0x65, 0x73, 0x22, 0x4d, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0xca, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, - 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, - 0x6f, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, 0x42, 0x10, 0x0a, - 0x0e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x22, - 0x4d, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x40, - 0x0a, 0x14, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x09, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x49, 0x64, - 0x22, 0x4e, 0x0a, 0x15, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x06, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x32, 0x91, 0x08, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x12, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x38, 0x12, 0x09, - 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x12, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x2a, 0x17, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xd1, 0x01, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x72, 0x92, 0x41, 0x57, 0x12, - 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x2b, 0x52, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xbd, - 0x01, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, - 0x92, 0x41, 0x40, 0x12, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x1a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x22, 0x10, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xb9, - 0x01, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, - 0x92, 0x41, 0x3c, 0x12, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x1a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2e, 0x2a, 0x1a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x15, 0x3a, 0x01, 0x2a, 0x32, 0x10, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, - 0x41, 0x3f, 0x12, 0x0d, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x1a, 0x11, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x2a, 0x1b, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x1a, 0x25, 0x92, - 0x41, 0x22, 0x12, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x2e, 0x42, 0x9c, 0x01, 0x92, 0x41, 0x12, 0x12, 0x10, 0x0a, 0x0e, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x14, 0x63, 0x6f, - 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x42, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x50, 0x58, 0xaa, 0x02, 0x10, 0x53, 0x69, 0x66, 0x74, - 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x10, 0x53, - 0x69, 0x66, 0x74, 0x5c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x1c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x5c, - 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x12, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x3a, - 0x3a, 0x56, 0x31, 0x4a, 0xa1, 0x3e, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xd3, 0x01, 0x01, 0x0a, - 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, - 0x02, 0x00, 0x19, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, - 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x2a, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, - 0x12, 0x03, 0x09, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0b, 0x00, 0x0d, 0x02, - 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0b, 0x00, 0x0d, 0x02, 0x0a, 0x0b, 0x0a, - 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0c, 0x02, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, - 0x08, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x20, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, - 0x0f, 0x00, 0x49, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0f, 0x08, 0x15, - 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x03, 0x10, 0x02, 0x77, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x03, 0x10, 0x02, 0x77, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, - 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x10, 0x46, 0x75, 0x0a, 0x21, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x00, 0x12, 0x04, 0x13, 0x02, 0x1a, 0x03, 0x1a, 0x13, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x13, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x13, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x13, 0x2b, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x14, 0x04, 0x45, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x03, 0x14, 0x04, 0x45, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x14, 0x20, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x12, 0x04, 0x15, 0x04, 0x19, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x92, 0x08, 0x12, 0x04, 0x15, 0x04, 0x19, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x16, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x17, 0x06, 0x27, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x18, 0x06, 0x2d, 0x0a, 0x3b, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x1d, 0x02, 0x24, 0x03, 0x1a, 0x2d, 0x20, 0x52, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x75, - 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x01, 0x01, 0x12, 0x03, 0x1d, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, - 0x12, 0x03, 0x1d, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x1d, 0x31, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x1e, 0x04, - 0x39, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, - 0x1e, 0x04, 0x39, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x02, 0x12, 0x03, 0x1e, 0x20, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, - 0x04, 0x1f, 0x04, 0x23, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, - 0x12, 0x04, 0x1f, 0x04, 0x23, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, - 0x08, 0x02, 0x12, 0x03, 0x20, 0x06, 0x1d, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, - 0x92, 0x08, 0x03, 0x12, 0x03, 0x21, 0x06, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, - 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x22, 0x06, 0x30, 0x0a, 0x1f, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x02, 0x12, 0x04, 0x27, 0x02, 0x31, 0x03, 0x1a, 0x11, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x27, 0x06, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, - 0x02, 0x12, 0x03, 0x27, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, - 0x03, 0x27, 0x31, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x28, - 0x04, 0x2b, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x12, 0x04, 0x28, 0x04, 0x2b, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x29, 0x06, 0x1e, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, - 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x2a, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x2c, 0x04, 0x30, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, - 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x2c, 0x04, 0x30, 0x06, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x2d, 0x06, 0x1d, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x2e, 0x06, 0x29, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x05, 0x12, 0x03, 0x2f, 0x06, 0x30, 0x0a, - 0x1f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x34, 0x02, 0x3e, 0x03, 0x1a, 0x11, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x34, 0x06, 0x12, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x34, 0x13, 0x26, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x34, 0x31, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x12, 0x04, 0x35, 0x04, 0x38, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x35, 0x04, 0x38, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x36, 0x06, 0x1f, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x37, - 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x39, 0x04, 0x3d, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x39, 0x04, - 0x3d, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x3a, 0x06, 0x1d, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x3b, 0x06, 0x25, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x05, - 0x12, 0x03, 0x3c, 0x06, 0x30, 0x0a, 0x20, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x41, - 0x02, 0x48, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, - 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, - 0x12, 0x03, 0x41, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, - 0x41, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x41, 0x33, - 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x42, 0x04, 0x4e, 0x0a, - 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x42, 0x04, - 0x4e, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, - 0x03, 0x42, 0x20, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x43, - 0x04, 0x47, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, - 0x43, 0x04, 0x47, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x03, 0x44, 0x06, 0x1e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x03, 0x45, 0x06, 0x26, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, - 0x08, 0x05, 0x12, 0x03, 0x46, 0x06, 0x31, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x4b, - 0x00, 0x70, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x4b, 0x08, 0x0e, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0x4c, 0x02, 0x4f, 0x04, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x4c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4c, 0x09, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x4c, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, - 0x12, 0x04, 0x4c, 0x17, 0x4f, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x4d, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x4e, 0x04, 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x01, 0x12, 0x03, 0x50, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, - 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x50, - 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x50, 0x10, 0x11, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x50, 0x12, 0x3a, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x50, 0x13, 0x39, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x51, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x51, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x05, 0x12, 0x03, 0x51, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x51, 0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, - 0x03, 0x51, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x51, - 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x51, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0x52, 0x02, 0x55, - 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x52, 0x02, 0x08, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x52, 0x09, 0x18, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x52, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x08, 0x12, 0x04, 0x52, 0x1d, 0x55, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x53, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, - 0x00, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x54, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0x56, 0x02, 0x59, 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x56, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x04, 0x01, 0x12, 0x03, 0x56, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, - 0x12, 0x03, 0x56, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x04, - 0x56, 0x20, 0x59, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x57, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x04, 0x08, 0x87, 0x09, - 0x0e, 0x16, 0x12, 0x03, 0x58, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, - 0x04, 0x5a, 0x02, 0x5d, 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, - 0x5a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x5a, 0x09, - 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x5a, 0x1f, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x04, 0x5a, 0x21, 0x5d, 0x03, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x04, 0x2a, 0x0a, - 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x05, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x5c, 0x04, - 0x2b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x5e, 0x02, 0x56, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x5e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x5e, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x03, 0x12, 0x03, 0x5e, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, - 0x08, 0x12, 0x03, 0x5e, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x5e, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, - 0x03, 0x5f, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x5f, - 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x5f, 0x1c, 0x29, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x5f, 0x2c, 0x2d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x5f, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5f, 0x2f, 0x55, 0x0a, 0x29, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x61, 0x02, 0x51, 0x1a, 0x1c, 0x20, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, - 0x06, 0x12, 0x03, 0x61, 0x02, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, - 0x03, 0x61, 0x16, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x61, - 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x03, 0x61, 0x28, 0x50, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x61, 0x29, - 0x4f, 0x0a, 0x3a, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0x63, 0x02, 0x66, 0x04, 0x1a, - 0x2c, 0x20, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, 0x63, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x63, 0x09, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x09, 0x03, 0x12, 0x03, 0x63, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, - 0x12, 0x04, 0x63, 0x20, 0x66, 0x03, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x64, 0x04, 0x2a, 0x0a, 0x10, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x09, 0x08, - 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x65, 0x04, 0x2b, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x0a, 0x12, 0x03, 0x68, 0x02, 0x58, 0x1a, 0x23, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x77, 0x61, 0x73, - 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0a, 0x06, 0x12, 0x03, 0x68, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0a, 0x01, 0x12, 0x03, 0x68, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, - 0x12, 0x03, 0x68, 0x2c, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, - 0x68, 0x2f, 0x57, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x68, 0x30, 0x56, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x03, 0x69, 0x02, - 0x41, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x05, 0x12, 0x03, 0x69, 0x02, 0x06, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x69, 0x07, 0x12, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x69, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0b, 0x08, 0x12, 0x03, 0x69, 0x18, 0x40, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x69, 0x19, 0x3f, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x0c, 0x12, 0x03, 0x6b, 0x02, 0x47, 0x1a, 0x29, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x03, 0x6b, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x03, 0x6b, 0x0b, 0x10, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x6b, 0x11, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x6b, 0x1b, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0c, 0x08, 0x12, 0x03, 0x6b, 0x1e, 0x46, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6b, 0x1f, 0x45, 0x0a, 0x2e, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x0d, 0x12, 0x03, 0x6d, 0x02, 0x4e, 0x1a, 0x21, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0d, 0x04, 0x12, 0x03, 0x6d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x05, - 0x12, 0x03, 0x6d, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, - 0x6d, 0x12, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x03, 0x6d, 0x22, - 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x03, 0x6d, 0x25, 0x4d, 0x0a, - 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6d, 0x26, 0x4c, - 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x03, 0x6f, 0x02, 0x59, 0x1a, 0x30, 0x20, - 0x41, 0x75, 0x74, 0x6f, 0x2d, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x03, 0x6f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x6f, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x6f, 0x12, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0e, 0x03, 0x12, 0x03, 0x6f, 0x2d, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, - 0x12, 0x03, 0x6f, 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x03, 0x6f, 0x31, 0x57, 0x0a, 0xcb, 0x01, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x75, - 0x00, 0x77, 0x01, 0x1a, 0xbe, 0x01, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, - 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x0a, - 0x20, 0x45, 0x78, 0x70, 0x65, 0x63, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x43, 0x65, 0x64, - 0x61, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x0a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2e, 0x63, 0x65, 0x64, 0x61, 0x72, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x2f, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x68, - 0x74, 0x6d, 0x6c, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x75, 0x08, 0x1b, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x76, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x76, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x76, 0x09, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x03, 0x12, 0x03, 0x76, 0x18, 0x19, 0x0a, 0x42, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x7a, - 0x00, 0x7f, 0x01, 0x1a, 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, - 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x02, 0x01, 0x12, 0x03, 0x7a, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x04, 0x7b, 0x02, 0x7e, 0x04, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, - 0x7b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7b, 0x09, - 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7b, 0x15, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x7b, 0x17, 0x7e, 0x03, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, 0x04, 0x2a, 0x0a, - 0x10, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x03, 0x7d, 0x04, - 0x2b, 0x0a, 0x44, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x82, 0x01, 0x00, 0x84, 0x01, 0x01, 0x1a, - 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, - 0x82, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x83, 0x01, - 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x83, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x01, 0x09, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x01, 0x12, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x04, 0x83, 0x01, 0x14, 0x3c, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x01, 0x15, 0x3b, - 0x0a, 0x5c, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x87, 0x01, 0x00, 0xa3, 0x01, 0x01, 0x1a, 0x4e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x87, 0x01, 0x08, 0x1b, 0x0a, 0xed, 0x01, 0x0a, 0x04, - 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x40, 0x1a, 0xde, 0x01, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, - 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, - 0x30, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, - 0x73, 0x20, 0x31, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, - 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, - 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x08, 0x12, 0x04, 0x8b, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x18, 0x3e, 0x0a, 0xfa, 0x01, 0x0a, 0x04, 0x04, 0x04, - 0x02, 0x01, 0x12, 0x04, 0x91, 0x01, 0x02, 0x41, 0x1a, 0xeb, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, - 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, - 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, - 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, - 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, - 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, - 0x04, 0x91, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, - 0x91, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x91, - 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x08, 0x12, 0x04, 0x91, 0x01, - 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0x91, 0x01, 0x19, 0x3f, 0x0a, 0xf0, 0x04, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x02, 0x12, 0x04, 0x98, - 0x01, 0x02, 0x3d, 0x1a, 0xe1, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, - 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, - 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x60, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x69, 0x73, - 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, - 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, - 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, - 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, - 0x69, 0x65, 0x73, 0x23, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x05, - 0x12, 0x04, 0x98, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, - 0x04, 0x98, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, - 0x98, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x04, 0x98, - 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x98, 0x01, 0x15, 0x3b, 0x0a, 0xb3, 0x03, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, 0x04, - 0x9f, 0x01, 0x02, 0x3f, 0x1a, 0xa4, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, - 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, - 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, - 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, - 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x03, 0x05, 0x12, 0x04, 0x9f, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x03, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x03, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x08, 0x12, 0x04, 0x9f, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9f, 0x01, 0x17, 0x3d, 0x0a, 0x78, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x04, 0x12, 0x04, 0xa2, 0x01, 0x02, 0x45, 0x1a, 0x6a, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x73, 0x65, - 0x74, 0x2c, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x69, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x05, 0x12, 0x04, 0xa2, 0x01, - 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x07, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x03, 0x12, 0x04, 0xa2, 0x01, 0x1a, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x04, 0x08, 0x12, 0x04, 0xa2, 0x01, 0x1c, 0x44, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa2, 0x01, 0x1d, - 0x43, 0x0a, 0x45, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xa6, 0x01, 0x00, 0xa9, 0x01, 0x01, 0x1a, - 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, - 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, - 0x04, 0xa6, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xa7, - 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, 0x04, 0xa7, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x12, 0x1a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x1d, 0x1e, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa8, 0x01, 0x1b, 0x1c, 0x0a, 0x5e, 0x0a, 0x02, 0x04, 0x06, - 0x12, 0x06, 0xac, 0x01, 0x00, 0xb3, 0x01, 0x01, 0x1a, 0x50, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, - 0x01, 0x12, 0x04, 0xac, 0x01, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, - 0x04, 0xad, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xad, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, - 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x01, - 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xad, 0x01, 0x12, - 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xad, - 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xae, 0x01, 0x02, - 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x04, 0x12, 0x04, 0xae, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xae, 0x01, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xae, 0x01, 0x12, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xae, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xae, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xae, 0x01, 0x23, 0x49, 0x0a, 0x2a, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x51, 0x1a, 0x1c, 0x20, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x16, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xb0, 0x01, 0x26, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xb0, 0x01, 0x28, 0x50, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xb0, 0x01, 0x29, 0x4f, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, - 0x12, 0x04, 0xb2, 0x01, 0x02, 0x4d, 0x1a, 0x21, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x03, 0x04, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, - 0x05, 0x12, 0x04, 0xb2, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xb2, 0x01, 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xb2, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x04, - 0xb2, 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xb2, 0x01, 0x25, 0x4b, 0x0a, 0x47, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xb6, 0x01, - 0x00, 0xb8, 0x01, 0x01, 0x1a, 0x39, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xb7, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xb7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb7, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb7, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xb7, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xb7, 0x01, 0x15, 0x3b, 0x0a, 0x5a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, - 0xbb, 0x01, 0x00, 0xc1, 0x01, 0x01, 0x1a, 0x4c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x20, - 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x08, - 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x3d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbc, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbc, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x15, 0x3b, 0x0a, 0x94, 0x01, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x55, 0x1a, 0x85, 0x01, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, - 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, - 0x60, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xbe, - 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x01, - 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x2a, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbe, 0x01, 0x2c, 0x54, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x01, - 0x2d, 0x53, 0x0a, 0x54, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x24, - 0x1a, 0x46, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, - 0x04, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xc0, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xc0, 0x01, 0x12, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xc0, 0x01, 0x22, 0x23, 0x0a, 0x47, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xc4, 0x01, 0x00, 0xc6, - 0x01, 0x01, 0x1a, 0x39, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xc5, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xc5, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xc5, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc5, 0x01, 0x15, 0x3b, 0x0a, 0x5c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xc9, 0x01, - 0x00, 0xce, 0x01, 0x01, 0x1a, 0x4e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x08, - 0x1c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x06, 0xca, 0x01, 0x02, 0xcd, 0x01, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xca, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xca, 0x01, 0x09, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xca, 0x01, 0x15, 0x16, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x06, 0xca, 0x01, 0x17, 0xcd, 0x01, 0x03, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x04, - 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0xcc, 0x01, 0x04, 0x2b, 0x0a, 0x48, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xd1, 0x01, 0x00, 0xd3, - 0x01, 0x01, 0x1a, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0b, 0x02, 0x00, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd2, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd2, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xd2, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd2, 0x01, 0x15, 0x3b, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -]; -include!("sift.policies.v1.tonic.rs"); -include!("sift.policies.v1.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.serde.rs deleted file mode 100644 index b0c341571..000000000 --- a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.serde.rs +++ /dev/null @@ -1,1527 +0,0 @@ -// @generated -impl serde::Serialize for ArchivePolicyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.policy_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.ArchivePolicyRequest", len)?; - if !self.policy_id.is_empty() { - struct_ser.serialize_field("policyId", &self.policy_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchivePolicyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy_id", - "policyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PolicyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policyId" | "policy_id" => Ok(GeneratedField::PolicyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchivePolicyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.ArchivePolicyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PolicyId => { - if policy_id__.is_some() { - return Err(serde::de::Error::duplicate_field("policyId")); - } - policy_id__ = Some(map_.next_value()?); - } - } - } - Ok(ArchivePolicyRequest { - policy_id: policy_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.ArchivePolicyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchivePolicyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.policy.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.ArchivePolicyResponse", len)?; - if let Some(v) = self.policy.as_ref() { - struct_ser.serialize_field("policy", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchivePolicyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policy" => Ok(GeneratedField::Policy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchivePolicyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.ArchivePolicyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policy => { - if policy__.is_some() { - return Err(serde::de::Error::duplicate_field("policy")); - } - policy__ = map_.next_value()?; - } - } - } - Ok(ArchivePolicyResponse { - policy: policy__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.ArchivePolicyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreatePolicyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if self.description.is_some() { - len += 1; - } - if self.configuration.is_some() { - len += 1; - } - if self.version_notes.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.CreatePolicyRequest", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if let Some(v) = self.description.as_ref() { - struct_ser.serialize_field("description", v)?; - } - if let Some(v) = self.configuration.as_ref() { - struct_ser.serialize_field("configuration", v)?; - } - if let Some(v) = self.version_notes.as_ref() { - struct_ser.serialize_field("versionNotes", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreatePolicyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "description", - "configuration", - "version_notes", - "versionNotes", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Description, - Configuration, - VersionNotes, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "configuration" => Ok(GeneratedField::Configuration), - "versionNotes" | "version_notes" => Ok(GeneratedField::VersionNotes), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreatePolicyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.CreatePolicyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut description__ = None; - let mut configuration__ = None; - let mut version_notes__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = map_.next_value()?; - } - GeneratedField::Configuration => { - if configuration__.is_some() { - return Err(serde::de::Error::duplicate_field("configuration")); - } - configuration__ = map_.next_value()?; - } - GeneratedField::VersionNotes => { - if version_notes__.is_some() { - return Err(serde::de::Error::duplicate_field("versionNotes")); - } - version_notes__ = map_.next_value()?; - } - } - } - Ok(CreatePolicyRequest { - name: name__.unwrap_or_default(), - description: description__, - configuration: configuration__, - version_notes: version_notes__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.CreatePolicyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreatePolicyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.policy.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.CreatePolicyResponse", len)?; - if let Some(v) = self.policy.as_ref() { - struct_ser.serialize_field("policy", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreatePolicyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policy" => Ok(GeneratedField::Policy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreatePolicyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.CreatePolicyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policy => { - if policy__.is_some() { - return Err(serde::de::Error::duplicate_field("policy")); - } - policy__ = map_.next_value()?; - } - } - } - Ok(CreatePolicyResponse { - policy: policy__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.CreatePolicyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetPolicyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.policy_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.GetPolicyRequest", len)?; - if !self.policy_id.is_empty() { - struct_ser.serialize_field("policyId", &self.policy_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetPolicyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy_id", - "policyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PolicyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policyId" | "policy_id" => Ok(GeneratedField::PolicyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetPolicyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.GetPolicyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PolicyId => { - if policy_id__.is_some() { - return Err(serde::de::Error::duplicate_field("policyId")); - } - policy_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetPolicyRequest { - policy_id: policy_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.GetPolicyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetPolicyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.policy.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.GetPolicyResponse", len)?; - if let Some(v) = self.policy.as_ref() { - struct_ser.serialize_field("policy", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetPolicyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policy" => Ok(GeneratedField::Policy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetPolicyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.GetPolicyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policy => { - if policy__.is_some() { - return Err(serde::de::Error::duplicate_field("policy")); - } - policy__ = map_.next_value()?; - } - } - } - Ok(GetPolicyResponse { - policy: policy__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.GetPolicyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListPoliciesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.ListPoliciesRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListPoliciesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListPoliciesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.ListPoliciesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListPoliciesRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.ListPoliciesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListPoliciesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.policies.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.ListPoliciesResponse", len)?; - if !self.policies.is_empty() { - struct_ser.serialize_field("policies", &self.policies)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListPoliciesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policies", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policies, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policies" => Ok(GeneratedField::Policies), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListPoliciesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.ListPoliciesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policies__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policies => { - if policies__.is_some() { - return Err(serde::de::Error::duplicate_field("policies")); - } - policies__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListPoliciesResponse { - policies: policies__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.ListPoliciesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for Policy { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.policy_id.is_empty() { - len += 1; - } - if !self.name.is_empty() { - len += 1; - } - if self.description.is_some() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if !self.modified_by_user_id.is_empty() { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if self.modified_date.is_some() { - len += 1; - } - if self.configuration.is_some() { - len += 1; - } - if !self.policy_version_id.is_empty() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - if self.is_archived { - len += 1; - } - if self.version.is_some() { - len += 1; - } - if self.version_notes.is_some() { - len += 1; - } - if self.generated_change_message.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.Policy", len)?; - if !self.policy_id.is_empty() { - struct_ser.serialize_field("policyId", &self.policy_id)?; - } - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if let Some(v) = self.description.as_ref() { - struct_ser.serialize_field("description", v)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if !self.modified_by_user_id.is_empty() { - struct_ser.serialize_field("modifiedByUserId", &self.modified_by_user_id)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if let Some(v) = self.modified_date.as_ref() { - struct_ser.serialize_field("modifiedDate", v)?; - } - if let Some(v) = self.configuration.as_ref() { - struct_ser.serialize_field("configuration", v)?; - } - if !self.policy_version_id.is_empty() { - struct_ser.serialize_field("policyVersionId", &self.policy_version_id)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - if self.is_archived { - struct_ser.serialize_field("isArchived", &self.is_archived)?; - } - if let Some(v) = self.version.as_ref() { - struct_ser.serialize_field("version", v)?; - } - if let Some(v) = self.version_notes.as_ref() { - struct_ser.serialize_field("versionNotes", v)?; - } - if let Some(v) = self.generated_change_message.as_ref() { - struct_ser.serialize_field("generatedChangeMessage", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for Policy { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy_id", - "policyId", - "name", - "description", - "organization_id", - "organizationId", - "created_by_user_id", - "createdByUserId", - "modified_by_user_id", - "modifiedByUserId", - "created_date", - "createdDate", - "modified_date", - "modifiedDate", - "configuration", - "policy_version_id", - "policyVersionId", - "archived_date", - "archivedDate", - "is_archived", - "isArchived", - "version", - "version_notes", - "versionNotes", - "generated_change_message", - "generatedChangeMessage", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PolicyId, - Name, - Description, - OrganizationId, - CreatedByUserId, - ModifiedByUserId, - CreatedDate, - ModifiedDate, - Configuration, - PolicyVersionId, - ArchivedDate, - IsArchived, - Version, - VersionNotes, - GeneratedChangeMessage, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policyId" | "policy_id" => Ok(GeneratedField::PolicyId), - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "modifiedByUserId" | "modified_by_user_id" => Ok(GeneratedField::ModifiedByUserId), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "modifiedDate" | "modified_date" => Ok(GeneratedField::ModifiedDate), - "configuration" => Ok(GeneratedField::Configuration), - "policyVersionId" | "policy_version_id" => Ok(GeneratedField::PolicyVersionId), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - "isArchived" | "is_archived" => Ok(GeneratedField::IsArchived), - "version" => Ok(GeneratedField::Version), - "versionNotes" | "version_notes" => Ok(GeneratedField::VersionNotes), - "generatedChangeMessage" | "generated_change_message" => Ok(GeneratedField::GeneratedChangeMessage), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = Policy; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.Policy") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy_id__ = None; - let mut name__ = None; - let mut description__ = None; - let mut organization_id__ = None; - let mut created_by_user_id__ = None; - let mut modified_by_user_id__ = None; - let mut created_date__ = None; - let mut modified_date__ = None; - let mut configuration__ = None; - let mut policy_version_id__ = None; - let mut archived_date__ = None; - let mut is_archived__ = None; - let mut version__ = None; - let mut version_notes__ = None; - let mut generated_change_message__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PolicyId => { - if policy_id__.is_some() { - return Err(serde::de::Error::duplicate_field("policyId")); - } - policy_id__ = Some(map_.next_value()?); - } - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = map_.next_value()?; - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ModifiedByUserId => { - if modified_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedByUserId")); - } - modified_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::ModifiedDate => { - if modified_date__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedDate")); - } - modified_date__ = map_.next_value()?; - } - GeneratedField::Configuration => { - if configuration__.is_some() { - return Err(serde::de::Error::duplicate_field("configuration")); - } - configuration__ = map_.next_value()?; - } - GeneratedField::PolicyVersionId => { - if policy_version_id__.is_some() { - return Err(serde::de::Error::duplicate_field("policyVersionId")); - } - policy_version_id__ = Some(map_.next_value()?); - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - GeneratedField::IsArchived => { - if is_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("isArchived")); - } - is_archived__ = Some(map_.next_value()?); - } - GeneratedField::Version => { - if version__.is_some() { - return Err(serde::de::Error::duplicate_field("version")); - } - version__ = - map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| x.0) - ; - } - GeneratedField::VersionNotes => { - if version_notes__.is_some() { - return Err(serde::de::Error::duplicate_field("versionNotes")); - } - version_notes__ = map_.next_value()?; - } - GeneratedField::GeneratedChangeMessage => { - if generated_change_message__.is_some() { - return Err(serde::de::Error::duplicate_field("generatedChangeMessage")); - } - generated_change_message__ = map_.next_value()?; - } - } - } - Ok(Policy { - policy_id: policy_id__.unwrap_or_default(), - name: name__.unwrap_or_default(), - description: description__, - organization_id: organization_id__.unwrap_or_default(), - created_by_user_id: created_by_user_id__.unwrap_or_default(), - modified_by_user_id: modified_by_user_id__.unwrap_or_default(), - created_date: created_date__, - modified_date: modified_date__, - configuration: configuration__, - policy_version_id: policy_version_id__.unwrap_or_default(), - archived_date: archived_date__, - is_archived: is_archived__.unwrap_or_default(), - version: version__, - version_notes: version_notes__, - generated_change_message: generated_change_message__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.Policy", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for PolicyConfiguration { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.cedar_policy.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.PolicyConfiguration", len)?; - if !self.cedar_policy.is_empty() { - struct_ser.serialize_field("cedarPolicy", &self.cedar_policy)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for PolicyConfiguration { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "cedar_policy", - "cedarPolicy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - CedarPolicy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "cedarPolicy" | "cedar_policy" => Ok(GeneratedField::CedarPolicy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = PolicyConfiguration; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.PolicyConfiguration") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut cedar_policy__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::CedarPolicy => { - if cedar_policy__.is_some() { - return Err(serde::de::Error::duplicate_field("cedarPolicy")); - } - cedar_policy__ = Some(map_.next_value()?); - } - } - } - Ok(PolicyConfiguration { - cedar_policy: cedar_policy__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.PolicyConfiguration", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdatePolicyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.policy.is_some() { - len += 1; - } - if self.update_mask.is_some() { - len += 1; - } - if self.version_notes.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.UpdatePolicyRequest", len)?; - if let Some(v) = self.policy.as_ref() { - struct_ser.serialize_field("policy", v)?; - } - if let Some(v) = self.update_mask.as_ref() { - struct_ser.serialize_field("updateMask", v)?; - } - if let Some(v) = self.version_notes.as_ref() { - struct_ser.serialize_field("versionNotes", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdatePolicyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy", - "update_mask", - "updateMask", - "version_notes", - "versionNotes", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policy, - UpdateMask, - VersionNotes, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policy" => Ok(GeneratedField::Policy), - "updateMask" | "update_mask" => Ok(GeneratedField::UpdateMask), - "versionNotes" | "version_notes" => Ok(GeneratedField::VersionNotes), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdatePolicyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.UpdatePolicyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy__ = None; - let mut update_mask__ = None; - let mut version_notes__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policy => { - if policy__.is_some() { - return Err(serde::de::Error::duplicate_field("policy")); - } - policy__ = map_.next_value()?; - } - GeneratedField::UpdateMask => { - if update_mask__.is_some() { - return Err(serde::de::Error::duplicate_field("updateMask")); - } - update_mask__ = map_.next_value()?; - } - GeneratedField::VersionNotes => { - if version_notes__.is_some() { - return Err(serde::de::Error::duplicate_field("versionNotes")); - } - version_notes__ = map_.next_value()?; - } - } - } - Ok(UpdatePolicyRequest { - policy: policy__, - update_mask: update_mask__, - version_notes: version_notes__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.UpdatePolicyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdatePolicyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.policy.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.policies.v1.UpdatePolicyResponse", len)?; - if let Some(v) = self.policy.as_ref() { - struct_ser.serialize_field("policy", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdatePolicyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "policy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Policy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "policy" => Ok(GeneratedField::Policy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdatePolicyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.policies.v1.UpdatePolicyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut policy__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Policy => { - if policy__.is_some() { - return Err(serde::de::Error::duplicate_field("policy")); - } - policy__ = map_.next_value()?; - } - } - } - Ok(UpdatePolicyResponse { - policy: policy__, - }) - } - } - deserializer.deserialize_struct("sift.policies.v1.UpdatePolicyResponse", FIELDS, GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.tonic.rs b/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.tonic.rs deleted file mode 100644 index 11173317c..000000000 --- a/rust/crates/sift_rs/src/gen/sift/policies/v1/sift.policies.v1.tonic.rs +++ /dev/null @@ -1,612 +0,0 @@ -// @generated -/// Generated client implementations. -pub mod policy_service_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct PolicyServiceClient { - inner: tonic::client::Grpc, - } - impl PolicyServiceClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl PolicyServiceClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> PolicyServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - PolicyServiceClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn get_policy( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.policies.v1.PolicyService/GetPolicy", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert(GrpcMethod::new("sift.policies.v1.PolicyService", "GetPolicy")); - self.inner.unary(req, path, codec).await - } - pub async fn list_policies( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.policies.v1.PolicyService/ListPolicies", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("sift.policies.v1.PolicyService", "ListPolicies"), - ); - self.inner.unary(req, path, codec).await - } - pub async fn create_policy( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.policies.v1.PolicyService/CreatePolicy", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("sift.policies.v1.PolicyService", "CreatePolicy"), - ); - self.inner.unary(req, path, codec).await - } - pub async fn update_policy( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.policies.v1.PolicyService/UpdatePolicy", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("sift.policies.v1.PolicyService", "UpdatePolicy"), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_policy( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.policies.v1.PolicyService/ArchivePolicy", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new("sift.policies.v1.PolicyService", "ArchivePolicy"), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod policy_service_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with PolicyServiceServer. - #[async_trait] - pub trait PolicyService: std::marker::Send + std::marker::Sync + 'static { - async fn get_policy( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_policies( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn create_policy( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn update_policy( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_policy( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct PolicyServiceServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl PolicyServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> for PolicyServiceServer - where - T: PolicyService, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/sift.policies.v1.PolicyService/GetPolicy" => { - #[allow(non_camel_case_types)] - struct GetPolicySvc(pub Arc); - impl< - T: PolicyService, - > tonic::server::UnaryService - for GetPolicySvc { - type Response = super::GetPolicyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_policy(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetPolicySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.policies.v1.PolicyService/ListPolicies" => { - #[allow(non_camel_case_types)] - struct ListPoliciesSvc(pub Arc); - impl< - T: PolicyService, - > tonic::server::UnaryService - for ListPoliciesSvc { - type Response = super::ListPoliciesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_policies(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListPoliciesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.policies.v1.PolicyService/CreatePolicy" => { - #[allow(non_camel_case_types)] - struct CreatePolicySvc(pub Arc); - impl< - T: PolicyService, - > tonic::server::UnaryService - for CreatePolicySvc { - type Response = super::CreatePolicyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_policy(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreatePolicySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.policies.v1.PolicyService/UpdatePolicy" => { - #[allow(non_camel_case_types)] - struct UpdatePolicySvc(pub Arc); - impl< - T: PolicyService, - > tonic::server::UnaryService - for UpdatePolicySvc { - type Response = super::UpdatePolicyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_policy(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UpdatePolicySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.policies.v1.PolicyService/ArchivePolicy" => { - #[allow(non_camel_case_types)] - struct ArchivePolicySvc(pub Arc); - impl< - T: PolicyService, - > tonic::server::UnaryService - for ArchivePolicySvc { - type Response = super::ArchivePolicyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_policy(&inner, request).await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchivePolicySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for PolicyServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "sift.policies.v1.PolicyService"; - impl tonic::server::NamedService for PolicyServiceServer { - const NAME: &'static str = SERVICE_NAME; - } -} diff --git a/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.rs b/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.rs index 2048abec7..2b576ef57 100644 --- a/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.rs @@ -32,6 +32,8 @@ pub struct RemoteFile { pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>, #[prost(message, repeated, tag="18")] pub metadata_values: ::prost::alloc::vec::Vec, + #[prost(enumeration="RemoteFileType", tag="20")] + pub remote_file_type: i32, #[prost(oneof="remote_file::Metadata", tags="11, 12, 17")] pub metadata: ::core::option::Option, } @@ -184,6 +186,44 @@ pub struct GetRemoteFileDownloadUrlResponse { } #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] #[repr(i32)] +pub enum RemoteFileType { + Unspecified = 0, + Telemetry = 1, + Image = 2, + Video = 3, + Audio = 4, + TestReport = 5, +} +impl RemoteFileType { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + Self::Unspecified => "REMOTE_FILE_TYPE_UNSPECIFIED", + Self::Telemetry => "REMOTE_FILE_TYPE_TELEMETRY", + Self::Image => "REMOTE_FILE_TYPE_IMAGE", + Self::Video => "REMOTE_FILE_TYPE_VIDEO", + Self::Audio => "REMOTE_FILE_TYPE_AUDIO", + Self::TestReport => "REMOTE_FILE_TYPE_TEST_REPORT", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "REMOTE_FILE_TYPE_UNSPECIFIED" => Some(Self::Unspecified), + "REMOTE_FILE_TYPE_TELEMETRY" => Some(Self::Telemetry), + "REMOTE_FILE_TYPE_IMAGE" => Some(Self::Image), + "REMOTE_FILE_TYPE_VIDEO" => Some(Self::Video), + "REMOTE_FILE_TYPE_AUDIO" => Some(Self::Audio), + "REMOTE_FILE_TYPE_TEST_REPORT" => Some(Self::TestReport), + _ => None, + } + } +} +#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] +#[repr(i32)] pub enum EntityType { Unspecified = 0, Run = 1, @@ -225,7 +265,7 @@ impl EntityType { } /// Encoded file descriptor set for the `sift.remote_files.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xdd, 0x80, 0x01, 0x0a, 0x27, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x0a, 0xc6, 0x87, 0x01, 0x0a, 0x27, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, @@ -242,7 +282,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9d, 0x08, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf2, 0x08, 0x0a, 0x0a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, @@ -306,160 +346,178 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0d, 0x56, 0x69, 0x64, 0x65, 0x6f, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x68, - 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, - 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, - 0x47, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, - 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x7e, 0x0a, 0x0d, 0x41, 0x75, 0x64, 0x69, - 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x15, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0xc9, 0x01, 0x0a, - 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, - 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, - 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x0b, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, - 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x22, 0xa4, 0x06, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, - 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, - 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x0e, 0x66, 0x69, 0x6c, - 0x65, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x69, 0x6c, 0x65, 0x4d, 0x69, 0x6d, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x66, 0x69, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x20, 0x0a, - 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x04, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, - 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x51, 0x0a, 0x0e, 0x76, 0x69, 0x64, - 0x65, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x76, - 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x0e, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, - 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x51, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, 0x69, - 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0a, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, - 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x42, 0x0a, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x62, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x10, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, + 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xb6, 0x01, 0x0a, 0x0d, + 0x56, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, + 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, + 0x6d, 0x70, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x22, 0x47, 0x0a, 0x0d, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1b, 0x0a, 0x06, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x05, 0x77, 0x69, 0x64, 0x74, 0x68, 0x22, 0x7e, 0x0a, + 0x0d, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2e, + 0x0a, 0x10, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3d, + 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 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, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x22, 0x41, 0x0a, + 0x14, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, + 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, + 0x22, 0x5f, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x22, 0xc9, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, + 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0x86, 0x01, + 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x26, + 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, + 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa4, 0x06, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x65, 0x6e, + 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, + 0x0a, 0x0e, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x6d, 0x69, 0x6d, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x66, 0x69, 0x6c, + 0x65, 0x4d, 0x69, 0x6d, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x37, 0x0a, 0x15, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x66, + 0x69, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, + 0x6e, 0x67, 0x12, 0x20, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x04, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x2a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, + 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x51, + 0x0a, 0x0e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, + 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x48, 0x00, 0x52, 0x0d, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x51, 0x0a, 0x0e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x44, 0x0a, 0x17, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, - 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x17, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, - 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x40, 0x0a, - 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, - 0x62, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, - 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, - 0x69, 0x6c, 0x65, 0x22, 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, - 0x64, 0x22, 0x4a, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, - 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x2a, 0xc9, 0x01, + 0x2e, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x51, 0x0a, 0x0e, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0d, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x29, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, + 0x6d, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x02, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x55, 0x75, 0x69, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x75, 0x75, 0x69, 0x64, 0x22, 0x62, 0x0a, + 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x22, 0x44, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x47, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, + 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x22, 0x20, 0x0a, 0x1e, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa3, + 0x01, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, + 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x62, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x46, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x4c, 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, 0x0a, 0x0e, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x46, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x4a, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x6f, + 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, + 0x72, 0x6c, 0x2a, 0xc8, 0x01, 0x0a, 0x0e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, + 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, + 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, + 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1e, 0x0a, 0x1a, 0x52, 0x45, 0x4d, 0x4f, 0x54, + 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x54, 0x45, 0x4c, 0x45, + 0x4d, 0x45, 0x54, 0x52, 0x59, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x4f, 0x54, + 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x49, 0x4d, 0x41, 0x47, + 0x45, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, + 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x56, 0x49, 0x44, 0x45, 0x4f, 0x10, 0x03, 0x12, + 0x1a, 0x0a, 0x16, 0x52, 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, + 0x59, 0x50, 0x45, 0x5f, 0x41, 0x55, 0x44, 0x49, 0x4f, 0x10, 0x04, 0x12, 0x20, 0x0a, 0x1c, 0x52, + 0x45, 0x4d, 0x4f, 0x54, 0x45, 0x5f, 0x46, 0x49, 0x4c, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, + 0x54, 0x45, 0x53, 0x54, 0x5f, 0x52, 0x45, 0x50, 0x4f, 0x52, 0x54, 0x10, 0x05, 0x2a, 0xc9, 0x01, 0x0a, 0x0a, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x13, 0x0a, 0x0f, 0x45, 0x4e, 0x54, @@ -584,7 +642,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x3a, 0x3a, 0x56, - 0x31, 0x4a, 0xe5, 0x53, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x81, 0x02, 0x01, 0x0a, 0x08, 0x0a, + 0x31, 0x4a, 0xae, 0x58, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x8f, 0x02, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1d, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, @@ -697,7 +755,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x52, 0x04, 0x55, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x53, 0x06, 0x21, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, - 0x54, 0x06, 0x3d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x59, 0x00, 0x6e, 0x01, 0x0a, + 0x54, 0x06, 0x3d, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x59, 0x00, 0x6f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x59, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x5a, 0x02, 0x45, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, @@ -799,107 +857,135 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x2a, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x03, 0x6d, 0x3c, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x08, 0x12, 0x03, 0x6d, 0x3f, 0x67, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6d, 0x40, 0x66, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x70, 0x00, 0x75, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x01, 0x01, 0x12, 0x03, 0x70, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, - 0x03, 0x71, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x71, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x71, 0x09, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x71, 0x12, 0x13, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x71, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x71, 0x15, 0x3b, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x72, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x72, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x72, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x72, - 0x13, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x72, 0x14, 0x3a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x73, 0x02, 0x46, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x73, 0x02, 0x07, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x73, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x73, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x02, 0x08, 0x12, 0x03, 0x73, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x73, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x03, 0x12, 0x03, 0x74, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, - 0x03, 0x74, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x74, - 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x74, 0x28, 0x29, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x03, 0x74, 0x2a, 0x52, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x74, 0x2b, 0x51, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x77, 0x00, 0x7a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x02, 0x01, 0x12, 0x03, 0x77, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, - 0x03, 0x78, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x78, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x78, 0x09, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x78, 0x12, 0x13, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x78, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x78, 0x15, 0x3b, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x79, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x05, 0x12, 0x03, 0x79, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x01, 0x12, 0x03, 0x79, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, - 0x03, 0x79, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x79, - 0x13, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x79, 0x14, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x7c, 0x00, 0x7f, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x7c, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x00, 0x12, 0x03, 0x7d, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x05, 0x12, 0x03, 0x7d, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x7d, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7d, - 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7d, 0x1d, 0x45, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7d, 0x1e, - 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x7e, 0x02, 0x53, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x03, 0x7e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x7e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x7e, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x7e, 0x2a, 0x52, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x7e, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0x81, - 0x01, 0x00, 0x89, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0x81, 0x01, - 0x05, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0x82, 0x01, 0x02, 0x1e, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x82, 0x01, 0x02, 0x19, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0x82, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0x83, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x83, 0x01, 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0x83, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x02, 0x12, 0x04, 0x84, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, - 0x01, 0x12, 0x04, 0x84, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, - 0x12, 0x04, 0x84, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x04, - 0x85, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0x85, - 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0x85, 0x01, - 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, 0x21, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0x86, 0x01, 0x1f, 0x20, 0x0a, 0x0c, - 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, 0x12, 0x04, 0x87, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0x87, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x05, 0x02, 0x12, 0x04, 0x87, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, - 0x02, 0x06, 0x12, 0x04, 0x88, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, - 0x01, 0x12, 0x04, 0x88, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, - 0x12, 0x04, 0x88, 0x01, 0x1a, 0x1b, 0x0a, 0x66, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x8c, 0x01, - 0x00, 0x8e, 0x01, 0x01, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x12, 0x12, 0x03, 0x6e, 0x02, 0x50, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x12, 0x06, 0x12, 0x03, 0x6e, 0x02, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x12, 0x01, 0x12, 0x03, 0x6e, 0x11, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, + 0x03, 0x12, 0x03, 0x6e, 0x24, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x08, 0x12, + 0x03, 0x6e, 0x27, 0x4f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x12, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x6e, 0x28, 0x4e, 0x0a, 0x0a, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x04, 0x71, 0x00, 0x78, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x71, 0x05, 0x13, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x03, 0x72, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x72, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, + 0x02, 0x12, 0x03, 0x72, 0x21, 0x22, 0x0a, 0x49, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x73, 0x02, 0x21, 0x22, 0x3c, 0x20, 0x44, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x2f, 0x20, 0x74, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x74, 0x72, 0x79, 0x20, 0x28, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x3a, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x62, 0x79, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6a, 0x6f, 0x62, 0x29, 0x2e, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x73, 0x02, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x73, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x74, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x74, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, + 0x02, 0x12, 0x03, 0x74, 0x1b, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, + 0x75, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x75, 0x02, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x75, 0x1b, 0x1c, 0x0a, + 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x76, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x76, 0x02, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x04, 0x02, 0x12, 0x03, 0x76, 0x1b, 0x1c, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, + 0x12, 0x03, 0x77, 0x02, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, + 0x77, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x77, 0x21, + 0x22, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x7a, 0x00, 0x7f, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x7a, 0x08, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, + 0x00, 0x12, 0x03, 0x7b, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, + 0x03, 0x7b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7b, + 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7b, 0x12, 0x13, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7b, 0x14, 0x3c, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x15, 0x3b, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x7c, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x7c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x01, 0x01, 0x12, 0x03, 0x7c, 0x09, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x03, 0x12, 0x03, 0x7c, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, + 0x03, 0x7c, 0x13, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x7c, 0x14, 0x3a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x7d, + 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x03, 0x7d, 0x02, 0x07, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x7d, 0x08, 0x18, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x7d, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, 0x03, 0x7d, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, + 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7d, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x01, 0x02, 0x03, 0x12, 0x03, 0x7e, 0x02, 0x53, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x7e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, + 0x03, 0x7e, 0x1c, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x7e, + 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x03, 0x7e, 0x2a, 0x52, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7e, 0x2b, + 0x51, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x81, 0x01, 0x00, 0x84, 0x01, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x81, 0x01, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x82, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x82, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x82, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x82, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x82, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x82, 0x01, 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, + 0x12, 0x04, 0x83, 0x01, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, + 0x04, 0x83, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x83, 0x01, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0x83, + 0x01, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0x83, 0x01, + 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x83, 0x01, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x86, 0x01, 0x00, 0x89, + 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x86, 0x01, 0x08, 0x15, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x87, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0x87, 0x01, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x01, 0x08, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x12, 0x04, 0x88, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x01, 0x06, 0x12, 0x04, 0x88, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, + 0x01, 0x12, 0x04, 0x88, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, + 0x12, 0x04, 0x88, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, + 0x04, 0x88, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x88, 0x01, 0x2b, 0x51, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0x8b, + 0x01, 0x00, 0x93, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0x8b, 0x01, + 0x05, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x1e, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x19, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0x8c, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0x8d, 0x01, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, + 0x02, 0x02, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, + 0x01, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, + 0x12, 0x04, 0x8e, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, 0x12, 0x04, + 0x8f, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8f, + 0x01, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x04, 0x8f, 0x01, + 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x04, 0x12, 0x04, 0x90, 0x01, 0x02, 0x21, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0x90, 0x01, 0x02, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x04, 0x02, 0x12, 0x04, 0x90, 0x01, 0x1f, 0x20, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x01, 0x02, 0x05, 0x12, 0x04, 0x91, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0x91, 0x01, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x01, 0x02, 0x05, 0x02, 0x12, 0x04, 0x91, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, + 0x02, 0x06, 0x12, 0x04, 0x92, 0x01, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, + 0x01, 0x12, 0x04, 0x92, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x06, 0x02, + 0x12, 0x04, 0x92, 0x01, 0x1a, 0x1b, 0x0a, 0x66, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x96, 0x01, + 0x00, 0x98, 0x01, 0x01, 0x1a, 0x58, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x3b, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x05, 0x12, 0x04, 0x8d, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x8d, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, - 0x12, 0x04, 0x8d, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, - 0x04, 0x8d, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x8d, 0x01, 0x1d, 0x43, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x91, - 0x01, 0x00, 0x93, 0x01, 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x96, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x04, 0x02, 0x00, 0x12, 0x04, 0x97, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x97, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x97, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x97, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x97, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x97, 0x01, 0x1d, 0x43, 0x0a, 0x4c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x9b, + 0x01, 0x00, 0x9d, 0x01, 0x01, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x91, 0x01, - 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x92, 0x01, 0x02, 0x46, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0x92, 0x01, 0x02, 0x0c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x01, 0x0d, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0x92, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x01, 0x1e, 0x44, 0x0a, 0x67, - 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x96, 0x01, 0x00, 0xb1, 0x01, 0x01, 0x1a, 0x59, 0x20, 0x54, + 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x9b, 0x01, + 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x46, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x0d, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9c, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9c, 0x01, 0x1e, 0x44, 0x0a, 0x67, + 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xa0, 0x01, 0x00, 0xbb, 0x01, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, - 0x96, 0x01, 0x08, 0x1e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x9a, + 0xa0, 0x01, 0x08, 0x1e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x40, 0x1a, 0xe9, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, @@ -915,12 +1001,12 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9a, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9a, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x18, 0x3e, 0x0a, 0x80, 0x02, - 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x41, 0x1a, 0xf1, 0x01, 0x20, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa4, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x01, 0x18, 0x3e, 0x0a, 0x80, 0x02, + 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x41, 0x1a, 0xf1, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, @@ -936,12 +1022,12 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa0, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x01, 0x19, 0x3f, 0x0a, 0x99, - 0x04, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x3d, 0x1a, 0x8a, 0x04, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x09, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0xaa, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x01, 0x19, 0x3f, 0x0a, 0x99, + 0x04, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x3d, 0x1a, 0x8a, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, @@ -975,22 +1061,22 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x23, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x66, 0x69, 0x6c, 0x65, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x02, 0x05, 0x12, 0x04, 0xa6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xa6, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xa6, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, - 0x12, 0x04, 0xa9, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, + 0x02, 0x02, 0x05, 0x12, 0x04, 0xb0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xb0, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, + 0x12, 0x04, 0xb0, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xb0, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, + 0x12, 0x04, 0xb3, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, - 0xa9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa9, - 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa9, 0x01, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x04, 0xa9, 0x01, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, - 0x01, 0x1e, 0x44, 0x0a, 0xb1, 0x03, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0xb0, 0x01, + 0xb3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb3, + 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb3, 0x01, + 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x04, 0xb3, 0x01, 0x1d, + 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb3, + 0x01, 0x1e, 0x44, 0x0a, 0xb1, 0x03, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0xba, 0x01, 0x02, 0x3f, 0x1a, 0xa2, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, @@ -1018,244 +1104,252 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x05, - 0x12, 0x04, 0xb0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, - 0x04, 0xb0, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x04, - 0xb0, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x08, 0x12, 0x04, 0xb0, + 0x12, 0x04, 0xba, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, + 0x04, 0xba, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x04, + 0xba, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x08, 0x12, 0x04, 0xba, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xb0, 0x01, 0x17, 0x3d, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xb4, 0x01, 0x00, - 0xb7, 0x01, 0x01, 0x1a, 0x48, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x04, 0xba, 0x01, 0x17, 0x3d, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xbe, 0x01, 0x00, + 0xc1, 0x01, 0x01, 0x1a, 0x48, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xb4, 0x01, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x00, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xb5, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xb5, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xb5, 0x01, 0x16, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xb5, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xb6, 0x01, - 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb6, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x09, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb6, 0x01, 0x1b, 0x1c, 0x0a, - 0x67, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xba, 0x01, 0x00, 0xd3, 0x01, 0x01, 0x1a, 0x59, 0x20, + 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, + 0x02, 0x00, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x04, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xbf, 0x01, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xbf, 0x01, 0x16, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xbf, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xc0, 0x01, + 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc0, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x09, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x1b, 0x1c, 0x0a, + 0x67, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xc4, 0x01, 0x00, 0xdf, 0x01, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, - 0x04, 0xba, 0x01, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xbb, - 0x01, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbb, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x09, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x15, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbb, 0x01, 0x17, 0x3f, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x01, 0x18, - 0x3e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x40, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbc, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbc, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x02, 0x06, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xbd, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, - 0x08, 0x12, 0x04, 0xbd, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x03, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, - 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xbe, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xbe, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x08, 0x12, 0x04, 0xbe, + 0x04, 0xc4, 0x01, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xc5, + 0x01, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x09, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x01, 0x15, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x17, 0x3f, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x18, + 0x3e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x40, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc6, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc6, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x02, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x02, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x02, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, + 0x08, 0x12, 0x04, 0xc7, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, + 0x03, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, + 0x12, 0x04, 0xc8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, + 0x04, 0xc8, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, + 0xc8, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xbe, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x04, 0xbf, - 0x01, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x05, 0x12, 0x04, 0xbf, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x09, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x21, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x08, 0x12, 0x04, 0xbf, 0x01, 0x23, 0x4b, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x01, 0x24, - 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x40, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x05, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x05, 0x08, 0x12, 0x04, 0xc0, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x08, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x01, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x08, 0x02, 0x06, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x06, 0x04, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x06, 0x05, 0x12, 0x04, 0xc1, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xc1, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, - 0x12, 0x04, 0xc1, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x06, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xc1, 0x01, 0x23, 0x49, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x07, - 0x12, 0x04, 0xc4, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, + 0x04, 0xc8, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x04, 0xc9, + 0x01, 0x02, 0x4c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc9, 0x01, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x09, + 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc9, 0x01, 0x21, 0x22, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc9, 0x01, 0x23, 0x4b, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x01, 0x24, + 0x4a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, 0x12, 0x04, 0xca, 0x01, 0x02, 0x40, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x05, 0x12, 0x04, 0xca, 0x01, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x01, 0x12, 0x04, 0xca, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x05, 0x03, 0x12, 0x04, 0xca, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x05, 0x08, 0x12, 0x04, 0xca, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x08, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xca, 0x01, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x08, 0x02, 0x06, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x06, 0x04, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x06, 0x05, 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x06, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, + 0x03, 0x12, 0x04, 0xcb, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, + 0x12, 0x04, 0xcb, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x06, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x23, 0x49, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x07, + 0x12, 0x04, 0xce, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x05, 0x12, 0x04, - 0xc4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x01, 0x12, 0x04, 0xc4, - 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x03, 0x12, 0x04, 0xc4, 0x01, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc4, - 0x01, 0x1e, 0x44, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x00, 0x12, 0x06, 0xc5, 0x01, 0x02, - 0xc9, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x01, - 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x08, 0x12, 0x04, 0xc6, 0x01, 0x04, 0x4e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x06, 0x12, 0x04, 0xc6, 0x01, 0x04, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x12, 0x20, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x03, 0x12, 0x04, 0xc6, 0x01, 0x23, 0x24, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x08, 0x08, 0x12, 0x04, 0xc6, 0x01, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x08, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x26, 0x4c, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x09, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x09, 0x06, 0x12, 0x04, 0xc7, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x09, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x09, 0x03, 0x12, 0x04, 0xc7, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x09, 0x08, 0x12, 0x04, 0xc7, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x09, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x01, 0x27, 0x4d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x0a, 0x12, 0x04, 0xc8, 0x01, 0x04, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, - 0x06, 0x12, 0x04, 0xc8, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x01, - 0x12, 0x04, 0xc8, 0x01, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x03, 0x12, - 0x04, 0xc8, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x08, 0x12, 0x04, - 0xc8, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc8, 0x01, 0x27, 0x4d, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x0b, 0x12, 0x04, - 0xcc, 0x01, 0x02, 0x4c, 0x1a, 0x4e, 0x20, 0x41, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, + 0xce, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x01, 0x12, 0x04, 0xce, + 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x03, 0x12, 0x04, 0xce, 0x01, + 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x07, 0x08, 0x12, 0x04, 0xce, 0x01, 0x1d, + 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xce, + 0x01, 0x1e, 0x44, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x00, 0x12, 0x06, 0xcf, 0x01, 0x02, + 0xd3, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x01, + 0x08, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x04, 0x4e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x06, 0x12, 0x04, 0xd0, 0x01, 0x04, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x12, 0x20, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x08, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x23, 0x24, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x08, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x08, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x26, 0x4c, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x09, 0x12, 0x04, 0xd1, 0x01, 0x04, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x09, 0x06, 0x12, 0x04, 0xd1, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x09, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x09, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x09, 0x08, 0x12, 0x04, 0xd1, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x09, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x27, 0x4d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, + 0x02, 0x0a, 0x12, 0x04, 0xd2, 0x01, 0x04, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, + 0x06, 0x12, 0x04, 0xd2, 0x01, 0x04, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x01, + 0x12, 0x04, 0xd2, 0x01, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x03, 0x12, + 0x04, 0xd2, 0x01, 0x23, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0a, 0x08, 0x12, 0x04, + 0xd2, 0x01, 0x26, 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xd2, 0x01, 0x27, 0x4d, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x0b, 0x12, 0x04, + 0xd6, 0x01, 0x02, 0x4c, 0x1a, 0x4e, 0x20, 0x41, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x55, 0x55, 0x49, 0x44, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x75, 0x6e, 0x73, - 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x04, 0x12, 0x04, 0xcc, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xcc, 0x01, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xcc, 0x01, 0x12, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xcc, 0x01, 0x20, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xcc, 0x01, 0x23, 0x4b, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x01, 0x24, - 0x4a, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x0c, 0x12, 0x04, 0xcf, 0x01, 0x02, 0x68, 0x1a, + 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x04, 0x12, 0x04, 0xd6, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xd6, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x12, + 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x20, 0x22, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xd6, 0x01, 0x23, 0x4b, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x24, + 0x4a, 0x0a, 0x45, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x0c, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x68, 0x1a, 0x37, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, - 0x04, 0x12, 0x04, 0xcf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x06, - 0x12, 0x04, 0xcf, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x01, 0x12, - 0x04, 0xcf, 0x01, 0x2a, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x03, 0x12, 0x04, - 0xcf, 0x01, 0x3c, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xcf, + 0x04, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x06, + 0x12, 0x04, 0xd9, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x01, 0x12, + 0x04, 0xd9, 0x01, 0x2a, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x03, 0x12, 0x04, + 0xd9, 0x01, 0x3c, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x3f, 0x67, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xcf, 0x01, 0x40, 0x66, 0x0a, 0x50, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xd6, 0x01, 0x00, - 0xd8, 0x01, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, - 0xd6, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xd7, 0x01, - 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd7, 0x01, 0x02, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd7, 0x01, 0x0d, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x1b, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd7, 0x01, 0x1d, 0x45, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd7, 0x01, 0x1e, 0x44, - 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xdb, 0x01, 0x00, 0xdd, 0x01, 0x01, 0x1a, 0x59, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, - 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, - 0x12, 0x04, 0xdb, 0x01, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, - 0xdc, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdc, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdc, 0x01, - 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x1a, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdc, 0x01, 0x1c, 0x44, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdc, 0x01, - 0x1d, 0x43, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x04, 0xe0, 0x01, 0x00, 0x23, 0x1a, 0x41, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x08, 0x20, 0x0a, 0x6c, - 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xe3, 0x01, 0x00, 0xe6, 0x01, 0x01, 0x1a, 0x5e, 0x20, 0x54, + 0x04, 0xd9, 0x01, 0x40, 0x66, 0x0a, 0xd8, 0x01, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xe4, 0x01, + 0x00, 0xe6, 0x01, 0x01, 0x1a, 0x42, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x32, 0x85, 0x01, 0x20, 0x49, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x3a, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, + 0x66, 0x69, 0x6c, 0x65, 0x20, 0x28, 0x61, 0x74, 0x74, 0x61, 0x63, 0x68, 0x6d, 0x65, 0x6e, 0x74, + 0x20, 0x76, 0x73, 0x20, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x29, 0x2e, 0x20, 0x4e, 0x6f, 0x74, + 0x20, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x3b, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x46, 0x69, 0x6c, 0x65, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x66, 0x69, 0x6c, + 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xe4, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xe5, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x01, 0x1e, 0x44, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0a, 0x12, + 0x06, 0xe9, 0x01, 0x00, 0xeb, 0x01, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x08, 0x1f, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xea, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xea, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xea, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xea, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xea, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x1d, 0x43, 0x0a, 0x4d, 0x0a, 0x02, 0x04, + 0x0b, 0x12, 0x04, 0xee, 0x01, 0x00, 0x23, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, + 0x01, 0x12, 0x04, 0xee, 0x01, 0x08, 0x20, 0x0a, 0x6c, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xf1, + 0x01, 0x00, 0xf4, 0x01, 0x01, 0x1a, 0x5e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, + 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xf1, 0x01, + 0x08, 0x25, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x26, + 0x1a, 0x39, 0x20, 0x55, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x49, 0x44, 0x73, 0x20, 0x63, 0x61, + 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x70, 0x65, + 0x72, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, + 0x02, 0x00, 0x05, 0x12, 0x04, 0xf3, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xf3, 0x01, 0x12, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xf3, 0x01, 0x24, 0x25, 0x0a, 0x53, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xf7, + 0x01, 0x00, 0x29, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x0d, 0x01, 0x12, 0x04, 0xf7, 0x01, 0x08, 0x26, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0e, 0x12, + 0x06, 0xfa, 0x01, 0x00, 0x80, 0x02, 0x01, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x08, 0x1f, 0x0a, + 0x2a, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x46, 0x1a, 0x1c, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xfc, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x01, 0x1e, 0x44, 0x0a, 0x8a, 0x01, 0x0a, 0x04, 0x04, 0x0e, + 0x02, 0x01, 0x12, 0x04, 0xff, 0x01, 0x02, 0x55, 0x1a, 0x7c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xff, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xff, 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xff, + 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xff, 0x01, + 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xff, 0x01, 0x2d, 0x53, 0x0a, 0x4f, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0x83, 0x02, 0x00, 0x85, + 0x02, 0x01, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, + 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, + 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0x83, 0x02, + 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0x84, 0x02, 0x02, 0x46, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0x84, 0x02, 0x02, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0x84, 0x02, 0x0d, 0x18, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0x84, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0x84, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x02, 0x1e, 0x44, 0x0a, 0x57, + 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0x88, 0x02, 0x00, 0x8a, 0x02, 0x01, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x72, 0x65, - 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0c, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x08, 0x25, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x0c, 0x02, - 0x00, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x26, 0x1a, 0x39, 0x20, 0x55, 0x70, 0x20, 0x74, 0x6f, 0x20, - 0x31, 0x30, 0x30, 0x30, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, - 0x20, 0x49, 0x44, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xe5, 0x01, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x01, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x01, 0x12, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x01, 0x24, 0x25, 0x0a, 0x53, - 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xe9, 0x01, 0x00, 0x29, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x08, 0x26, - 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xec, 0x01, 0x00, 0xf2, 0x01, 0x01, 0x1a, 0x59, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x55, 0x72, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, + 0x88, 0x02, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0x89, 0x02, + 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0x89, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0x89, 0x02, 0x09, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0x89, 0x02, 0x1a, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0x89, 0x02, 0x1c, 0x44, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x02, 0x1d, 0x43, + 0x0a, 0x57, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0x8d, 0x02, 0x00, 0x8f, 0x02, 0x01, 0x1a, 0x49, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x20, - 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x6d, 0x6f, - 0x74, 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, - 0x12, 0x04, 0xec, 0x01, 0x08, 0x1f, 0x0a, 0x2a, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, - 0xee, 0x01, 0x02, 0x46, 0x1a, 0x1c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xee, 0x01, 0x02, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x01, 0x0d, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x01, 0x1b, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, 0x1d, 0x45, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x01, 0x1e, 0x44, - 0x0a, 0x8a, 0x01, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x55, 0x1a, - 0x7c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf1, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf1, 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf1, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xf1, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf1, 0x01, 0x2d, 0x53, 0x0a, 0x4f, 0x0a, 0x02, 0x04, - 0x0f, 0x12, 0x06, 0xf5, 0x01, 0x00, 0xf7, 0x01, 0x01, 0x1a, 0x41, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, - 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0f, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, - 0x00, 0x12, 0x04, 0xf6, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xf6, 0x01, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xf6, 0x01, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xf6, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf6, - 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xf6, 0x01, 0x1e, 0x44, 0x0a, 0x57, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xfa, 0x01, 0x00, - 0xfc, 0x01, 0x01, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, - 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x10, 0x02, 0x00, 0x12, 0x04, 0xfb, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xfb, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xfb, 0x01, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xfb, 0x01, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xfb, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xfb, 0x01, 0x1d, 0x43, 0x0a, 0x57, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xff, - 0x01, 0x00, 0x81, 0x02, 0x01, 0x1a, 0x49, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, - 0x6f, 0x20, 0x60, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, - 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x60, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xff, 0x01, 0x08, 0x28, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0x80, 0x02, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0x80, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x02, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x80, 0x02, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, - 0x08, 0x12, 0x04, 0x80, 0x02, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x02, 0x1b, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, + 0x74, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x44, 0x6f, 0x77, 0x6e, 0x6c, + 0x6f, 0x61, 0x64, 0x55, 0x72, 0x6c, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, + 0x12, 0x04, 0x8d, 0x02, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, + 0x8e, 0x02, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8e, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x02, + 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x02, 0x18, + 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8e, 0x02, 0x1a, 0x42, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8e, 0x02, + 0x1b, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.remote_files.v1.tonic.rs"); include!("sift.remote_files.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.serde.rs index cd4660813..78592c281 100644 --- a/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/remote_files/v1/sift.remote_files.v1.serde.rs @@ -1732,6 +1732,9 @@ impl serde::Serialize for RemoteFile { if !self.metadata_values.is_empty() { len += 1; } + if self.remote_file_type != 0 { + len += 1; + } if self.metadata.is_some() { len += 1; } @@ -1785,6 +1788,11 @@ impl serde::Serialize for RemoteFile { if !self.metadata_values.is_empty() { struct_ser.serialize_field("metadataValues", &self.metadata_values)?; } + if self.remote_file_type != 0 { + let v = RemoteFileType::try_from(self.remote_file_type) + .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.remote_file_type)))?; + struct_ser.serialize_field("remoteFileType", &v)?; + } if let Some(v) = self.metadata.as_ref() { match v { remote_file::Metadata::VideoMetadata(v) => { @@ -1837,6 +1845,8 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { "modifiedDate", "metadata_values", "metadataValues", + "remote_file_type", + "remoteFileType", "video_metadata", "videoMetadata", "image_metadata", @@ -1862,6 +1872,7 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { CreatedDate, ModifiedDate, MetadataValues, + RemoteFileType, VideoMetadata, ImageMetadata, AudioMetadata, @@ -1901,6 +1912,7 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), "modifiedDate" | "modified_date" => Ok(GeneratedField::ModifiedDate), "metadataValues" | "metadata_values" => Ok(GeneratedField::MetadataValues), + "remoteFileType" | "remote_file_type" => Ok(GeneratedField::RemoteFileType), "videoMetadata" | "video_metadata" => Ok(GeneratedField::VideoMetadata), "imageMetadata" | "image_metadata" => Ok(GeneratedField::ImageMetadata), "audioMetadata" | "audio_metadata" => Ok(GeneratedField::AudioMetadata), @@ -1938,6 +1950,7 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { let mut created_date__ = None; let mut modified_date__ = None; let mut metadata_values__ = None; + let mut remote_file_type__ = None; let mut metadata__ = None; while let Some(k) = map_.next_key()? { match k { @@ -2033,6 +2046,12 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { } metadata_values__ = Some(map_.next_value()?); } + GeneratedField::RemoteFileType => { + if remote_file_type__.is_some() { + return Err(serde::de::Error::duplicate_field("remoteFileType")); + } + remote_file_type__ = Some(map_.next_value::()? as i32); + } GeneratedField::VideoMetadata => { if metadata__.is_some() { return Err(serde::de::Error::duplicate_field("videoMetadata")); @@ -2072,6 +2091,7 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { created_date: created_date__, modified_date: modified_date__, metadata_values: metadata_values__.unwrap_or_default(), + remote_file_type: remote_file_type__.unwrap_or_default(), metadata: metadata__, }) } @@ -2079,6 +2099,89 @@ impl<'de> serde::Deserialize<'de> for RemoteFile { deserializer.deserialize_struct("sift.remote_files.v1.RemoteFile", FIELDS, GeneratedVisitor) } } +impl serde::Serialize for RemoteFileType { + #[allow(deprecated)] + fn serialize(&self, serializer: S) -> std::result::Result + where + S: serde::Serializer, + { + let variant = match self { + Self::Unspecified => "REMOTE_FILE_TYPE_UNSPECIFIED", + Self::Telemetry => "REMOTE_FILE_TYPE_TELEMETRY", + Self::Image => "REMOTE_FILE_TYPE_IMAGE", + Self::Video => "REMOTE_FILE_TYPE_VIDEO", + Self::Audio => "REMOTE_FILE_TYPE_AUDIO", + Self::TestReport => "REMOTE_FILE_TYPE_TEST_REPORT", + }; + serializer.serialize_str(variant) + } +} +impl<'de> serde::Deserialize<'de> for RemoteFileType { + #[allow(deprecated)] + fn deserialize(deserializer: D) -> std::result::Result + where + D: serde::Deserializer<'de>, + { + const FIELDS: &[&str] = &[ + "REMOTE_FILE_TYPE_UNSPECIFIED", + "REMOTE_FILE_TYPE_TELEMETRY", + "REMOTE_FILE_TYPE_IMAGE", + "REMOTE_FILE_TYPE_VIDEO", + "REMOTE_FILE_TYPE_AUDIO", + "REMOTE_FILE_TYPE_TEST_REPORT", + ]; + + struct GeneratedVisitor; + + impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { + type Value = RemoteFileType; + + fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + write!(formatter, "expected one of: {:?}", &FIELDS) + } + + fn visit_i64(self, v: i64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) + }) + } + + fn visit_u64(self, v: u64) -> std::result::Result + where + E: serde::de::Error, + { + i32::try_from(v) + .ok() + .and_then(|x| x.try_into().ok()) + .ok_or_else(|| { + serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) + }) + } + + fn visit_str(self, value: &str) -> std::result::Result + where + E: serde::de::Error, + { + match value { + "REMOTE_FILE_TYPE_UNSPECIFIED" => Ok(RemoteFileType::Unspecified), + "REMOTE_FILE_TYPE_TELEMETRY" => Ok(RemoteFileType::Telemetry), + "REMOTE_FILE_TYPE_IMAGE" => Ok(RemoteFileType::Image), + "REMOTE_FILE_TYPE_VIDEO" => Ok(RemoteFileType::Video), + "REMOTE_FILE_TYPE_AUDIO" => Ok(RemoteFileType::Audio), + "REMOTE_FILE_TYPE_TEST_REPORT" => Ok(RemoteFileType::TestReport), + _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), + } + } + } + deserializer.deserialize_any(GeneratedVisitor) + } +} impl serde::Serialize for UpdateRemoteFileRequest { #[allow(deprecated)] fn serialize(&self, serializer: S) -> std::result::Result diff --git a/rust/crates/sift_rs/src/gen/sift/reports/v1/sift.reports.v1.rs b/rust/crates/sift_rs/src/gen/sift/reports/v1/sift.reports.v1.rs index e74e3fd2b..7c485e58f 100644 --- a/rust/crates/sift_rs/src/gen/sift/reports/v1/sift.reports.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/reports/v1/sift.reports.v1.rs @@ -301,7 +301,7 @@ impl ReportRuleStatus { } /// Encoded file descriptor set for the `sift.reports.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xbe, 0x93, 0x01, 0x0a, 0x1d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x0a, 0xc7, 0x93, 0x01, 0x0a, 0x1d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0f, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, @@ -723,7 +723,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x31, 0xe2, 0x02, 0x1b, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x11, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x3a, - 0x3a, 0x56, 0x31, 0x4a, 0xd4, 0x5e, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x98, 0x02, 0x01, 0x0a, + 0x3a, 0x56, 0x31, 0x4a, 0xdd, 0x5e, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0x9b, 0x02, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x18, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, @@ -1013,475 +1013,475 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x12, 0x03, 0x75, 0x09, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x75, 0x16, 0x3e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x75, - 0x17, 0x3d, 0x0a, 0x0b, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x05, 0x78, 0x00, 0x80, 0x01, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x78, 0x05, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x05, - 0x00, 0x02, 0x00, 0x12, 0x03, 0x79, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x79, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, - 0x03, 0x79, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x7a, 0x02, - 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x7a, 0x02, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x7a, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x7b, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x7b, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, - 0x02, 0x12, 0x03, 0x7b, 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, - 0x7c, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x7c, 0x02, - 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x7c, 0x20, 0x21, 0x0a, - 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x03, 0x7d, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x7d, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x04, 0x02, 0x12, 0x03, 0x7d, 0x1e, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x05, - 0x12, 0x03, 0x7e, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, - 0x7e, 0x02, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x7e, 0x20, - 0x21, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, 0x03, 0x7f, 0x02, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x7f, 0x02, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x7f, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, - 0x12, 0x06, 0x82, 0x01, 0x00, 0x8b, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, - 0x04, 0x82, 0x01, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, 0x12, 0x06, 0x83, - 0x01, 0x02, 0x8a, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, 0x01, 0x12, 0x04, - 0x83, 0x01, 0x08, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x84, 0x01, - 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x84, 0x01, 0x04, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x84, 0x01, 0x23, 0x2a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x84, 0x01, 0x2d, 0x2e, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0x85, 0x01, 0x04, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x04, 0x85, 0x01, 0x04, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x01, 0x20, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x01, 0x27, 0x28, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, - 0x02, 0x02, 0x12, 0x04, 0x86, 0x01, 0x04, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, - 0x06, 0x12, 0x04, 0x86, 0x01, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, - 0x12, 0x04, 0x86, 0x01, 0x24, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, - 0x04, 0x86, 0x01, 0x2f, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x04, 0x87, - 0x01, 0x04, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, 0x04, 0x87, 0x01, - 0x04, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0x87, 0x01, 0x22, - 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x04, 0x87, 0x01, 0x2b, 0x2c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x04, 0x12, 0x04, 0x88, 0x01, 0x04, 0x31, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x06, 0x12, 0x04, 0x88, 0x01, 0x04, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, 0x04, 0x88, 0x01, 0x24, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x04, 0x88, 0x01, 0x2f, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x05, 0x12, 0x04, 0x89, 0x01, 0x04, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x05, 0x06, 0x12, 0x04, 0x89, 0x01, 0x04, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, - 0x01, 0x12, 0x04, 0x89, 0x01, 0x21, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x03, - 0x12, 0x04, 0x89, 0x01, 0x29, 0x2a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x8d, 0x01, - 0x00, 0x29, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x8d, 0x01, 0x08, 0x26, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x8e, 0x01, 0x00, 0x26, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x05, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, - 0x8f, 0x01, 0x00, 0x92, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x8f, - 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x90, 0x01, 0x02, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x04, 0x90, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0x90, 0x01, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x01, 0x12, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0x91, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x01, 0x04, 0x12, 0x04, 0x91, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x91, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x91, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x91, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x93, - 0x01, 0x00, 0x98, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x93, 0x01, - 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x94, 0x01, 0x02, 0x44, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0x94, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x01, 0x09, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x01, 0x1c, 0x42, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x95, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x04, 0x95, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x95, 0x01, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x95, 0x01, 0x11, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x01, 0x03, 0x12, 0x04, 0x95, 0x01, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, - 0x12, 0x04, 0x96, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, - 0x04, 0x96, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x04, - 0x96, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0x96, - 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0x96, 0x01, - 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x04, 0x97, 0x01, 0x02, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x04, 0x12, 0x04, 0x97, 0x01, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x04, 0x97, 0x01, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0x97, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, 0x04, 0x97, 0x01, 0x1b, 0x1c, 0x0a, 0x0a, 0x0a, 0x02, - 0x04, 0x08, 0x12, 0x04, 0x99, 0x01, 0x00, 0x2a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, - 0x04, 0x99, 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x9a, 0x01, 0x00, - 0x9f, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x08, 0x24, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x44, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9b, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9b, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9b, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9b, 0x01, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x04, 0x12, 0x04, 0x9c, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x05, 0x12, 0x04, 0x9c, 0x01, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x01, 0x12, 0x04, 0x9c, 0x01, 0x11, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, - 0x12, 0x04, 0x9c, 0x01, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, - 0x9d, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x04, 0x12, 0x04, 0x9d, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x01, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x12, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x1b, 0x1c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x03, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x04, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, 0x04, 0x9e, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9e, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9e, 0x01, 0x1b, 0x1c, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0a, - 0x12, 0x06, 0xa2, 0x01, 0x00, 0xad, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0a, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x08, 0x1b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0a, 0x08, 0x00, - 0x12, 0x06, 0xa3, 0x01, 0x02, 0xa6, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x08, 0x00, - 0x01, 0x12, 0x04, 0xa3, 0x01, 0x08, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, - 0x04, 0xa4, 0x01, 0x04, 0x7b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xa4, 0x01, 0x04, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa4, - 0x01, 0x2a, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x01, - 0x50, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa4, 0x01, 0x52, - 0x7a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, - 0x01, 0x53, 0x79, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x04, - 0x68, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa5, 0x01, 0x04, 0x20, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x21, 0x3a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa5, 0x01, 0x3d, 0x3e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa5, 0x01, 0x3f, 0x67, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x01, 0x40, 0x66, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x02, 0x08, 0x12, 0x04, 0xa7, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, - 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0a, 0x02, 0x03, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xa8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xa8, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xa8, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, - 0x04, 0xa8, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xa8, 0x01, 0x15, 0x3b, 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, - 0x12, 0x04, 0xab, 0x01, 0x02, 0x44, 0x1a, 0x73, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0xab, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x04, 0x05, 0x12, 0x04, 0xab, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xab, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xab, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x08, - 0x12, 0x04, 0xab, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xab, 0x01, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, - 0x12, 0x04, 0xac, 0x01, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x04, 0x12, - 0x04, 0xac, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x06, 0x12, 0x04, - 0xac, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0xac, - 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x03, 0x12, 0x04, 0xac, 0x01, - 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x08, 0x12, 0x04, 0xac, 0x01, 0x38, - 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, - 0x01, 0x39, 0x5f, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xb0, 0x01, 0x00, 0xb2, 0x01, + 0x17, 0x3d, 0x0a, 0x0b, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x05, 0x7b, 0x00, 0x83, 0x01, 0x01, 0x0a, + 0x0a, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x03, 0x7b, 0x05, 0x15, 0x0a, 0x0b, 0x0a, 0x04, 0x05, + 0x00, 0x02, 0x00, 0x12, 0x03, 0x7c, 0x02, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x7c, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, + 0x03, 0x7c, 0x23, 0x24, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x03, 0x7d, 0x02, + 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x7d, 0x02, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x7d, 0x1f, 0x20, 0x0a, 0x0b, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x03, 0x7e, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x7e, 0x02, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, + 0x02, 0x12, 0x03, 0x7e, 0x1c, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x03, + 0x7f, 0x02, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x7f, 0x02, + 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x7f, 0x20, 0x21, 0x0a, + 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x04, 0x80, 0x01, 0x02, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0x80, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0x80, 0x01, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, + 0x00, 0x02, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, + 0x05, 0x01, 0x12, 0x04, 0x81, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x05, + 0x02, 0x12, 0x04, 0x81, 0x01, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x06, 0x12, + 0x04, 0x82, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, + 0x82, 0x01, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x06, 0x02, 0x12, 0x04, 0x82, + 0x01, 0x1d, 0x1e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x85, 0x01, 0x00, 0x8e, 0x01, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x85, 0x01, 0x08, 0x1f, 0x0a, 0x0e, + 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, 0x12, 0x06, 0x86, 0x01, 0x02, 0x8d, 0x01, 0x03, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, 0x01, 0x12, 0x04, 0x86, 0x01, 0x08, 0x0f, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x87, 0x01, 0x04, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x01, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x01, 0x23, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x87, 0x01, 0x2d, 0x2e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, + 0x12, 0x04, 0x88, 0x01, 0x04, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, + 0x04, 0x88, 0x01, 0x04, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x88, 0x01, 0x20, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0x88, + 0x01, 0x27, 0x28, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x04, 0x89, 0x01, 0x04, + 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x06, 0x12, 0x04, 0x89, 0x01, 0x04, 0x23, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0x89, 0x01, 0x24, 0x2c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, 0x89, 0x01, 0x2f, 0x30, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x04, 0x8a, 0x01, 0x04, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x03, 0x06, 0x12, 0x04, 0x8a, 0x01, 0x04, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8a, 0x01, 0x22, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x03, 0x03, 0x12, 0x04, 0x8a, 0x01, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, + 0x04, 0x12, 0x04, 0x8b, 0x01, 0x04, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x06, + 0x12, 0x04, 0x8b, 0x01, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x01, 0x12, + 0x04, 0x8b, 0x01, 0x24, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x04, 0x03, 0x12, 0x04, + 0x8b, 0x01, 0x2f, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x05, 0x12, 0x04, 0x8c, 0x01, + 0x04, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x04, + 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x21, 0x26, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x05, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x29, 0x2a, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x90, 0x01, 0x00, 0x29, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x04, 0x01, 0x12, 0x04, 0x90, 0x01, 0x08, 0x26, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, + 0x91, 0x01, 0x00, 0x26, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x91, 0x01, 0x08, + 0x23, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x92, 0x01, 0x00, 0x95, 0x01, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x92, 0x01, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x93, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x00, 0x04, 0x12, 0x04, 0x93, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x93, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x93, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x93, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, + 0x94, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x04, 0x12, 0x04, 0x94, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x94, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x01, 0x12, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x94, 0x01, 0x1b, 0x1c, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x96, 0x01, 0x00, 0x9b, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x96, 0x01, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x00, 0x12, 0x04, 0x97, 0x01, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x97, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x97, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x97, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x97, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x97, 0x01, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, + 0x04, 0x98, 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x04, + 0x98, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x98, + 0x01, 0x0b, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x01, + 0x11, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x01, 0x1d, + 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x04, 0x99, 0x01, 0x02, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x04, 0x99, 0x01, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x04, 0x99, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0x99, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0x99, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x03, 0x04, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, + 0x05, 0x12, 0x04, 0x9a, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, + 0x12, 0x04, 0x9a, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, + 0x04, 0x9a, 0x01, 0x1b, 0x1c, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9c, 0x01, 0x00, + 0x2a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x08, 0x27, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x9d, 0x01, 0x00, 0xa2, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x09, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x00, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x9e, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x9e, 0x01, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x9e, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9e, + 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x9e, 0x01, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0x9f, + 0x01, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x04, 0x12, 0x04, 0x9f, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9f, 0x01, 0x0b, + 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9f, 0x01, 0x11, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9f, 0x01, 0x1d, 0x1e, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x02, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x02, 0x04, 0x12, 0x04, 0xa0, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa0, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xa0, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, + 0x03, 0x12, 0x04, 0xa1, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x04, + 0x12, 0x04, 0xa1, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x05, 0x12, + 0x04, 0xa1, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x01, 0x12, 0x04, + 0xa1, 0x01, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa1, + 0x01, 0x1b, 0x1c, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xa5, 0x01, 0x00, 0xb0, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, - 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x08, - 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x3d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb1, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb1, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb1, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x01, 0x15, 0x3b, 0x0a, 0x3f, 0x0a, - 0x02, 0x04, 0x0c, 0x12, 0x06, 0xb5, 0x01, 0x00, 0xb7, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, - 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xb5, 0x01, 0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0c, 0x02, 0x00, 0x12, 0x04, 0xb6, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xb6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xb6, 0x01, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xb6, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xb6, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xb6, 0x01, 0x21, 0x47, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xba, - 0x01, 0x00, 0xc2, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, + 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xa5, 0x01, 0x08, + 0x1b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0a, 0x08, 0x00, 0x12, 0x06, 0xa6, 0x01, 0x02, 0xa9, 0x01, + 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x08, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x08, 0x0f, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xa7, 0x01, 0x04, 0x7b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x01, 0x04, 0x29, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x01, 0x2a, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x01, 0x50, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa7, 0x01, 0x52, 0x7a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x01, 0x53, 0x79, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x04, 0x68, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x06, 0x12, 0x04, 0xa8, 0x01, 0x04, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x21, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xa8, 0x01, 0x3d, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, + 0x12, 0x04, 0xa8, 0x01, 0x3f, 0x67, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xa8, 0x01, 0x40, 0x66, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, + 0x12, 0x04, 0xaa, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, + 0x04, 0xaa, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xaa, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xaa, + 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x12, 0x04, 0xaa, 0x01, + 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xaa, 0x01, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0xab, 0x01, + 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x04, 0xab, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xab, 0x01, 0x09, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x04, 0xab, 0x01, 0x12, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x04, 0xab, 0x01, 0x14, 0x3c, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xab, 0x01, 0x15, 0x3b, + 0x0a, 0x81, 0x01, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x04, 0x12, 0x04, 0xae, 0x01, 0x02, 0x44, 0x1a, + 0x73, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x62, + 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0xae, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0xae, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0xae, 0x01, 0x12, + 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0xae, 0x01, 0x19, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0xae, 0x01, 0x1b, 0x43, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xae, 0x01, 0x1c, + 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x05, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x61, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x04, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x05, 0x06, 0x12, 0x04, 0xaf, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x05, 0x03, 0x12, 0x04, 0xaf, 0x01, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x05, 0x08, 0x12, 0x04, 0xaf, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, + 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x01, 0x39, 0x5f, 0x0a, 0x3f, 0x0a, 0x02, + 0x04, 0x0b, 0x12, 0x06, 0xb3, 0x01, 0x00, 0xb5, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, + 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, + 0x02, 0x00, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xb4, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xb4, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xb4, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xb4, 0x01, 0x15, 0x3b, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xb8, 0x01, + 0x00, 0xba, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, + 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, + 0xb8, 0x01, 0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xb9, 0x01, + 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb9, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x01, 0x09, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb9, 0x01, 0x1e, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb9, 0x01, 0x20, 0x48, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x01, 0x21, 0x47, + 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xbd, 0x01, 0x00, 0xc5, 0x01, 0x01, 0x1a, 0x31, + 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x08, 0x24, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xbe, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, + 0x02, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, + 0x04, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xbf, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xbf, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xbf, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbf, + 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xbf, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x04, 0xc0, + 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x04, 0x12, 0x04, 0xc0, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc0, 0x01, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x12, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x1e, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x12, 0x04, 0xc0, 0x01, 0x20, 0x48, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x01, 0x21, 0x47, + 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x08, 0x00, 0x12, 0x06, 0xc1, 0x01, 0x02, 0xc4, 0x01, 0x03, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x08, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x08, 0x18, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x55, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x03, 0x06, 0x12, 0x04, 0xc2, 0x01, 0x04, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x1f, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, + 0x02, 0x03, 0x08, 0x12, 0x04, 0xc2, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, + 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x0d, 0x02, 0x04, 0x12, 0x04, 0xc3, 0x01, 0x04, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, + 0x04, 0x06, 0x12, 0x04, 0xc3, 0x01, 0x04, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, + 0x01, 0x12, 0x04, 0xc3, 0x01, 0x22, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x03, + 0x12, 0x04, 0xc3, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x12, + 0x04, 0xc3, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xc3, 0x01, 0x38, 0x5e, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xc8, + 0x01, 0x00, 0xca, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, - 0x04, 0xba, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xbb, - 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbb, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x09, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x10, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbb, 0x01, 0x12, 0x3a, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x01, 0x13, - 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x4b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbc, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbc, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0d, 0x02, 0x02, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x02, 0x04, 0x12, 0x04, 0xbd, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x02, 0x05, 0x12, 0x04, 0xbd, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xbd, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xbd, 0x01, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x12, - 0x04, 0xbd, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xbd, 0x01, 0x21, 0x47, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x08, 0x00, 0x12, - 0x06, 0xbe, 0x01, 0x02, 0xc1, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x08, 0x00, 0x01, - 0x12, 0x04, 0xbe, 0x01, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x04, - 0xbf, 0x01, 0x04, 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x06, 0x12, 0x04, 0xbf, - 0x01, 0x04, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbf, 0x01, - 0x1f, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x2a, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x12, 0x04, 0xbf, 0x01, 0x2c, 0x54, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x01, - 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x04, 0x12, 0x04, 0xc0, 0x01, 0x04, 0x60, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc0, 0x01, 0x04, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x22, 0x32, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc0, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0d, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x01, 0x38, 0x5e, 0x0a, 0x3f, - 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xc5, 0x01, 0x00, 0xc7, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xc6, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xc6, 0x01, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xc6, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xc6, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xc6, 0x01, 0x20, 0x46, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xca, - 0x01, 0x00, 0xcc, 0x01, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, - 0x04, 0xca, 0x01, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xcb, - 0x01, 0x02, 0x50, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcb, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcb, 0x01, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x25, 0x26, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcb, 0x01, 0x27, 0x4f, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x28, 0x4e, - 0x0a, 0x62, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xcf, 0x01, 0x00, 0xd1, 0x01, 0x01, 0x1a, 0x54, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x08, - 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x40, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd0, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd0, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x01, 0x18, 0x3e, 0x0a, 0x61, 0x0a, - 0x02, 0x04, 0x11, 0x12, 0x06, 0xd4, 0x01, 0x00, 0xd6, 0x01, 0x01, 0x1a, 0x53, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x60, - 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xd4, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xd5, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xd5, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd5, 0x01, 0x15, 0x3b, 0x0a, 0x59, 0x0a, 0x02, 0x04, 0x12, 0x12, - 0x06, 0xd9, 0x01, 0x00, 0xf5, 0x01, 0x01, 0x1a, 0x4b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, + 0x04, 0xc8, 0x01, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc9, + 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc9, 0x01, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc9, 0x01, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x12, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc9, 0x01, 0x1d, 0x1e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc9, 0x01, 0x1f, 0x47, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x01, 0x20, 0x46, + 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xcd, 0x01, 0x00, 0xcf, 0x01, 0x01, 0x1a, 0x31, + 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x08, 0x25, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xce, 0x01, 0x02, 0x50, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xce, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xce, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xce, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xce, 0x01, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xce, 0x01, 0x28, 0x4e, 0x0a, 0x62, 0x0a, 0x02, 0x04, 0x10, 0x12, + 0x06, 0xd2, 0x01, 0x00, 0xd4, 0x01, 0x01, 0x1a, 0x54, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, - 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x08, - 0x1a, 0x0a, 0xee, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x02, 0x40, - 0x1a, 0xdf, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, - 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdd, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x09, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdd, 0x01, 0x15, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdd, 0x01, 0x17, 0x3f, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x18, 0x3e, - 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x41, 0x1a, - 0xe9, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, - 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, - 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, - 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x6d, 0x75, - 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, + 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x60, 0x20, 0x74, 0x6f, + 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, + 0x02, 0x00, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xd3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xd3, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xd3, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xd3, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xd3, 0x01, 0x18, 0x3e, 0x0a, 0x61, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xd7, 0x01, + 0x00, 0xd9, 0x01, 0x01, 0x1a, 0x53, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x60, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, + 0x65, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, + 0x12, 0x04, 0xd7, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, + 0xd8, 0x01, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd8, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd8, 0x01, + 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd8, 0x01, 0x12, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd8, 0x01, 0x14, 0x3c, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd8, 0x01, + 0x15, 0x3b, 0x0a, 0x59, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xdc, 0x01, 0x00, 0xf8, 0x01, 0x01, + 0x1a, 0x4b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x08, 0x1a, 0x0a, 0xee, 0x01, 0x0a, 0x04, 0x04, + 0x12, 0x02, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x40, 0x1a, 0xdf, 0x01, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, + 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, + 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, + 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xe3, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xe3, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, - 0x08, 0x12, 0x04, 0xe3, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x01, 0x19, 0x3f, 0x0a, 0x85, 0x05, 0x0a, 0x04, 0x04, 0x12, - 0x02, 0x02, 0x12, 0x04, 0xea, 0x01, 0x02, 0x3d, 0x1a, 0xf6, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, - 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, - 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, - 0x64, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, - 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, - 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, - 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, - 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, - 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x23, 0x72, 0x65, - 0x70, 0x6f, 0x72, 0x74, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x05, 0x12, 0x04, 0xea, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, 0x12, 0x04, 0xea, 0x01, 0x09, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, 0x04, 0xea, 0x01, 0x12, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x08, 0x12, 0x04, 0xea, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x12, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x15, 0x3b, 0x0a, - 0x5b, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0xed, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, - 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, 0xed, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0xed, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xed, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x03, 0x08, 0x12, 0x04, 0xed, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xed, 0x01, 0x1e, 0x44, 0x0a, 0xb1, 0x03, 0x0a, 0x04, 0x04, - 0x12, 0x02, 0x04, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x3f, 0x1a, 0xa2, 0x03, 0x20, 0x48, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, - 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, - 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, - 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, - 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, - 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, - 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, - 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, - 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x05, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x04, 0x08, 0x12, 0x04, 0xf4, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, - 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf4, 0x01, 0x17, 0x3d, 0x0a, 0x4e, 0x0a, 0x02, - 0x04, 0x13, 0x12, 0x06, 0xf8, 0x01, 0x00, 0xfb, 0x01, 0x01, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x13, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, - 0x00, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, - 0x12, 0x04, 0xf9, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xf9, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xf9, 0x01, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf9, - 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x02, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfa, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, 0x01, 0x09, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0xfd, 0x01, 0x00, 0xff, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x14, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, - 0x00, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xfe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xfe, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xfe, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfe, - 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xfe, 0x01, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0x81, 0x02, 0x00, - 0x84, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0x81, 0x02, 0x08, 0x1b, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0x82, 0x02, 0x02, 0x3d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, 0x12, 0x04, 0x82, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, 0x04, 0x82, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, 0x82, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0x82, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x02, 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0x83, 0x02, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x01, 0x05, 0x12, 0x04, 0x83, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x01, 0x01, 0x12, 0x04, 0x83, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, - 0x03, 0x12, 0x04, 0x83, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, - 0x12, 0x04, 0x83, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x83, 0x02, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, - 0x86, 0x02, 0x00, 0x88, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0x86, - 0x02, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0x87, 0x02, 0x02, - 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0x87, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x02, 0x09, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x02, 0x15, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x02, 0x18, 0x3e, 0x0a, - 0x22, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0x8a, 0x02, 0x00, 0x8c, 0x02, 0x01, 0x22, 0x14, 0x20, - 0x6e, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x08, 0x1c, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0x8e, 0x02, 0x00, 0x94, 0x02, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0x8e, 0x02, 0x08, 0x1b, 0x0a, 0x25, 0x0a, 0x04, 0x04, - 0x18, 0x02, 0x00, 0x12, 0x04, 0x90, 0x02, 0x02, 0x3d, 0x1a, 0x17, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0x90, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x02, 0x09, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x02, 0x12, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x02, 0x14, 0x3c, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x02, 0x15, 0x3b, - 0x0a, 0x88, 0x01, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x01, 0x12, 0x04, 0x93, 0x02, 0x02, 0x55, 0x1a, - 0x7a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0x93, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, - 0x01, 0x03, 0x12, 0x04, 0x93, 0x02, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, - 0x08, 0x12, 0x04, 0x93, 0x02, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x02, 0x2d, 0x53, 0x0a, 0x22, 0x0a, 0x02, 0x04, 0x19, 0x12, - 0x06, 0x96, 0x02, 0x00, 0x98, 0x02, 0x01, 0x22, 0x14, 0x20, 0x6e, 0x6f, 0x20, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0x96, 0x02, 0x08, 0x1c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xe0, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xe0, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x18, 0x3e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x12, + 0x02, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x41, 0x1a, 0xe9, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, + 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, + 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, + 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, + 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, + 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe6, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe6, 0x01, + 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x16, + 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe6, 0x01, 0x18, 0x40, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x01, + 0x19, 0x3f, 0x0a, 0x85, 0x05, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, 0x04, 0xed, 0x01, 0x02, + 0x3d, 0x1a, 0xf6, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x60, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x65, + 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x64, + 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, + 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, + 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, + 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2e, 0x0a, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, + 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, + 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, + 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, + 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, + 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, + 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, + 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, + 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, + 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x72, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x23, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x29, 0x2e, 0x20, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x02, 0x05, 0x12, 0x04, 0xed, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xed, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xed, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x08, + 0x12, 0x04, 0xed, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x02, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xed, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, + 0x12, 0x04, 0xf0, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, + 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, + 0xf0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf0, + 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf0, 0x01, + 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x08, 0x12, 0x04, 0xf0, 0x01, 0x1d, + 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, + 0x01, 0x1e, 0x44, 0x0a, 0xb1, 0x03, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x04, 0x12, 0x04, 0xf7, 0x01, + 0x02, 0x3f, 0x1a, 0xa2, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, + 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, + 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, + 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, + 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, + 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, + 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, + 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, + 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, + 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x05, + 0x12, 0x04, 0xf7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x01, 0x12, + 0x04, 0xf7, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x03, 0x12, 0x04, + 0xf7, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x08, 0x12, 0x04, 0xf7, + 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xf7, 0x01, 0x17, 0x3d, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0xfb, 0x01, 0x00, + 0xfe, 0x01, 0x01, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x60, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0xfb, 0x01, + 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x1e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0xfc, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0xfc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfc, 0x01, 0x12, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfc, 0x01, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, + 0x02, 0x01, 0x05, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, + 0x01, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, + 0x03, 0x12, 0x04, 0xfd, 0x01, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0x80, + 0x02, 0x00, 0x82, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x80, 0x02, + 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x81, 0x02, 0x02, 0x40, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0x81, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x81, 0x02, 0x09, 0x12, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x81, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0x81, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x02, 0x18, 0x3e, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0x84, 0x02, 0x00, 0x87, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x15, 0x01, 0x12, 0x04, 0x84, 0x02, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, + 0x00, 0x12, 0x04, 0x85, 0x02, 0x02, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x85, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x85, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x85, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0x85, + 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x85, 0x02, 0x15, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0x86, + 0x02, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0x86, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0x86, 0x02, 0x09, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0x86, 0x02, 0x15, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, 0x12, 0x04, 0x86, 0x02, 0x17, 0x3f, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x02, 0x18, + 0x3e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0x89, 0x02, 0x00, 0x8b, 0x02, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0x89, 0x02, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x16, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x8a, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x8a, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x8a, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x8a, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x8a, 0x02, 0x18, 0x3e, 0x0a, 0x22, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, + 0x8d, 0x02, 0x00, 0x8f, 0x02, 0x01, 0x22, 0x14, 0x20, 0x6e, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x17, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, 0x12, + 0x06, 0x91, 0x02, 0x00, 0x97, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, + 0x91, 0x02, 0x08, 0x1b, 0x0a, 0x25, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0x93, 0x02, + 0x02, 0x3d, 0x1a, 0x17, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x18, 0x02, 0x00, 0x06, 0x12, 0x04, 0x93, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x93, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x93, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x93, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x02, 0x15, 0x3b, 0x0a, 0x88, 0x01, 0x0a, 0x04, 0x04, 0x18, + 0x02, 0x01, 0x12, 0x04, 0x96, 0x02, 0x02, 0x55, 0x1a, 0x7a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x06, 0x12, 0x04, 0x96, + 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0x96, 0x02, + 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0x96, 0x02, 0x2a, + 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, 0x96, 0x02, 0x2c, 0x54, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x96, 0x02, + 0x2d, 0x53, 0x0a, 0x22, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0x99, 0x02, 0x00, 0x9b, 0x02, 0x01, + 0x22, 0x14, 0x20, 0x6e, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0x99, + 0x02, 0x08, 0x1c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.reports.v1.tonic.rs"); include!("sift.reports.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.rs b/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.rs deleted file mode 100644 index 4f0b47477..000000000 --- a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.rs +++ /dev/null @@ -1,3117 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ResourceAttributeKey { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub organization_id: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub description: ::prost::alloc::string::String, - #[prost(enumeration="ResourceAttributeKeyType", tag="5")] - pub r#type: i32, - #[prost(message, optional, tag="6")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="7")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="8")] - pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="9")] - pub modified_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="10")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ResourceAttributeEnumValue { - #[prost(string, tag="1")] - pub resource_attribute_enum_value_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="5")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="6")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="7")] - pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="8")] - pub modified_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="9")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ResourceAttribute { - #[prost(string, tag="1")] - pub resource_attribute_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub organization_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="3")] - pub entity: ::core::option::Option, - #[prost(string, tag="4")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="5")] - pub key: ::core::option::Option, - #[prost(message, optional, tag="9")] - pub enum_value_details: ::core::option::Option, - #[prost(message, optional, tag="10")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="11")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="12")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(oneof="resource_attribute::Value", tags="6, 7, 8")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `ResourceAttribute`. -pub mod resource_attribute { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="6")] - ResourceAttributeEnumValueId(::prost::alloc::string::String), - #[prost(bool, tag="7")] - BooleanValue(bool), - #[prost(double, tag="8")] - NumberValue(f64), - } -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ResourceAttributeEntityIdentifier { - #[prost(string, tag="1")] - pub entity_id: ::prost::alloc::string::String, - #[prost(enumeration="ResourceAttributeEntityType", tag="2")] - pub entity_type: i32, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateResourceAttributeKeyRequest { - #[prost(string, tag="1")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(enumeration="ResourceAttributeKeyType", tag="3")] - pub r#type: i32, - #[prost(message, repeated, tag="4")] - pub initial_enum_values: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `CreateResourceAttributeKeyRequest`. -pub mod create_resource_attribute_key_request { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] - pub struct InitialEnumValue { - #[prost(string, tag="1")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateResourceAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_key: ::core::option::Option, - #[prost(message, repeated, tag="2")] - pub enum_values: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetResourceAttributeKeyRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetResourceAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListResourceAttributeKeysRequest { - #[prost(uint32, tag="1")] - pub page_size: u32, - #[prost(string, tag="2")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub order_by: ::prost::alloc::string::String, - #[prost(bool, tag="5")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListResourceAttributeKeysResponse { - #[prost(message, repeated, tag="1")] - pub resource_attribute_keys: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateResourceAttributeKeyRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="4")] - pub update_mask: ::core::option::Option<::pbjson_types::FieldMask>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateResourceAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeKeyRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeKeyResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeKeyRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeKeyResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchArchiveResourceAttributeKeysRequest { - #[prost(string, repeated, tag="1")] - pub resource_attribute_key_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchArchiveResourceAttributeKeysResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributeKeysRequest { - #[prost(string, repeated, tag="1")] - pub resource_attribute_key_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributeKeysResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreateResourceAttributeEnumValueRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub description: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreateResourceAttributeEnumValueResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_enum_value: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetResourceAttributeEnumValueRequest { - #[prost(string, tag="1")] - pub resource_attribute_enum_value_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetResourceAttributeEnumValueResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_enum_value: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListResourceAttributeEnumValuesRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(uint32, tag="2")] - pub page_size: u32, - #[prost(string, tag="3")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="5")] - pub order_by: ::prost::alloc::string::String, - #[prost(bool, tag="6")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListResourceAttributeEnumValuesResponse { - #[prost(message, repeated, tag="1")] - pub resource_attribute_enum_values: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateResourceAttributeEnumValueRequest { - #[prost(string, tag="1")] - pub resource_attribute_enum_value_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub display_name: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="4")] - pub update_mask: ::core::option::Option<::pbjson_types::FieldMask>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateResourceAttributeEnumValueResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute_enum_value: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeEnumValueRequest { - #[prost(string, tag="1")] - pub archived_enum_value_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub replacement_enum_value_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeEnumValueResponse { - #[prost(int32, tag="1")] - pub resource_attributes_migrated: i32, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeEnumValueRequest { - #[prost(string, tag="1")] - pub resource_attribute_enum_value_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeEnumValueResponse { -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BatchArchiveResourceAttributeEnumValuesRequest { - #[prost(message, repeated, tag="1")] - pub archival_requests: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `BatchArchiveResourceAttributeEnumValuesRequest`. -pub mod batch_archive_resource_attribute_enum_values_request { - #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] - pub struct EnumValueArchival { - #[prost(string, tag="1")] - pub archived_enum_value_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub replacement_enum_value_id: ::prost::alloc::string::String, - } -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchArchiveResourceAttributeEnumValuesResponse { - #[prost(int32, tag="1")] - pub total_resource_attributes_migrated: i32, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributeEnumValuesRequest { - #[prost(string, repeated, tag="1")] - pub resource_attribute_enum_value_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributeEnumValuesResponse { -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateResourceAttributeRequest { - #[prost(message, optional, tag="1")] - pub entity: ::core::option::Option, - #[prost(string, tag="2")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(oneof="create_resource_attribute_request::Value", tags="3, 4, 5")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `CreateResourceAttributeRequest`. -pub mod create_resource_attribute_request { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="3")] - ResourceAttributeEnumValueId(::prost::alloc::string::String), - #[prost(bool, tag="4")] - BooleanValue(bool), - #[prost(double, tag="5")] - NumberValue(f64), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateResourceAttributeResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BatchCreateResourceAttributesRequest { - #[prost(string, tag="1")] - pub resource_attribute_key_id: ::prost::alloc::string::String, - #[prost(message, repeated, tag="5")] - pub entities: ::prost::alloc::vec::Vec, - #[prost(oneof="batch_create_resource_attributes_request::Value", tags="2, 3, 4")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `BatchCreateResourceAttributesRequest`. -pub mod batch_create_resource_attributes_request { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="2")] - ResourceAttributeEnumValueId(::prost::alloc::string::String), - #[prost(bool, tag="3")] - BooleanValue(bool), - #[prost(double, tag="4")] - NumberValue(f64), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BatchCreateResourceAttributesResponse { - #[prost(message, repeated, tag="1")] - pub resource_attributes: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetResourceAttributeRequest { - #[prost(string, tag="1")] - pub resource_attribute_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetResourceAttributeResponse { - #[prost(message, optional, tag="1")] - pub resource_attribute: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListResourceAttributesRequest { - #[prost(uint32, tag="1")] - pub page_size: u32, - #[prost(string, tag="2")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub order_by: ::prost::alloc::string::String, - #[prost(bool, tag="5")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListResourceAttributesResponse { - #[prost(message, repeated, tag="1")] - pub resource_attributes: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListResourceAttributesByEntityRequest { - #[prost(message, optional, tag="1")] - pub entity: ::core::option::Option, - #[prost(bool, tag="2")] - pub include_archived: bool, - #[prost(uint32, tag="3")] - pub page_size: u32, - #[prost(string, tag="4")] - pub page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListResourceAttributesByEntityResponse { - #[prost(message, repeated, tag="1")] - pub resource_attributes: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeRequest { - #[prost(string, tag="1")] - pub resource_attribute_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveResourceAttributeResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeRequest { - #[prost(string, tag="1")] - pub resource_attribute_id: ::prost::alloc::string::String, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveResourceAttributeResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchArchiveResourceAttributesRequest { - #[prost(string, repeated, tag="1")] - pub resource_attribute_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchArchiveResourceAttributesResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributesRequest { - #[prost(string, repeated, tag="1")] - pub resource_attribute_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct BatchUnarchiveResourceAttributesResponse { -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ResourceAttributeKeyType { - Unspecified = 0, - Enum = 1, - Boolean = 2, - Number = 3, - SetOfEnum = 4, -} -impl ResourceAttributeKeyType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED", - Self::Enum => "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM", - Self::Boolean => "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN", - Self::Number => "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER", - Self::SetOfEnum => "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM" => Some(Self::Enum), - "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN" => Some(Self::Boolean), - "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER" => Some(Self::Number), - "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM" => Some(Self::SetOfEnum), - _ => None, - } - } -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum ResourceAttributeEntityType { - Unspecified = 0, - Asset = 1, - Channel = 2, -} -impl ResourceAttributeEntityType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED", - Self::Asset => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET", - Self::Channel => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET" => Some(Self::Asset), - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL" => Some(Self::Channel), - _ => None, - } - } -} -/// Encoded file descriptor set for the `sift.resource_attribute.v1` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0x9f, 0xc6, 0x02, 0x0a, 0x33, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, - 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf8, 0x04, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x46, 0x0a, - 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, - 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, - 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, - 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, - 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x22, - 0xce, 0x04, 0x0a, 0x1a, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x53, - 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, - 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x3a, - 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 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, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x22, 0xcf, 0x06, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x5a, 0x0a, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, - 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, - 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, - 0x64, 0x12, 0x47, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, - 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, - 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x69, 0x0a, 0x12, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, - 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x10, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x44, 0x65, - 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, - 0x72, 0x49, 0x64, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x0c, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0xac, 0x01, 0x0a, 0x21, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x28, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x49, 0x64, 0x12, 0x5d, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, - 0x65, 0x22, 0xb2, 0x03, 0x0a, 0x21, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x13, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, - 0x6c, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x4e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x0b, 0xe0, 0x41, 0x01, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x10, 0x64, - 0x52, 0x11, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x1a, 0x61, 0x0a, 0x10, 0x49, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xea, 0x01, 0x0a, 0x22, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, - 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x57, 0x0a, 0x0b, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0a, 0x65, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x22, 0x68, 0x0a, 0x1e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x8e, 0x01, - 0x0a, 0x1f, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xd5, - 0x01, 0x0a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, - 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, - 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, - 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xb5, 0x01, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x68, 0x0a, 0x17, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xfc, - 0x01, 0x0a, 0x21, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x91, 0x01, - 0x0a, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x6b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x14, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x22, 0x6c, 0x0a, 0x22, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, - 0x25, 0x0a, 0x23, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x0a, 0x24, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, - 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x27, 0x0a, 0x25, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x7e, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x1a, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, - 0x2b, 0x0a, 0x29, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x80, 0x01, 0x0a, - 0x2a, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x52, 0x0a, 0x1a, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, 0x22, - 0x2d, 0x0a, 0x2b, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xc0, - 0x01, 0x0a, 0x27, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x49, 0x64, 0x12, 0x26, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0xaa, 0x01, 0x0a, 0x28, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, - 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x7b, - 0x0a, 0x24, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x25, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x1d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xa3, 0x02, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xce, 0x01, 0x0a, 0x27, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7b, 0x0a, 0x1e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x1b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8f, 0x02, 0x0a, - 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, - 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x26, 0x0a, - 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0xaa, - 0x01, 0x0a, 0x28, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7e, 0x0a, 0x1d, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0xb4, 0x01, 0x0a, 0x28, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x16, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, - 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x19, 0x72, 0x65, - 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x49, 0x64, 0x22, 0x6d, 0x0a, 0x29, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x40, 0x0a, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x1a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x81, 0x01, 0x0a, 0x2a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x53, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x49, 0x64, 0x22, 0x2d, 0x0a, 0x2b, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xec, 0x02, 0x0a, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x99, 0x01, 0x0a, 0x11, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x5c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, - 0x6c, 0x42, 0x0e, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, 0x08, 0x01, 0x10, 0x88, - 0x27, 0x52, 0x10, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x73, 0x1a, 0x9d, 0x01, 0x0a, 0x11, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x16, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x46, 0x0a, 0x19, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x49, 0x64, 0x22, 0x7e, 0x0a, 0x2f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x22, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x5f, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x05, 0x52, 0x1f, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x4d, 0x69, 0x67, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x93, 0x01, 0x0a, 0x30, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x21, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, - 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, 0x01, - 0x10, 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x1d, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x73, 0x22, 0x33, 0x0a, 0x31, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xed, - 0x02, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x5a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x46, 0x0a, - 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, - 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, - 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x84, - 0x01, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x61, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0x82, 0x03, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x46, - 0x0a, 0x19, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x16, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x52, 0x0a, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x08, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x48, 0x00, 0x52, 0x1c, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, - 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, - 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x69, 0x0a, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, - 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, 0x0e, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x08, 0x92, - 0x01, 0x05, 0x08, 0x01, 0x10, 0x88, 0x27, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, - 0x73, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x25, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x52, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x22, 0x5e, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x49, 0x64, 0x22, 0x81, 0x01, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x61, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x22, 0xd2, 0x01, 0x0a, 0x1d, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2e, 0x0a, - 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa8, 0x01, - 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x5e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, - 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf9, 0x01, 0x0a, 0x25, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x5a, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x2e, - 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x20, - 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb0, 0x01, 0x0a, 0x26, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, - 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x5e, 0x0a, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x12, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x62, 0x0a, 0x1f, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, 0x22, 0x22, 0x0a, 0x20, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x64, 0x0a, 0x21, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x13, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x49, 0x64, 0x22, 0x24, 0x0a, 0x22, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x0a, 0x25, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, 0x0c, 0x08, - 0x01, 0x10, 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x49, 0x64, - 0x73, 0x22, 0x28, 0x0a, 0x26, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x76, 0x0a, 0x27, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x16, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x15, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x0f, 0x92, 0x01, - 0x0c, 0x08, 0x01, 0x10, 0x88, 0x27, 0x22, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x49, 0x64, 0x73, 0x22, 0x2a, 0x0a, 0x28, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, - 0xeb, 0x01, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x27, - 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, - 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x52, 0x45, 0x53, - 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, - 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x01, 0x12, - 0x27, 0x0a, 0x23, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, - 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, - 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, 0x10, 0x02, 0x12, 0x26, 0x0a, 0x22, 0x52, 0x45, 0x53, 0x4f, - 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, - 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, - 0x12, 0x2b, 0x0a, 0x27, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, - 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, 0x04, 0x2a, 0xa3, 0x01, - 0x0a, 0x1b, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2e, 0x0a, - 0x2a, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, - 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x28, 0x0a, - 0x24, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, - 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x41, 0x53, 0x53, 0x45, 0x54, 0x10, 0x01, 0x12, 0x2a, 0x0a, 0x26, 0x52, 0x45, 0x53, 0x4f, 0x55, - 0x52, 0x43, 0x45, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x45, 0x4e, - 0x54, 0x49, 0x54, 0x59, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, - 0x4c, 0x10, 0x02, 0x32, 0x8d, 0x2e, 0x0a, 0x18, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0xc7, 0x01, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2a, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x24, 0x3a, 0x01, 0x2a, 0x22, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x17, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x43, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x12, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc1, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x12, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x27, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0xe3, 0x01, 0x0a, 0x1a, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, 0x3a, 0x01, - 0x2a, 0x32, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, - 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xeb, - 0x01, 0x0a, 0x1b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x3e, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x4b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x45, 0x22, 0x43, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xf3, 0x01, 0x0a, - 0x1d, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x40, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x22, 0x45, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x12, 0xea, 0x01, 0x0a, 0x21, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x45, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x3a, 0x01, 0x2a, - 0x22, 0x2d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, - 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, - 0xf2, 0x01, 0x0a, 0x23, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x47, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x34, - 0x3a, 0x01, 0x2a, 0x22, 0x2f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x75, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x12, 0xe0, 0x01, 0x0a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2b, 0x3a, 0x01, 0x2a, 0x22, - 0x26, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, - 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xf7, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, - 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x51, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xfb, 0x01, 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x42, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x49, 0x12, 0x47, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x7d, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x83, 0x02, 0x0a, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, - 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x54, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4e, 0x3a, 0x01, 0x2a, 0x32, 0x49, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x84, 0x02, 0x0a, 0x21, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x44, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x45, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4c, - 0x3a, 0x01, 0x2a, 0x22, 0x47, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x93, 0x02, 0x0a, - 0x23, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x12, 0x46, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x47, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x22, 0x53, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x12, 0x83, 0x02, 0x0a, 0x27, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4a, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x3a, - 0x01, 0x2a, 0x22, 0x34, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, - 0x6e, 0x75, 0x6d, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x8b, 0x02, 0x0a, 0x29, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x4c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x4d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x41, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3b, 0x3a, 0x01, 0x2a, 0x22, 0x36, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x65, 0x6e, 0x75, 0x6d, 0x2d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x75, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xba, 0x01, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x26, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0xd2, 0x01, 0x0a, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x40, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2c, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0xc6, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x12, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x12, 0x33, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, - 0x7d, 0x12, 0xb4, 0x01, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x39, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x23, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0xe8, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x41, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, - 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0xda, 0x01, 0x0a, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x3d, 0x22, 0x3b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x12, 0xe2, 0x01, 0x0a, 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x12, - 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3f, 0x22, 0x3d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x2f, 0x75, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xdd, 0x01, 0x0a, 0x1e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x41, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x42, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x34, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2e, 0x3a, 0x01, 0x2a, 0x22, 0x29, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2d, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe5, 0x01, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x43, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x44, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, - 0x22, 0x2b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x2d, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x1a, 0x44, 0x92, - 0x41, 0x41, 0x12, 0x3f, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, - 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x41, 0x42, 0x41, 0x43, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x28, - 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x29, 0x2e, 0x42, 0xdf, 0x01, 0x92, 0x41, 0x1e, 0x12, 0x1c, 0x0a, 0x1a, 0x52, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x16, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2e, 0x56, 0x31, 0xca, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0xe2, - 0x02, 0x25, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0x82, 0xc2, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xb3, - 0x05, 0x33, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, - 0x02, 0x12, 0x03, 0x02, 0x00, 0x23, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, - 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, - 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x29, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0b, - 0x00, 0x0d, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0b, 0x00, 0x0d, 0x02, - 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0c, 0x02, 0x2d, 0x0a, 0x0c, 0x0a, - 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x2c, 0x0a, 0x0b, 0x0a, 0x02, 0x06, - 0x00, 0x12, 0x05, 0x0f, 0x00, 0xa9, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, - 0x03, 0x0f, 0x08, 0x20, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x10, 0x02, 0x96, - 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x10, 0x02, 0x96, 0x01, - 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x04, 0x10, 0x46, 0x94, 0x01, - 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x12, 0x02, 0x17, 0x03, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x12, 0x06, 0x20, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x12, 0x21, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x12, 0x4d, 0x6f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x13, 0x04, 0x16, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x13, 0x04, 0x16, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x14, 0x06, 0x2d, 0x0a, 0x11, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x15, 0x06, 0x0f, - 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x19, 0x02, 0x1b, 0x03, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x19, 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x47, 0x66, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x04, 0x12, 0x03, 0x1a, 0x04, 0x64, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x12, 0x03, 0x1a, 0x04, 0x64, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x1a, 0x20, 0x62, 0x0a, 0x0c, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x02, 0x12, 0x04, 0x1d, 0x02, 0x1f, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x02, 0x01, 0x12, 0x03, 0x1d, 0x06, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, - 0x12, 0x03, 0x1d, 0x20, 0x40, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, - 0x1d, 0x4b, 0x6c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x03, 0x1e, 0x04, - 0x48, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, - 0x1e, 0x04, 0x48, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x02, 0x12, 0x03, 0x1e, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, - 0x21, 0x02, 0x26, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x21, - 0x06, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x21, 0x21, 0x42, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x21, 0x4d, 0x6f, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x22, 0x04, 0x25, 0x06, 0x0a, 0x11, 0x0a, - 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x22, 0x04, 0x25, 0x06, - 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, - 0x23, 0x06, 0x4a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x07, 0x12, 0x03, 0x24, 0x06, 0x0f, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, - 0x04, 0x29, 0x02, 0x2b, 0x03, 0x1a, 0x72, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x69, 0x74, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x41, 0x4e, 0x44, - 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x69, 0x74, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x04, 0x01, 0x12, 0x03, 0x29, 0x06, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, - 0x12, 0x03, 0x29, 0x22, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, - 0x29, 0x4f, 0x72, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x2a, 0x04, - 0x6d, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, - 0x2a, 0x04, 0x6d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x04, 0x12, 0x03, 0x2a, 0x20, 0x6b, 0x0a, 0x6e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, - 0x2e, 0x02, 0x30, 0x03, 0x1a, 0x60, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, - 0x4f, 0x54, 0x20, 0x69, 0x74, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x4f, 0x52, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, - 0x03, 0x2e, 0x06, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x2e, - 0x24, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x2e, 0x53, 0x78, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x2f, 0x04, 0x6f, 0x0a, 0x10, - 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x2f, 0x04, 0x6f, - 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, - 0x2f, 0x20, 0x6d, 0x0a, 0x8c, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x33, 0x02, - 0x38, 0x03, 0x1a, 0x7e, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x41, - 0x4e, 0x44, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x61, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x69, - 0x72, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x33, 0x06, 0x27, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x33, 0x28, 0x50, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0x33, 0x5b, 0x84, 0x01, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x34, 0x04, 0x37, 0x06, 0x0a, 0x11, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x34, 0x04, 0x37, 0x06, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x35, - 0x06, 0x3b, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, - 0x12, 0x03, 0x36, 0x06, 0x0f, 0x0a, 0x78, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x3b, - 0x02, 0x40, 0x03, 0x1a, 0x6a, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x73, 0x20, 0x42, 0x55, 0x54, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x4f, 0x52, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x3b, 0x06, 0x29, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x3b, 0x2a, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0x3b, 0x5f, 0x8a, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x12, 0x04, 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x3d, 0x06, 0x3d, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x3e, - 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x04, 0x42, 0x02, 0x47, 0x03, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x42, 0x06, 0x26, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x42, 0x27, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0x42, 0x59, 0x81, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x08, 0x04, 0x12, 0x04, 0x43, 0x04, 0x46, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, - 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x43, 0x04, 0x46, 0x06, 0x0a, 0x11, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x44, 0x06, 0x34, - 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, - 0x45, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, 0x04, 0x49, 0x02, 0x4b, - 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x49, 0x06, 0x23, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x49, 0x24, 0x48, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x49, 0x53, 0x78, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x4a, 0x04, 0x72, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x4a, 0x04, 0x72, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x4a, 0x20, 0x70, 0x0a, 0x0c, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, 0x04, 0x4d, 0x02, 0x4f, 0x03, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x4d, 0x06, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0a, 0x02, 0x12, 0x03, 0x4d, 0x26, 0x4c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, - 0x03, 0x12, 0x03, 0x4d, 0x57, 0x7e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, - 0x03, 0x4e, 0x04, 0x70, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x03, 0x4e, 0x04, 0x70, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x4e, 0x20, 0x6e, 0x0a, 0x0c, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x0b, 0x12, 0x04, 0x51, 0x02, 0x56, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x01, - 0x12, 0x03, 0x51, 0x06, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x02, 0x12, 0x03, - 0x51, 0x27, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x51, 0x59, - 0x81, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x04, 0x52, 0x04, 0x55, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x52, 0x04, 0x55, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x06, 0x12, 0x03, 0x53, 0x06, 0x58, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x54, 0x06, 0x0f, 0x0a, 0x73, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x0c, 0x12, 0x04, 0x59, 0x02, 0x5e, 0x03, 0x1a, 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x59, 0x06, 0x27, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x03, 0x59, 0x28, 0x50, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0x59, 0x5b, 0x84, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0c, 0x04, 0x12, 0x04, 0x5a, 0x04, 0x5d, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x5a, 0x04, 0x5d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x5b, 0x06, 0x55, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x5c, - 0x06, 0x0f, 0x0a, 0x86, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0d, 0x12, 0x04, 0x61, 0x02, 0x63, - 0x03, 0x1a, 0x78, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x42, 0x55, 0x54, - 0x20, 0x44, 0x4f, 0x45, 0x53, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x62, - 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0d, 0x01, 0x12, 0x03, 0x61, 0x06, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0d, 0x02, 0x12, 0x03, 0x61, 0x2a, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x03, - 0x12, 0x04, 0x61, 0x5f, 0x8a, 0x01, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, - 0x03, 0x62, 0x04, 0x7d, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x03, 0x62, 0x04, 0x7d, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x62, 0x20, 0x7b, 0x0a, 0x8c, 0x01, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x0e, 0x12, 0x04, 0x66, 0x02, 0x6b, 0x03, 0x1a, 0x7e, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x65, 0x6e, 0x75, - 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x69, 0x67, - 0x72, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x74, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, - 0x01, 0x12, 0x03, 0x66, 0x06, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x02, 0x12, - 0x03, 0x66, 0x2e, 0x5c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, 0x66, - 0x67, 0x96, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x04, 0x67, 0x04, - 0x6a, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x67, 0x04, 0x6a, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x04, 0x12, 0x03, 0x68, 0x06, 0x42, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0e, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x69, 0x06, 0x0f, 0x0a, 0x8d, 0x01, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x0f, 0x12, 0x04, 0x6e, 0x02, 0x73, 0x03, 0x1a, 0x7f, 0x20, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x42, 0x55, 0x54, - 0x20, 0x44, 0x4f, 0x45, 0x53, 0x20, 0x4e, 0x4f, 0x54, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x62, - 0x61, 0x63, 0x6b, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0f, 0x01, 0x12, 0x03, 0x6e, 0x06, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0f, 0x02, 0x12, 0x03, 0x6e, 0x30, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x03, - 0x12, 0x04, 0x6e, 0x6b, 0x9c, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x12, - 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0f, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0f, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x70, 0x06, 0x44, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x0f, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x71, 0x06, 0x0f, 0x0a, 0x59, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x10, 0x12, 0x04, 0x76, 0x02, 0x7b, 0x03, 0x1a, 0x4b, 0x20, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x10, 0x01, 0x12, 0x03, 0x76, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x02, - 0x12, 0x03, 0x76, 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x03, 0x12, 0x03, - 0x76, 0x47, 0x66, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x04, 0x77, 0x04, - 0x7a, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x10, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x77, 0x04, 0x7a, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x10, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x04, 0x12, 0x03, 0x78, 0x06, 0x29, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x10, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x79, 0x06, 0x0f, 0x0a, 0x60, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x11, 0x12, 0x05, 0x7e, 0x02, 0x83, 0x01, 0x03, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x61, 0x6d, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x11, 0x01, 0x12, 0x03, 0x7e, 0x06, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x11, 0x02, 0x12, 0x03, 0x7e, 0x24, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x11, 0x03, 0x12, 0x03, 0x7e, 0x53, 0x78, 0x0a, 0x0e, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, - 0x12, 0x05, 0x7f, 0x04, 0x82, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x11, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x05, 0x7f, 0x04, 0x82, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x80, 0x01, 0x06, 0x2f, 0x0a, - 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x81, - 0x01, 0x06, 0x0f, 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x12, 0x12, 0x06, 0x85, 0x01, 0x02, - 0x87, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0x85, 0x01, - 0x06, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x02, 0x12, 0x04, 0x85, 0x01, 0x1b, - 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0x85, 0x01, 0x41, 0x5d, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, 0x04, 0x86, 0x01, 0x04, 0x5c, 0x0a, - 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x86, 0x01, - 0x04, 0x5c, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, - 0x12, 0x04, 0x86, 0x01, 0x20, 0x5a, 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x13, 0x12, 0x06, - 0x89, 0x01, 0x02, 0x8b, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x01, 0x12, - 0x04, 0x89, 0x01, 0x06, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x02, 0x12, 0x04, - 0x89, 0x01, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0x89, - 0x01, 0x45, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x8a, 0x01, - 0x04, 0x44, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x8a, 0x01, 0x04, 0x44, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x02, 0x12, 0x04, 0x8a, 0x01, 0x20, 0x42, 0x0a, 0x64, 0x0a, 0x04, 0x06, 0x00, 0x02, - 0x14, 0x12, 0x06, 0x8e, 0x01, 0x02, 0x90, 0x01, 0x03, 0x1a, 0x54, 0x20, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, - 0x20, 0x45, 0x78, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x06, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x02, 0x12, 0x04, 0x8e, 0x01, 0x25, 0x4a, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x14, 0x03, 0x12, 0x04, 0x8e, 0x01, 0x55, 0x7b, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x14, 0x04, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x60, 0x0a, 0x11, 0x0a, 0x09, 0x06, - 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x8f, 0x01, 0x04, 0x60, 0x0a, 0x12, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0x8f, 0x01, - 0x20, 0x5e, 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x15, 0x12, 0x06, 0x92, 0x01, 0x02, 0x94, - 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x01, 0x12, 0x04, 0x92, 0x01, 0x06, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x02, 0x12, 0x04, 0x92, 0x01, 0x1f, 0x3e, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x03, 0x12, 0x04, 0x92, 0x01, 0x49, 0x69, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x04, 0x12, 0x04, 0x93, 0x01, 0x04, 0x65, 0x0a, 0x11, - 0x0a, 0x09, 0x06, 0x00, 0x02, 0x15, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x93, 0x01, 0x04, - 0x65, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x15, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, - 0x04, 0x93, 0x01, 0x20, 0x63, 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x16, 0x12, 0x06, 0x96, - 0x01, 0x02, 0x98, 0x01, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x01, 0x12, 0x04, - 0x96, 0x01, 0x06, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x02, 0x12, 0x04, 0x96, - 0x01, 0x21, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x03, 0x12, 0x04, 0x96, 0x01, - 0x4d, 0x6f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x04, 0x12, 0x04, 0x97, 0x01, 0x04, - 0x67, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x16, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x97, 0x01, 0x04, 0x67, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x16, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x04, 0x12, 0x04, 0x97, 0x01, 0x20, 0x65, 0x0a, 0x38, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x17, - 0x12, 0x06, 0x9b, 0x01, 0x02, 0xa0, 0x01, 0x03, 0x1a, 0x28, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x06, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x02, 0x12, 0x04, 0x9b, 0x01, 0x25, 0x4a, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x03, 0x12, 0x04, 0x9b, 0x01, 0x55, 0x7b, 0x0a, - 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x04, 0x12, 0x06, 0x9c, 0x01, 0x04, 0x9f, 0x01, 0x06, - 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x9c, - 0x01, 0x04, 0x9f, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x04, 0x12, 0x04, 0x9d, 0x01, 0x06, 0x37, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, - 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x9e, 0x01, 0x06, 0x0f, 0x0a, 0x3a, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x18, 0x12, 0x06, 0xa3, 0x01, 0x02, 0xa8, 0x01, 0x03, 0x1a, 0x2a, 0x20, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, - 0x70, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x18, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x06, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x18, - 0x02, 0x12, 0x04, 0xa3, 0x01, 0x27, 0x4e, 0x0a, 0x0e, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x18, 0x03, - 0x12, 0x05, 0xa3, 0x01, 0x59, 0x81, 0x01, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x18, 0x04, - 0x12, 0x06, 0xa4, 0x01, 0x04, 0xa7, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x18, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xa4, 0x01, 0x04, 0xa7, 0x01, 0x06, 0x0a, 0x12, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x18, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xa5, 0x01, 0x06, - 0x39, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x18, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x04, 0xa6, 0x01, 0x06, 0x0f, 0x0a, 0x3c, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0xac, 0x01, 0x00, - 0xb2, 0x01, 0x01, 0x1a, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x62, 0x65, 0x63, - 0x6f, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x65, - 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0xac, 0x01, 0x05, 0x1d, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0xad, 0x01, 0x02, 0x2e, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xad, 0x01, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, - 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xae, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xae, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, - 0x01, 0x02, 0x12, 0x04, 0xae, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, - 0x12, 0x04, 0xaf, 0x01, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xaf, 0x01, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, - 0xaf, 0x01, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x03, 0x12, 0x04, 0xb0, 0x01, - 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb0, 0x01, 0x02, - 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, 0x04, 0xb0, 0x01, 0x27, 0x28, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x2e, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb1, 0x01, 0x02, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0xb1, 0x01, 0x2c, 0x2d, 0x0a, 0x98, 0x01, 0x0a, - 0x02, 0x04, 0x00, 0x12, 0x06, 0xb5, 0x01, 0x00, 0xcc, 0x01, 0x01, 0x1a, 0x89, 0x01, 0x20, 0x41, - 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x28, - 0x41, 0x42, 0x41, 0x43, 0x29, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x04, - 0xb5, 0x01, 0x08, 0x1c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x06, 0xb6, 0x01, - 0x02, 0xb9, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb6, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb6, 0x01, - 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb6, 0x01, 0x25, - 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb6, 0x01, 0x27, 0xb9, - 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xb7, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, - 0x16, 0x12, 0x04, 0xb8, 0x01, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, - 0x06, 0xba, 0x01, 0x02, 0xbd, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, - 0x12, 0x04, 0xba, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xba, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xba, 0x01, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x06, 0xba, - 0x01, 0x1d, 0xbd, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xbb, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, - 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xbc, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x02, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xbe, 0x01, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xbe, 0x01, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, - 0xbe, 0x01, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xbe, 0x01, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, - 0xbf, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbf, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xbf, 0x01, - 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x17, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x04, 0xbf, 0x01, 0x19, 0x41, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x01, - 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x4d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x04, 0xc0, 0x01, 0x02, 0x1a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x1b, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc0, 0x01, 0x22, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc0, 0x01, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x01, 0x25, 0x4b, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x05, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x05, 0x08, 0x12, 0x04, 0xc1, 0x01, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc1, 0x01, 0x2e, 0x54, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x06, 0x12, 0x06, 0xc2, 0x01, 0x02, 0xc5, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x05, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xc2, 0x01, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, - 0x12, 0x06, 0xc2, 0x01, 0x20, 0xc5, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc3, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, - 0x02, 0x06, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xc4, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x06, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x07, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x03, 0x12, 0x04, 0xc6, 0x01, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, - 0x08, 0x12, 0x04, 0xc6, 0x01, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x2f, 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x08, 0x12, 0x06, 0xc7, 0x01, 0x02, 0xca, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x08, 0x05, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, - 0x01, 0x12, 0x04, 0xc7, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, - 0x12, 0x04, 0xc7, 0x01, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, - 0x06, 0xc7, 0x01, 0x21, 0xca, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, - 0x08, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xc9, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x09, 0x06, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x09, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, - 0x03, 0x12, 0x04, 0xcb, 0x01, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, - 0x12, 0x04, 0xcb, 0x01, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x30, 0x56, 0x0a, 0x87, 0x01, 0x0a, 0x02, 0x04, 0x01, 0x12, - 0x06, 0xd0, 0x01, 0x00, 0xe6, 0x01, 0x01, 0x1a, 0x79, 0x20, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x70, 0x6f, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x20, - 0x65, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x0a, 0x20, 0x55, 0x73, 0x65, 0x72, 0x73, 0x20, 0x63, - 0x61, 0x6e, 0x20, 0x61, 0x64, 0x64, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x01, 0x08, 0x22, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x06, 0xd1, 0x01, 0x02, 0xd4, 0x01, 0x04, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x09, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x2c, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x06, 0xd1, 0x01, 0x2e, 0xd4, 0x01, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd2, 0x01, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xd3, 0x01, - 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x06, 0xd5, 0x01, 0x02, 0xd8, - 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd5, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd5, 0x01, 0x09, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd5, 0x01, 0x25, 0x26, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x06, 0xd5, 0x01, 0x27, 0xd8, 0x01, 0x03, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, - 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, - 0x04, 0xd7, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, 0xd9, - 0x01, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd9, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x09, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x18, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x1a, 0x42, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x01, 0x1b, - 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x04, 0xda, 0x01, 0x02, 0x42, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x05, 0x12, 0x04, 0xda, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0xda, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x04, 0xda, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x04, 0xda, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x04, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x04, 0x06, 0x12, 0x04, 0xdb, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x04, 0x01, 0x12, 0x04, 0xdb, 0x01, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x04, 0x03, 0x12, 0x04, 0xdb, 0x01, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, - 0x08, 0x12, 0x04, 0xdb, 0x01, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x04, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdb, 0x01, 0x2e, 0x54, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x05, 0x12, 0x06, 0xdc, 0x01, 0x02, 0xdf, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x05, 0x05, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, - 0x01, 0x12, 0x04, 0xdc, 0x01, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, - 0x12, 0x04, 0xdc, 0x01, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x08, 0x12, - 0x06, 0xdc, 0x01, 0x20, 0xdf, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x05, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, - 0x05, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xde, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x06, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x06, 0x06, 0x12, 0x04, 0xe0, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xe0, 0x01, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xe0, 0x01, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x08, - 0x12, 0x04, 0xe0, 0x01, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x06, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xe0, 0x01, 0x2f, 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, - 0x12, 0x06, 0xe1, 0x01, 0x02, 0xe4, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, - 0x05, 0x12, 0x04, 0xe1, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, - 0x12, 0x04, 0xe1, 0x01, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, - 0x04, 0xe1, 0x01, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x08, 0x12, 0x06, - 0xe1, 0x01, 0x21, 0xe4, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x07, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xe2, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x07, - 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xe3, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x08, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x08, 0x06, 0x12, 0x04, 0xe5, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, - 0x01, 0x12, 0x04, 0xe5, 0x01, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x03, - 0x12, 0x04, 0xe5, 0x01, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x08, 0x12, - 0x04, 0xe5, 0x01, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x08, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xe5, 0x01, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xe8, - 0x01, 0x00, 0xec, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0xe8, 0x01, - 0x05, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x31, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x02, 0x2c, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0xe9, 0x01, 0x2f, 0x30, 0x0a, 0x0c, - 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xea, 0x01, 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xea, 0x01, 0x02, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0xea, 0x01, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, - 0x02, 0x02, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, - 0x12, 0x04, 0xeb, 0x01, 0x2b, 0x2c, 0x0a, 0x71, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xef, 0x01, - 0x00, 0x8d, 0x02, 0x01, 0x1a, 0x63, 0x20, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, - 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2d, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x20, 0x70, 0x61, 0x69, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6e, - 0x74, 0x69, 0x74, 0x79, 0x20, 0x28, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x29, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, - 0x12, 0x04, 0xef, 0x01, 0x08, 0x19, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x06, - 0xf0, 0x01, 0x02, 0xf3, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, - 0x04, 0xf0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xf0, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf0, - 0x01, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x06, 0xf0, 0x01, - 0x23, 0xf3, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xf1, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x00, 0x08, 0x87, - 0x09, 0x0e, 0x16, 0x12, 0x04, 0xf2, 0x01, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x01, 0x12, 0x06, 0xf4, 0x01, 0x02, 0xf7, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xf4, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xf4, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xf4, 0x01, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, - 0x06, 0xf4, 0x01, 0x1d, 0xf7, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, - 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xf6, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x02, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x24, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xf8, 0x01, 0x2d, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xf8, 0x01, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xf8, 0x01, 0x30, 0x56, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, - 0x12, 0x06, 0xf9, 0x01, 0x02, 0xfc, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, - 0x05, 0x12, 0x04, 0xf9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xf9, 0x01, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xf9, 0x01, 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x08, 0x12, 0x06, - 0xf9, 0x01, 0x27, 0xfc, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x03, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xfa, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x03, - 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xfb, 0x01, 0x04, 0x2b, 0x0a, 0x3d, 0x0a, 0x04, 0x04, - 0x02, 0x02, 0x04, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x48, 0x1a, 0x2f, 0x20, 0x50, 0x6f, 0x70, 0x75, - 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x04, 0x06, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x17, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xfe, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x08, - 0x12, 0x04, 0xfe, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x04, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x20, 0x46, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x08, 0x00, - 0x12, 0x06, 0xff, 0x01, 0x02, 0x83, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x08, 0x00, - 0x01, 0x12, 0x04, 0xff, 0x01, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, - 0x04, 0x80, 0x02, 0x04, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x05, 0x12, 0x04, - 0x80, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0x80, - 0x02, 0x0b, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0x80, 0x02, - 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x08, 0x12, 0x04, 0x80, 0x02, 0x30, - 0x59, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x05, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0x80, 0x02, 0x31, 0x58, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0x81, 0x02, - 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0x81, 0x02, 0x04, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0x81, 0x02, 0x09, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x03, 0x12, 0x04, 0x81, 0x02, 0x19, 0x1a, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x07, 0x12, 0x04, 0x82, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x07, 0x05, 0x12, 0x04, 0x82, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x07, 0x01, 0x12, 0x04, 0x82, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x07, 0x03, 0x12, 0x04, 0x82, 0x02, 0x1a, 0x1b, 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x02, - 0x02, 0x08, 0x12, 0x04, 0x85, 0x02, 0x02, 0x5d, 0x1a, 0x36, 0x20, 0x50, 0x6f, 0x70, 0x75, 0x6c, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x66, 0x75, 0x6c, 0x6c, 0x20, 0x65, 0x6e, 0x75, 0x6d, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x64, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x06, 0x12, 0x04, 0x85, 0x02, 0x02, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x01, 0x12, 0x04, 0x85, 0x02, 0x1d, 0x2f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x03, 0x12, 0x04, 0x85, 0x02, 0x32, 0x33, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x08, 0x08, 0x12, 0x04, 0x85, 0x02, 0x34, 0x5c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x02, 0x35, 0x5b, 0x0a, 0x73, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x09, 0x12, 0x04, 0x87, 0x02, 0x02, 0x57, 0x1a, 0x65, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, - 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x45, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x09, 0x06, 0x12, 0x04, 0x87, 0x02, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x09, 0x01, 0x12, 0x04, 0x87, 0x02, 0x1c, - 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x09, 0x03, 0x12, 0x04, 0x87, 0x02, 0x2b, 0x2d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x09, 0x08, 0x12, 0x04, 0x87, 0x02, 0x2e, 0x56, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x02, 0x2f, - 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x0a, 0x12, 0x06, 0x88, 0x02, 0x02, 0x8b, 0x02, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0a, 0x05, 0x12, 0x04, 0x88, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x88, 0x02, 0x09, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0a, 0x03, 0x12, 0x04, 0x88, 0x02, 0x1e, 0x20, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0a, 0x08, 0x12, 0x06, 0x88, 0x02, 0x21, 0x8b, 0x02, 0x03, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x02, 0x04, - 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x02, 0x02, 0x0a, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0x8a, 0x02, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x0b, 0x12, 0x04, 0x8c, 0x02, - 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0b, 0x06, 0x12, 0x04, 0x8c, 0x02, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x8c, 0x02, 0x1c, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x8c, 0x02, 0x2c, 0x2e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x0b, 0x08, 0x12, 0x04, 0x8c, 0x02, 0x2f, 0x57, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x02, 0x30, 0x56, - 0x0a, 0x54, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x90, 0x02, 0x00, 0x96, 0x02, 0x01, 0x1a, 0x46, - 0x20, 0x52, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x61, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x90, - 0x02, 0x08, 0x29, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x06, 0x91, 0x02, 0x02, - 0x94, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0x91, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x91, 0x02, 0x09, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x91, 0x02, 0x15, 0x16, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x06, 0x91, 0x02, 0x17, 0x94, 0x02, - 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, - 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x03, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, - 0x12, 0x04, 0x93, 0x02, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, - 0x95, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x06, 0x12, 0x04, 0x95, - 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0x95, 0x02, - 0x1e, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0x95, 0x02, 0x2c, - 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x04, 0x95, 0x02, 0x2e, 0x56, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x95, 0x02, - 0x2f, 0x55, 0x0a, 0x32, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x99, 0x02, 0x00, 0xa8, 0x02, 0x01, - 0x1a, 0x24, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x4b, 0x65, 0x79, 0x20, 0x52, 0x50, 0x43, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x99, - 0x02, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x02, 0x02, - 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9a, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x02, 0x09, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x18, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9a, 0x02, 0x1a, 0x42, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x02, 0x1b, 0x41, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x02, 0x02, 0x42, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9b, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9b, 0x02, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9b, 0x02, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, - 0x02, 0x01, 0x08, 0x12, 0x04, 0x9b, 0x02, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9b, 0x02, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x02, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x02, 0x06, 0x12, 0x04, 0x9c, 0x02, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, - 0x01, 0x12, 0x04, 0x9c, 0x02, 0x1b, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x03, - 0x12, 0x04, 0x9c, 0x02, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, - 0x04, 0x9c, 0x02, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x9c, 0x02, 0x25, 0x4b, 0x0a, 0x6f, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x03, 0x12, - 0x06, 0x9e, 0x02, 0x02, 0xa1, 0x02, 0x04, 0x1a, 0x5f, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x20, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6b, - 0x65, 0x79, 0x2e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x45, 0x4e, 0x55, 0x4d, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, - 0x04, 0x12, 0x04, 0x9e, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x06, - 0x12, 0x04, 0x9e, 0x02, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x01, 0x12, - 0x04, 0x9e, 0x02, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x03, 0x12, 0x04, - 0x9e, 0x02, 0x32, 0x33, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x03, 0x08, 0x12, 0x06, 0x9e, - 0x02, 0x34, 0xa1, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x03, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x9f, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x04, 0x02, 0x03, 0x08, - 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0xa0, 0x02, 0x04, 0x31, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x04, - 0x03, 0x00, 0x12, 0x06, 0xa4, 0x02, 0x02, 0xa7, 0x02, 0x03, 0x1a, 0x3c, 0x20, 0x4e, 0x65, 0x73, - 0x74, 0x65, 0x64, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x03, 0x00, - 0x01, 0x12, 0x04, 0xa4, 0x02, 0x0a, 0x1a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x04, 0x03, 0x00, 0x02, - 0x00, 0x12, 0x04, 0xa5, 0x02, 0x04, 0x45, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xa5, 0x02, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x02, 0x0b, 0x17, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, - 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x02, 0x1a, 0x1b, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, - 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa5, 0x02, 0x1c, 0x44, 0x0a, 0x12, 0x0a, 0x0a, 0x04, - 0x04, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x02, 0x1d, 0x43, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x04, 0x44, 0x0a, - 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa6, 0x02, 0x04, 0x0a, - 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x0b, - 0x16, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa6, 0x02, - 0x19, 0x1a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa6, - 0x02, 0x1b, 0x43, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x04, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xa6, 0x02, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xaa, - 0x02, 0x00, 0xae, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xaa, 0x02, - 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xab, 0x02, 0x02, 0x5b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0xab, 0x02, 0x02, 0x16, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xab, 0x02, 0x17, 0x2d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xab, 0x02, 0x30, 0x31, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0xab, 0x02, 0x32, 0x5a, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xab, 0x02, 0x33, 0x59, 0x0a, 0x5f, - 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0xad, 0x02, 0x02, 0x36, 0x1a, 0x51, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x69, 0x64, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2c, 0x20, 0x69, 0x66, 0x20, 0x61, 0x6e, 0x79, - 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x04, 0x12, 0x04, 0xad, 0x02, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x06, 0x12, 0x04, 0xad, 0x02, 0x0b, 0x25, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xad, 0x02, 0x26, 0x31, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xad, 0x02, 0x34, 0x35, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x06, 0x12, 0x06, 0xb0, 0x02, 0x00, 0xb5, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, - 0x12, 0x04, 0xb0, 0x02, 0x08, 0x26, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x06, - 0xb1, 0x02, 0x02, 0xb4, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, - 0x04, 0xb1, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xb1, 0x02, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb1, - 0x02, 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb1, 0x02, - 0x27, 0xb4, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xb2, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x06, 0x02, 0x00, 0x08, 0x87, - 0x09, 0x0e, 0x16, 0x12, 0x04, 0xb3, 0x02, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, - 0x06, 0xb7, 0x02, 0x00, 0xb9, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, - 0xb7, 0x02, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xb8, 0x02, - 0x02, 0x5b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb8, 0x02, 0x02, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb8, 0x02, 0x17, 0x2d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb8, 0x02, 0x30, 0x31, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb8, 0x02, 0x32, 0x5a, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, 0x02, 0x33, 0x59, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xbb, 0x02, 0x00, 0xd6, 0x02, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x02, 0x08, 0x28, 0x0a, 0x81, 0x02, 0x0a, 0x04, - 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xbf, 0x02, 0x02, 0x40, 0x1a, 0xf2, 0x01, 0x20, 0x54, 0x68, - 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, - 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x31, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, - 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, - 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbf, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbf, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbf, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbf, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x02, 0x18, 0x3e, 0x0a, 0x8a, 0x02, - 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x41, 0x1a, 0xfb, 0x01, 0x20, - 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, - 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, - 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, - 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xc5, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, - 0x12, 0x04, 0xc5, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xc5, 0x02, 0x19, 0x3f, 0x0a, 0xcd, 0x03, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x02, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x3d, 0x1a, 0xbe, 0x03, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, - 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, - 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x79, 0x70, 0x65, 0x60, - 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, - 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, - 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xcb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xcb, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xcb, 0x02, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x08, 0x12, 0x04, - 0xcb, 0x02, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xcb, 0x02, 0x15, 0x3b, 0x0a, 0xb9, 0x03, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, - 0x04, 0xd2, 0x02, 0x02, 0x3f, 0x1a, 0xaa, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, - 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, - 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, - 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, - 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, - 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, - 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, - 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, - 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd2, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x02, 0x09, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd2, 0x02, 0x14, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x08, 0x12, 0x04, 0xd2, 0x02, 0x16, 0x3e, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x08, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd2, 0x02, 0x17, 0x3d, - 0x0a, 0x57, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x04, 0xd5, 0x02, 0x02, 0x45, 0x1a, 0x49, - 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, - 0x75, 0x64, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x04, 0x05, 0x12, 0x04, 0xd5, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xd5, 0x02, 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xd5, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x08, 0x12, - 0x04, 0xd5, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x04, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd5, 0x02, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xd8, - 0x02, 0x00, 0xdb, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xd8, 0x02, - 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x3c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xd9, 0x02, 0x0b, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd9, 0x02, 0x20, 0x37, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd9, 0x02, 0x3a, 0x3b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x09, 0x02, 0x01, 0x12, 0x04, 0xda, 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xda, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xda, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xda, 0x02, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xdd, - 0x02, 0x00, 0xe6, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xdd, 0x02, - 0x08, 0x29, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x06, 0xde, 0x02, 0x02, 0xe1, - 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xde, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xde, 0x02, 0x09, 0x22, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xde, 0x02, 0x25, 0x26, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x06, 0xde, 0x02, 0x27, 0xe1, 0x02, 0x03, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdf, 0x02, - 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, - 0x04, 0xe0, 0x02, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xe2, - 0x02, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe2, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe2, 0x02, 0x09, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe2, 0x02, 0x18, 0x19, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe2, 0x02, 0x1a, 0x42, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x02, 0x1b, - 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x02, 0x12, 0x04, 0xe3, 0x02, 0x02, 0x42, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe3, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe3, 0x02, 0x09, 0x14, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe3, 0x02, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x02, 0x08, 0x12, 0x04, 0xe3, 0x02, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x0a, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x02, 0x1a, 0x40, 0x0a, 0x8c, 0x01, - 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x02, 0x02, 0x55, 0x1a, 0x7e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, - 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x04, 0xe5, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xe5, 0x02, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, - 0x03, 0x08, 0x12, 0x04, 0xe5, 0x02, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x02, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, - 0x12, 0x06, 0xe8, 0x02, 0x00, 0xea, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, - 0x04, 0xe8, 0x02, 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xe9, - 0x02, 0x02, 0x5b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe9, 0x02, - 0x02, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe9, 0x02, 0x17, - 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe9, 0x02, 0x30, 0x31, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe9, 0x02, 0x32, 0x5a, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x02, 0x33, - 0x59, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xec, 0x02, 0x00, 0xf1, 0x02, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xec, 0x02, 0x08, 0x2a, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x0c, 0x02, 0x00, 0x12, 0x06, 0xed, 0x02, 0x02, 0xf0, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xed, 0x02, 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x08, 0x12, 0x06, 0xed, 0x02, 0x27, 0xf0, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x0c, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xef, 0x02, 0x04, 0x2b, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xf3, 0x02, 0x00, 0x2e, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x0d, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, - 0xf5, 0x02, 0x00, 0xfa, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xf5, - 0x02, 0x08, 0x2c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x06, 0xf6, 0x02, 0x02, - 0xf9, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf6, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf6, 0x02, 0x09, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x02, 0x25, 0x26, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x06, 0xf6, 0x02, 0x27, 0xf9, 0x02, - 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, - 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, - 0x12, 0x04, 0xf8, 0x02, 0x04, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x04, 0xfc, 0x02, - 0x00, 0x30, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x08, 0x2d, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xfe, 0x02, 0x00, 0x85, 0x03, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xfe, 0x02, 0x08, 0x30, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x00, 0x12, 0x06, 0xff, 0x02, 0x02, 0x84, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xff, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xff, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xff, 0x02, 0x12, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xff, 0x02, 0x2f, 0x30, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x08, 0x12, - 0x06, 0xff, 0x02, 0x31, 0x84, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x10, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x81, 0x03, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x10, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0x82, 0x03, 0x04, 0x32, 0x0a, - 0x13, 0x0a, 0x0b, 0x04, 0x10, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x04, 0x0e, 0x16, 0x12, 0x04, - 0x83, 0x03, 0x04, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x04, 0x87, 0x03, 0x00, 0x34, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0x87, 0x03, 0x08, 0x31, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x12, 0x12, 0x06, 0x89, 0x03, 0x00, 0x90, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x12, 0x01, 0x12, 0x04, 0x89, 0x03, 0x08, 0x32, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, - 0x12, 0x06, 0x8a, 0x03, 0x02, 0x8f, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x8a, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, - 0x12, 0x04, 0x8a, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x8a, 0x03, 0x12, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x8a, 0x03, 0x2f, 0x30, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x06, 0x8a, - 0x03, 0x31, 0x8f, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x8b, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x12, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x8c, 0x03, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x12, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0x8d, 0x03, 0x04, 0x32, 0x0a, 0x13, 0x0a, - 0x0b, 0x04, 0x12, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x04, 0x0e, 0x16, 0x12, 0x04, 0x8e, 0x03, - 0x04, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x04, 0x92, 0x03, 0x00, 0x36, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x92, 0x03, 0x08, 0x33, 0x0a, 0x39, 0x0a, 0x02, 0x04, - 0x14, 0x12, 0x06, 0x95, 0x03, 0x00, 0x9c, 0x03, 0x01, 0x1a, 0x2b, 0x20, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x45, 0x6e, - 0x75, 0x6d, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x52, 0x50, 0x43, 0x20, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x95, - 0x03, 0x08, 0x2f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x06, 0x96, 0x03, 0x02, - 0x99, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0x96, 0x03, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x03, 0x09, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x03, 0x25, 0x26, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x06, 0x96, 0x03, 0x27, 0x99, 0x03, - 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, - 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x14, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, - 0x12, 0x04, 0x98, 0x03, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, - 0x9a, 0x03, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9a, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9a, 0x03, - 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x18, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9a, 0x03, 0x1a, 0x42, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x03, - 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x42, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9b, 0x03, 0x09, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9b, 0x03, 0x17, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x02, 0x08, 0x12, 0x04, 0x9b, 0x03, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x14, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9b, 0x03, 0x1a, 0x40, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0x9e, 0x03, 0x00, 0xa0, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x15, 0x01, 0x12, 0x04, 0x9e, 0x03, 0x08, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, - 0x00, 0x12, 0x04, 0x9f, 0x03, 0x02, 0x68, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x06, - 0x12, 0x04, 0x9f, 0x03, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x9f, 0x03, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x9f, 0x03, 0x3d, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9f, - 0x03, 0x3f, 0x67, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x9f, 0x03, 0x40, 0x66, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xa2, 0x03, 0x00, - 0xa7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xa2, 0x03, 0x08, 0x2c, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x16, 0x02, 0x00, 0x12, 0x06, 0xa3, 0x03, 0x02, 0xa6, 0x03, 0x04, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa3, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x03, 0x09, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa3, 0x03, 0x2c, 0x2d, 0x0a, 0x0f, 0x0a, - 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, 0x12, 0x06, 0xa3, 0x03, 0x2e, 0xa6, 0x03, 0x03, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x03, 0x04, 0x2a, - 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x16, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xa5, - 0x03, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xa9, 0x03, 0x00, 0xab, 0x03, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x08, 0x2d, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x68, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x00, 0x06, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x03, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xaa, 0x03, 0x3d, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xaa, 0x03, 0x3f, 0x67, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x03, 0x40, 0x66, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x18, - 0x12, 0x06, 0xad, 0x03, 0x00, 0xcd, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, - 0x04, 0xad, 0x03, 0x08, 0x2e, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x06, 0xae, - 0x03, 0x02, 0xb1, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xae, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x01, 0x12, 0x04, 0xae, - 0x03, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x03, 0x12, 0x04, 0xae, 0x03, - 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, 0x12, 0x06, 0xae, 0x03, 0x27, - 0xb1, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xaf, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x18, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x0e, 0x16, 0x12, 0x04, 0xb0, 0x03, 0x04, 0x2b, 0x0a, 0xe9, 0x01, 0x0a, 0x04, 0x04, 0x18, 0x02, - 0x01, 0x12, 0x04, 0xb6, 0x03, 0x02, 0x40, 0x1a, 0xda, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, - 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, - 0x30, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, - 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb6, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb6, 0x03, - 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb6, 0x03, 0x15, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb6, 0x03, 0x17, 0x3f, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb6, 0x03, - 0x18, 0x3e, 0x0a, 0x96, 0x02, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x02, 0x12, 0x04, 0xbc, 0x03, 0x02, - 0x41, 0x1a, 0x87, 0x02, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, - 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, - 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, - 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x45, 0x6e, 0x75, 0x6d, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x18, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbc, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xbc, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xbc, 0x03, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x02, - 0x08, 0x12, 0x04, 0xbc, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x03, 0x19, 0x3f, 0x0a, 0xcc, 0x03, 0x0a, 0x04, 0x04, 0x18, - 0x02, 0x03, 0x12, 0x04, 0xc2, 0x03, 0x02, 0x3d, 0x1a, 0xbd, 0x03, 0x20, 0x41, 0x20, 0x5b, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, - 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, - 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, - 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, - 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, - 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, - 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, - 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x03, - 0x05, 0x12, 0x04, 0xc2, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xc2, 0x03, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x03, 0x03, 0x12, - 0x04, 0xc2, 0x03, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x03, 0x08, 0x12, 0x04, - 0xc2, 0x03, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc2, 0x03, 0x15, 0x3b, 0x0a, 0xad, 0x03, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x04, 0x12, - 0x04, 0xc9, 0x03, 0x02, 0x3f, 0x1a, 0x9e, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, - 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, - 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, - 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6e, 0x61, 0x6d, - 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, - 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, - 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, - 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, - 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x6e, 0x61, - 0x6d, 0x65, 0x2c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x04, 0x05, 0x12, - 0x04, 0xc9, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x04, 0x01, 0x12, 0x04, - 0xc9, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc9, - 0x03, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc9, 0x03, - 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xc9, 0x03, 0x17, 0x3d, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x18, 0x02, 0x05, 0x12, 0x04, 0xcc, 0x03, - 0x02, 0x45, 0x1a, 0x3d, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x05, 0x05, 0x12, 0x04, 0xcc, 0x03, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x05, 0x01, 0x12, 0x04, 0xcc, 0x03, 0x07, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x05, 0x03, 0x12, 0x04, 0xcc, 0x03, 0x1a, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x18, 0x02, 0x05, 0x08, 0x12, 0x04, 0xcc, 0x03, 0x1c, 0x44, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x18, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x03, 0x1d, 0x43, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0xcf, 0x03, 0x00, 0xd2, 0x03, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x08, 0x2f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, - 0x02, 0x00, 0x12, 0x04, 0xd0, 0x03, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xd0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xd0, 0x03, 0x0b, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xd0, 0x03, 0x26, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xd0, 0x03, 0x47, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x01, 0x12, 0x04, 0xd1, 0x03, - 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd1, 0x03, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd1, 0x03, 0x09, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd1, 0x03, 0x1b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0xd4, 0x03, 0x00, 0xdd, 0x03, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xd4, 0x03, 0x08, 0x2f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1a, - 0x02, 0x00, 0x12, 0x06, 0xd5, 0x03, 0x02, 0xd8, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xd5, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xd5, 0x03, 0x09, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xd5, 0x03, 0x2c, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x08, - 0x12, 0x06, 0xd5, 0x03, 0x2e, 0xd8, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1a, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xd7, 0x03, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x1a, 0x02, 0x01, 0x12, 0x04, 0xd9, 0x03, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd9, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xd9, 0x03, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xd9, 0x03, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x01, - 0x08, 0x12, 0x04, 0xd9, 0x03, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x03, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1a, 0x02, - 0x02, 0x12, 0x04, 0xda, 0x03, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xda, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xda, 0x03, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xda, 0x03, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x02, 0x08, 0x12, 0x04, 0xda, - 0x03, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xda, 0x03, 0x1a, 0x40, 0x0a, 0x8c, 0x01, 0x0a, 0x04, 0x04, 0x1a, 0x02, 0x03, 0x12, 0x04, - 0xdc, 0x03, 0x02, 0x55, 0x1a, 0x7e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x60, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, - 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x03, 0x06, 0x12, 0x04, 0xdc, - 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x03, 0x01, 0x12, 0x04, 0xdc, 0x03, - 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x03, 0x03, 0x12, 0x04, 0xdc, 0x03, 0x2a, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x03, 0x08, 0x12, 0x04, 0xdc, 0x03, 0x2c, 0x54, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdc, 0x03, - 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x06, 0xdf, 0x03, 0x00, 0xe1, 0x03, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, 0x04, 0xdf, 0x03, 0x08, 0x30, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, 0x04, 0xe0, 0x03, 0x02, 0x68, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe0, 0x03, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xe0, 0x03, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xe0, 0x03, 0x3d, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xe0, 0x03, 0x3f, 0x67, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x03, 0x40, 0x66, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1c, 0x12, - 0x06, 0xe3, 0x03, 0x00, 0xed, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, - 0xe3, 0x03, 0x08, 0x30, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x00, 0x12, 0x06, 0xe4, 0x03, - 0x02, 0xe7, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe4, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe4, 0x03, - 0x09, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe4, 0x03, 0x22, - 0x23, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x12, 0x06, 0xe4, 0x03, 0x24, 0xe7, - 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xe5, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1c, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, - 0x16, 0x12, 0x04, 0xe6, 0x03, 0x04, 0x2b, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x1c, 0x02, 0x01, - 0x12, 0x06, 0xe9, 0x03, 0x02, 0xec, 0x03, 0x04, 0x1a, 0x8a, 0x01, 0x20, 0x57, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x6e, - 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x61, 0x74, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x69, - 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x5f, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xe9, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe9, - 0x03, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe9, 0x03, - 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x12, 0x06, 0xe9, 0x03, 0x27, - 0xec, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xea, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1c, 0x02, 0x01, 0x08, 0x87, 0x09, - 0x0e, 0x16, 0x12, 0x04, 0xeb, 0x03, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x1d, 0x12, 0x06, - 0xef, 0x03, 0x00, 0xf2, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xef, - 0x03, 0x08, 0x31, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xf1, 0x03, 0x02, - 0x29, 0x1a, 0x4d, 0x20, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf1, 0x03, 0x02, 0x07, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x03, 0x08, 0x24, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x03, 0x27, 0x28, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x1e, 0x12, 0x06, 0xf4, 0x03, 0x00, 0xf9, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x1e, 0x01, 0x12, 0x04, 0xf4, 0x03, 0x08, 0x32, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x1e, 0x02, 0x00, - 0x12, 0x06, 0xf5, 0x03, 0x02, 0xf8, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xf5, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xf5, 0x03, 0x09, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xf5, 0x03, 0x2c, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x1e, 0x02, 0x00, 0x08, 0x12, 0x06, - 0xf5, 0x03, 0x2e, 0xf8, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1e, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xf6, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x1e, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xf7, 0x03, 0x04, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x1f, 0x12, 0x04, 0xfb, 0x03, 0x00, 0x36, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1f, 0x01, 0x12, 0x04, - 0xfb, 0x03, 0x08, 0x33, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x20, 0x12, 0x06, 0xfd, 0x03, 0x00, 0x90, - 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x20, 0x01, 0x12, 0x04, 0xfd, 0x03, 0x08, 0x36, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x20, 0x03, 0x00, 0x12, 0x06, 0xfe, 0x03, 0x02, 0x89, 0x04, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x03, 0x00, 0x01, 0x12, 0x04, 0xfe, 0x03, 0x0a, 0x1b, 0x0a, 0x31, - 0x0a, 0x06, 0x04, 0x20, 0x03, 0x00, 0x02, 0x00, 0x12, 0x06, 0x80, 0x04, 0x04, 0x83, 0x04, 0x06, - 0x1a, 0x1f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x49, 0x44, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x2e, - 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x20, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0x80, 0x04, - 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x20, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, - 0x04, 0x0b, 0x21, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x20, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x80, 0x04, 0x24, 0x25, 0x0a, 0x11, 0x0a, 0x07, 0x04, 0x20, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, - 0x06, 0x80, 0x04, 0x26, 0x83, 0x04, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x20, 0x03, 0x00, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x04, 0x06, 0x2c, 0x0a, 0x13, 0x0a, 0x0b, 0x04, - 0x20, 0x03, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0x82, 0x04, 0x06, 0x2d, - 0x0a, 0x48, 0x0a, 0x06, 0x04, 0x20, 0x03, 0x00, 0x02, 0x01, 0x12, 0x06, 0x85, 0x04, 0x04, 0x88, - 0x04, 0x06, 0x1a, 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x49, 0x44, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x69, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x2e, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x20, - 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0x85, 0x04, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x20, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x04, 0x0b, 0x24, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x20, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x04, 0x27, 0x28, 0x0a, 0x11, 0x0a, - 0x07, 0x04, 0x20, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, 0x06, 0x85, 0x04, 0x29, 0x88, 0x04, 0x05, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x20, 0x03, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0x86, 0x04, 0x06, 0x2c, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x20, 0x03, 0x00, 0x02, 0x01, 0x08, 0x87, - 0x09, 0x0e, 0x16, 0x12, 0x04, 0x87, 0x04, 0x06, 0x2d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x20, 0x02, - 0x00, 0x12, 0x06, 0x8b, 0x04, 0x02, 0x8f, 0x04, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, - 0x00, 0x04, 0x12, 0x04, 0x8b, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, - 0x06, 0x12, 0x04, 0x8b, 0x04, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x8b, 0x04, 0x1d, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x8b, 0x04, 0x31, 0x32, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x20, 0x02, 0x00, 0x08, 0x12, 0x06, - 0x8b, 0x04, 0x33, 0x8f, 0x04, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x20, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x8c, 0x04, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x20, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x8d, 0x04, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, - 0x20, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0x8e, 0x04, 0x04, 0x32, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x21, 0x12, 0x06, 0x92, 0x04, 0x00, 0x95, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x21, 0x01, 0x12, 0x04, 0x92, 0x04, 0x08, 0x37, 0x0a, 0x5d, 0x0a, 0x04, 0x04, 0x21, 0x02, - 0x00, 0x12, 0x04, 0x94, 0x04, 0x02, 0x2f, 0x1a, 0x4f, 0x20, 0x54, 0x6f, 0x74, 0x61, 0x6c, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x6d, 0x69, - 0x67, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x72, 0x6f, 0x73, 0x73, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, - 0x05, 0x12, 0x04, 0x94, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x94, 0x04, 0x08, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x94, 0x04, 0x2d, 0x2e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x22, 0x12, 0x06, 0x97, 0x04, 0x00, - 0x9e, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x22, 0x01, 0x12, 0x04, 0x97, 0x04, 0x08, 0x38, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x22, 0x02, 0x00, 0x12, 0x06, 0x98, 0x04, 0x02, 0x9d, 0x04, 0x04, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x04, 0x12, 0x04, 0x98, 0x04, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x05, 0x12, 0x04, 0x98, 0x04, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x22, 0x02, 0x00, 0x01, 0x12, 0x04, 0x98, 0x04, 0x12, 0x33, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x22, 0x02, 0x00, 0x03, 0x12, 0x04, 0x98, 0x04, 0x36, 0x37, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x22, 0x02, 0x00, 0x08, 0x12, 0x06, 0x98, 0x04, 0x38, 0x9d, 0x04, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x22, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x99, 0x04, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x22, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x9a, 0x04, - 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x22, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, - 0x04, 0x9b, 0x04, 0x04, 0x32, 0x0a, 0x13, 0x0a, 0x0b, 0x04, 0x22, 0x02, 0x00, 0x08, 0x87, 0x09, - 0x12, 0x04, 0x0e, 0x16, 0x12, 0x04, 0x9c, 0x04, 0x04, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x23, - 0x12, 0x04, 0xa0, 0x04, 0x00, 0x3c, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x23, 0x01, 0x12, 0x04, 0xa0, - 0x04, 0x08, 0x39, 0x0a, 0x2e, 0x0a, 0x02, 0x04, 0x24, 0x12, 0x06, 0xa3, 0x04, 0x00, 0xae, 0x04, - 0x01, 0x1a, 0x20, 0x20, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x52, 0x50, 0x43, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x73, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x24, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x08, 0x26, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x24, 0x02, 0x00, 0x12, 0x04, 0xa4, 0x04, 0x02, 0x58, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x24, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa4, 0x04, 0x02, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x24, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa4, 0x04, 0x24, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x24, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa4, 0x04, 0x2d, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x24, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa4, 0x04, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x24, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x04, 0x30, 0x56, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x24, 0x02, 0x01, 0x12, 0x06, 0xa5, 0x04, 0x02, 0xa8, 0x04, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x24, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa5, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x24, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa5, 0x04, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xa5, 0x04, 0x25, 0x26, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x24, 0x02, - 0x01, 0x08, 0x12, 0x06, 0xa5, 0x04, 0x27, 0xa8, 0x04, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x24, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x04, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x24, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xa7, 0x04, 0x04, 0x2b, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x24, 0x08, 0x00, 0x12, 0x06, 0xa9, 0x04, 0x02, 0xad, 0x04, 0x03, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x08, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x04, 0x08, 0x0d, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x24, 0x02, 0x02, 0x12, 0x04, 0xaa, 0x04, 0x04, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x24, 0x02, 0x02, 0x05, 0x12, 0x04, 0xaa, 0x04, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x24, 0x02, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x04, 0x0b, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, - 0x02, 0x02, 0x03, 0x12, 0x04, 0xaa, 0x04, 0x2e, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, - 0x02, 0x08, 0x12, 0x04, 0xaa, 0x04, 0x30, 0x59, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x24, 0x02, 0x02, - 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xaa, 0x04, 0x31, 0x58, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x24, 0x02, 0x03, 0x12, 0x04, 0xab, 0x04, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xab, 0x04, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xab, 0x04, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xab, 0x04, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x24, 0x02, 0x04, 0x12, 0x04, - 0xac, 0x04, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x04, 0x05, 0x12, 0x04, 0xac, - 0x04, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x04, 0x01, 0x12, 0x04, 0xac, 0x04, - 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x24, 0x02, 0x04, 0x03, 0x12, 0x04, 0xac, 0x04, 0x1a, - 0x1b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x25, 0x12, 0x06, 0xb0, 0x04, 0x00, 0xb2, 0x04, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x25, 0x01, 0x12, 0x04, 0xb0, 0x04, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x25, 0x02, 0x00, 0x12, 0x04, 0xb1, 0x04, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xb1, 0x04, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb1, 0x04, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb1, 0x04, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xb1, 0x04, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x25, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xb1, 0x04, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x26, 0x12, 0x06, - 0xb4, 0x04, 0x00, 0xc3, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x26, 0x01, 0x12, 0x04, 0xb4, - 0x04, 0x08, 0x2c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x00, 0x12, 0x06, 0xb5, 0x04, 0x02, - 0xb8, 0x04, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb5, 0x04, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x04, 0x09, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb5, 0x04, 0x25, 0x26, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb5, 0x04, 0x27, 0xb8, 0x04, - 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x26, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb6, - 0x04, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x26, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, - 0x12, 0x04, 0xb7, 0x04, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x26, 0x08, 0x00, 0x12, 0x06, - 0xb9, 0x04, 0x02, 0xbd, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x08, 0x00, 0x01, 0x12, - 0x04, 0xb9, 0x04, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x01, 0x12, 0x04, 0xba, - 0x04, 0x04, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, 0x05, 0x12, 0x04, 0xba, 0x04, - 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, 0x01, 0x12, 0x04, 0xba, 0x04, 0x0b, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, 0x03, 0x12, 0x04, 0xba, 0x04, 0x2e, 0x2f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x01, 0x08, 0x12, 0x04, 0xba, 0x04, 0x30, 0x59, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x26, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xba, 0x04, - 0x31, 0x58, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x02, 0x12, 0x04, 0xbb, 0x04, 0x04, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbb, 0x04, 0x04, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbb, 0x04, 0x09, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x26, 0x02, 0x02, 0x03, 0x12, 0x04, 0xbb, 0x04, 0x19, 0x1a, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x26, 0x02, 0x03, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x26, 0x02, 0x03, 0x05, 0x12, 0x04, 0xbc, 0x04, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, - 0x03, 0x03, 0x12, 0x04, 0xbc, 0x04, 0x1a, 0x1b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x04, - 0x12, 0x06, 0xbe, 0x04, 0x02, 0xc2, 0x04, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x04, - 0x04, 0x12, 0x04, 0xbe, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x04, 0x06, - 0x12, 0x04, 0xbe, 0x04, 0x0b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x04, 0x01, 0x12, - 0x04, 0xbe, 0x04, 0x2d, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x04, 0x03, 0x12, 0x04, - 0xbe, 0x04, 0x38, 0x39, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x04, 0x08, 0x12, 0x06, 0xbe, - 0x04, 0x3a, 0xc2, 0x04, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x26, 0x02, 0x04, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xbf, 0x04, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x26, 0x02, 0x04, 0x08, - 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0xc0, 0x04, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x26, - 0x02, 0x04, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0xc1, 0x04, 0x04, 0x32, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x27, 0x12, 0x06, 0xc5, 0x04, 0x00, 0xc7, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x27, 0x01, 0x12, 0x04, 0xc5, 0x04, 0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x02, 0x00, - 0x12, 0x04, 0xc6, 0x04, 0x02, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x04, 0x12, - 0x04, 0xc6, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xc6, 0x04, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc6, - 0x04, 0x1d, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x04, - 0x33, 0x34, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x28, 0x12, 0x06, 0xc9, 0x04, 0x00, 0xce, 0x04, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, 0x01, 0x12, 0x04, 0xc9, 0x04, 0x08, 0x23, 0x0a, 0x0e, 0x0a, - 0x04, 0x04, 0x28, 0x02, 0x00, 0x12, 0x06, 0xca, 0x04, 0x02, 0xcd, 0x04, 0x04, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x28, 0x02, 0x00, 0x05, 0x12, 0x04, 0xca, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x28, 0x02, 0x00, 0x01, 0x12, 0x04, 0xca, 0x04, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x28, 0x02, 0x00, 0x03, 0x12, 0x04, 0xca, 0x04, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x28, - 0x02, 0x00, 0x08, 0x12, 0x06, 0xca, 0x04, 0x23, 0xcd, 0x04, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x28, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x04, 0x04, 0x2a, 0x0a, 0x11, 0x0a, - 0x09, 0x04, 0x28, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xcc, 0x04, 0x04, 0x2b, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x29, 0x12, 0x06, 0xd0, 0x04, 0x00, 0xd2, 0x04, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x29, 0x01, 0x12, 0x04, 0xd0, 0x04, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x29, 0x02, 0x00, 0x12, 0x04, 0xd1, 0x04, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xd1, 0x04, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd1, 0x04, 0x14, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd1, 0x04, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xd1, 0x04, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x29, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd1, 0x04, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2a, 0x12, 0x06, 0xd4, - 0x04, 0x00, 0xef, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2a, 0x01, 0x12, 0x04, 0xd4, 0x04, - 0x08, 0x25, 0x0a, 0xf9, 0x01, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x00, 0x12, 0x04, 0xd8, 0x04, 0x02, - 0x40, 0x1a, 0xea, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, - 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, - 0x20, 0x35, 0x30, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, - 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x0a, 0x20, 0x31, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd8, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x2a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd8, 0x04, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd8, 0x04, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd8, 0x04, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2a, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd8, 0x04, 0x18, 0x3e, 0x0a, 0x84, 0x02, 0x0a, - 0x04, 0x04, 0x2a, 0x02, 0x01, 0x12, 0x04, 0xde, 0x04, 0x02, 0x41, 0x1a, 0xf5, 0x01, 0x20, 0x41, - 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x60, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xde, 0x04, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xde, 0x04, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xde, 0x04, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xde, 0x04, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x2a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, 0x04, 0x19, - 0x3f, 0x0a, 0x97, 0x04, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x02, 0x12, 0x04, 0xe4, 0x04, 0x02, 0x3d, - 0x1a, 0x88, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, - 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x60, 0x2c, - 0x20, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x65, 0x6e, 0x75, - 0x6d, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, - 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, - 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, - 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2a, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe4, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xe4, 0x04, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xe4, 0x04, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x02, - 0x08, 0x12, 0x04, 0xe4, 0x04, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2a, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, 0x04, 0x15, 0x3b, 0x0a, 0xbb, 0x03, 0x0a, 0x04, 0x04, 0x2a, - 0x02, 0x03, 0x12, 0x04, 0xeb, 0x04, 0x02, 0x3f, 0x1a, 0xac, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, - 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, - 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, - 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, - 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x3a, 0x20, 0x22, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x2e, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x5f, 0x69, 0x64, 0x2c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x64, 0x65, 0x73, 0x63, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x03, 0x05, - 0x12, 0x04, 0xeb, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x03, 0x01, 0x12, - 0x04, 0xeb, 0x04, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x03, 0x03, 0x12, 0x04, - 0xeb, 0x04, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x03, 0x08, 0x12, 0x04, 0xeb, - 0x04, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2a, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xeb, 0x04, 0x17, 0x3d, 0x0a, 0x53, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x04, 0x12, 0x04, 0xee, - 0x04, 0x02, 0x45, 0x1a, 0x45, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, - 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, - 0x02, 0x04, 0x05, 0x12, 0x04, 0xee, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xee, 0x04, 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xee, 0x04, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x04, 0x08, - 0x12, 0x04, 0xee, 0x04, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2a, 0x02, 0x04, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xee, 0x04, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2b, 0x12, 0x06, - 0xf1, 0x04, 0x00, 0xf4, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2b, 0x01, 0x12, 0x04, 0xf1, - 0x04, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, 0x00, 0x12, 0x04, 0xf2, 0x04, 0x02, - 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf2, 0x04, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf2, 0x04, 0x0b, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf2, 0x04, 0x1d, 0x30, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf2, 0x04, 0x33, 0x34, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x2b, 0x02, 0x01, 0x12, 0x04, 0xf3, 0x04, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf3, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xf3, 0x04, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xf3, 0x04, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2c, 0x12, 0x06, - 0xf6, 0x04, 0x00, 0x86, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2c, 0x01, 0x12, 0x04, 0xf6, - 0x04, 0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x00, 0x12, 0x04, 0xf7, 0x04, 0x02, - 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf7, 0x04, 0x02, 0x23, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf7, 0x04, 0x24, 0x2a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf7, 0x04, 0x2d, 0x2e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf7, 0x04, 0x2f, 0x57, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x04, 0x30, 0x56, 0x0a, - 0x53, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x01, 0x12, 0x04, 0xfa, 0x04, 0x02, 0x45, 0x1a, 0x45, 0x20, - 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, - 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfa, - 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfa, 0x04, - 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, 0x04, 0x1a, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfa, 0x04, 0x1c, 0x44, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfa, 0x04, - 0x1d, 0x43, 0x0a, 0xf9, 0x01, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x02, 0x12, 0x04, 0xff, 0x04, 0x02, - 0x40, 0x1a, 0xea, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, - 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, - 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, - 0x20, 0x35, 0x30, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2d, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, - 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, - 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, - 0x0a, 0x20, 0x31, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, - 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x02, 0x05, 0x12, 0x04, 0xff, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x2c, 0x02, 0x02, 0x01, 0x12, 0x04, 0xff, 0x04, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2c, 0x02, 0x02, 0x03, 0x12, 0x04, 0xff, 0x04, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2c, 0x02, 0x02, 0x08, 0x12, 0x04, 0xff, 0x04, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, - 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, 0x04, 0x18, 0x3e, 0x0a, 0x94, 0x02, 0x0a, - 0x04, 0x04, 0x2c, 0x02, 0x03, 0x12, 0x04, 0x85, 0x05, 0x02, 0x41, 0x1a, 0x85, 0x02, 0x20, 0x41, - 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, - 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, - 0x6e, 0x74, 0x69, 0x74, 0x79, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, - 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, - 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, - 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, - 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x4c, 0x69, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x79, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x05, 0x12, 0x04, 0x85, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x01, 0x12, 0x04, 0x85, 0x05, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x03, 0x12, 0x04, 0x85, 0x05, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x08, 0x12, 0x04, 0x85, 0x05, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x05, 0x19, - 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2d, 0x12, 0x06, 0x88, 0x05, 0x00, 0x8b, 0x05, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x2d, 0x01, 0x12, 0x04, 0x88, 0x05, 0x08, 0x2e, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x2d, 0x02, 0x00, 0x12, 0x04, 0x89, 0x05, 0x02, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, - 0x02, 0x00, 0x04, 0x12, 0x04, 0x89, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, - 0x00, 0x06, 0x12, 0x04, 0x89, 0x05, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x89, 0x05, 0x1d, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x03, - 0x12, 0x04, 0x89, 0x05, 0x33, 0x34, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2d, 0x02, 0x01, 0x12, 0x04, - 0x8a, 0x05, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8a, - 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8a, 0x05, - 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8a, 0x05, 0x1b, - 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2e, 0x12, 0x06, 0x8d, 0x05, 0x00, 0x92, 0x05, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x2e, 0x01, 0x12, 0x04, 0x8d, 0x05, 0x08, 0x27, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x2e, 0x02, 0x00, 0x12, 0x06, 0x8e, 0x05, 0x02, 0x91, 0x05, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2e, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8e, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2e, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x05, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2e, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x05, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x2e, 0x02, - 0x00, 0x08, 0x12, 0x06, 0x8e, 0x05, 0x23, 0x91, 0x05, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2e, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x05, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x2e, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0x90, 0x05, 0x04, 0x2b, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x2f, 0x12, 0x04, 0x94, 0x05, 0x00, 0x2b, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x2f, 0x01, 0x12, 0x04, 0x94, 0x05, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x30, 0x12, 0x06, - 0x96, 0x05, 0x00, 0x9b, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x30, 0x01, 0x12, 0x04, 0x96, - 0x05, 0x08, 0x29, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x30, 0x02, 0x00, 0x12, 0x06, 0x97, 0x05, 0x02, - 0x9a, 0x05, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x05, 0x12, 0x04, 0x97, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x01, 0x12, 0x04, 0x97, 0x05, 0x09, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x03, 0x12, 0x04, 0x97, 0x05, 0x21, 0x22, - 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x08, 0x12, 0x06, 0x97, 0x05, 0x23, 0x9a, 0x05, - 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x30, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, - 0x05, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x30, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, - 0x12, 0x04, 0x99, 0x05, 0x04, 0x2b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x31, 0x12, 0x04, 0x9d, 0x05, - 0x00, 0x2d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x31, 0x01, 0x12, 0x04, 0x9d, 0x05, 0x08, 0x2a, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x32, 0x12, 0x06, 0x9f, 0x05, 0x00, 0xa6, 0x05, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x32, 0x01, 0x12, 0x04, 0x9f, 0x05, 0x08, 0x2d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x32, - 0x02, 0x00, 0x12, 0x06, 0xa0, 0x05, 0x02, 0xa5, 0x05, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xa0, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xa0, 0x05, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xa0, 0x05, 0x12, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xa0, 0x05, 0x2b, 0x2c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x08, 0x12, - 0x06, 0xa0, 0x05, 0x2d, 0xa5, 0x05, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x32, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa1, 0x05, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x32, 0x02, - 0x00, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0xa2, 0x05, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x32, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0xa3, 0x05, 0x04, 0x32, 0x0a, - 0x13, 0x0a, 0x0b, 0x04, 0x32, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x04, 0x0e, 0x16, 0x12, 0x04, - 0xa4, 0x05, 0x04, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x33, 0x12, 0x04, 0xa8, 0x05, 0x00, 0x31, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x33, 0x01, 0x12, 0x04, 0xa8, 0x05, 0x08, 0x2e, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x34, 0x12, 0x06, 0xaa, 0x05, 0x00, 0xb1, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x34, 0x01, 0x12, 0x04, 0xaa, 0x05, 0x08, 0x2f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x00, - 0x12, 0x06, 0xab, 0x05, 0x02, 0xb0, 0x05, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xab, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xab, 0x05, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xab, 0x05, 0x12, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xab, 0x05, 0x2b, 0x2c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x08, 0x12, 0x06, 0xab, - 0x05, 0x2d, 0xb0, 0x05, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xac, 0x05, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x34, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0xad, 0x05, 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x34, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, 0x04, 0xae, 0x05, 0x04, 0x32, 0x0a, 0x13, 0x0a, - 0x0b, 0x04, 0x34, 0x02, 0x00, 0x08, 0x87, 0x09, 0x12, 0x04, 0x0e, 0x16, 0x12, 0x04, 0xaf, 0x05, - 0x04, 0x3a, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x35, 0x12, 0x04, 0xb3, 0x05, 0x00, 0x33, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x35, 0x01, 0x12, 0x04, 0xb3, 0x05, 0x08, 0x30, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, -]; -include!("sift.resource_attribute.v1.tonic.rs"); -include!("sift.resource_attribute.v1.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.serde.rs deleted file mode 100644 index c0bf087aa..000000000 --- a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.serde.rs +++ /dev/null @@ -1,6376 +0,0 @@ -// @generated -impl serde::Serialize for ArchiveResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.archived_enum_value_id.is_empty() { - len += 1; - } - if !self.replacement_enum_value_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest", len)?; - if !self.archived_enum_value_id.is_empty() { - struct_ser.serialize_field("archivedEnumValueId", &self.archived_enum_value_id)?; - } - if !self.replacement_enum_value_id.is_empty() { - struct_ser.serialize_field("replacementEnumValueId", &self.replacement_enum_value_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "archived_enum_value_id", - "archivedEnumValueId", - "replacement_enum_value_id", - "replacementEnumValueId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ArchivedEnumValueId, - ReplacementEnumValueId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "archivedEnumValueId" | "archived_enum_value_id" => Ok(GeneratedField::ArchivedEnumValueId), - "replacementEnumValueId" | "replacement_enum_value_id" => Ok(GeneratedField::ReplacementEnumValueId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeEnumValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut archived_enum_value_id__ = None; - let mut replacement_enum_value_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ArchivedEnumValueId => { - if archived_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedEnumValueId")); - } - archived_enum_value_id__ = Some(map_.next_value()?); - } - GeneratedField::ReplacementEnumValueId => { - if replacement_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("replacementEnumValueId")); - } - replacement_enum_value_id__ = Some(map_.next_value()?); - } - } - } - Ok(ArchiveResourceAttributeEnumValueRequest { - archived_enum_value_id: archived_enum_value_id__.unwrap_or_default(), - replacement_enum_value_id: replacement_enum_value_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attributes_migrated != 0 { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse", len)?; - if self.resource_attributes_migrated != 0 { - struct_ser.serialize_field("resourceAttributesMigrated", &self.resource_attributes_migrated)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attributes_migrated", - "resourceAttributesMigrated", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributesMigrated, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributesMigrated" | "resource_attributes_migrated" => Ok(GeneratedField::ResourceAttributesMigrated), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeEnumValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attributes_migrated__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributesMigrated => { - if resource_attributes_migrated__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributesMigrated")); - } - resource_attributes_migrated__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - } - } - Ok(ArchiveResourceAttributeEnumValueResponse { - resource_attributes_migrated: resource_attributes_migrated__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeEnumValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveResourceAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - } - } - Ok(ArchiveResourceAttributeKeyRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveResourceAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(ArchiveResourceAttributeKeyResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveResourceAttributeRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeRequest", len)?; - if !self.resource_attribute_id.is_empty() { - struct_ser.serialize_field("resourceAttributeId", &self.resource_attribute_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_id", - "resourceAttributeId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeId" | "resource_attribute_id" => Ok(GeneratedField::ResourceAttributeId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeId => { - if resource_attribute_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeId")); - } - resource_attribute_id__ = Some(map_.next_value()?); - } - } - } - Ok(ArchiveResourceAttributeRequest { - resource_attribute_id: resource_attribute_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveResourceAttributeResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveResourceAttributeResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveResourceAttributeResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ArchiveResourceAttributeResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(ArchiveResourceAttributeResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ArchiveResourceAttributeResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.archival_requests.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest", len)?; - if !self.archival_requests.is_empty() { - struct_ser.serialize_field("archivalRequests", &self.archival_requests)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "archival_requests", - "archivalRequests", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ArchivalRequests, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "archivalRequests" | "archival_requests" => Ok(GeneratedField::ArchivalRequests), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributeEnumValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut archival_requests__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ArchivalRequests => { - if archival_requests__.is_some() { - return Err(serde::de::Error::duplicate_field("archivalRequests")); - } - archival_requests__ = Some(map_.next_value()?); - } - } - } - Ok(BatchArchiveResourceAttributeEnumValuesRequest { - archival_requests: archival_requests__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for batch_archive_resource_attribute_enum_values_request::EnumValueArchival { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.archived_enum_value_id.is_empty() { - len += 1; - } - if !self.replacement_enum_value_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival", len)?; - if !self.archived_enum_value_id.is_empty() { - struct_ser.serialize_field("archivedEnumValueId", &self.archived_enum_value_id)?; - } - if !self.replacement_enum_value_id.is_empty() { - struct_ser.serialize_field("replacementEnumValueId", &self.replacement_enum_value_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for batch_archive_resource_attribute_enum_values_request::EnumValueArchival { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "archived_enum_value_id", - "archivedEnumValueId", - "replacement_enum_value_id", - "replacementEnumValueId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ArchivedEnumValueId, - ReplacementEnumValueId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "archivedEnumValueId" | "archived_enum_value_id" => Ok(GeneratedField::ArchivedEnumValueId), - "replacementEnumValueId" | "replacement_enum_value_id" => Ok(GeneratedField::ReplacementEnumValueId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = batch_archive_resource_attribute_enum_values_request::EnumValueArchival; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut archived_enum_value_id__ = None; - let mut replacement_enum_value_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ArchivedEnumValueId => { - if archived_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedEnumValueId")); - } - archived_enum_value_id__ = Some(map_.next_value()?); - } - GeneratedField::ReplacementEnumValueId => { - if replacement_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("replacementEnumValueId")); - } - replacement_enum_value_id__ = Some(map_.next_value()?); - } - } - } - Ok(batch_archive_resource_attribute_enum_values_request::EnumValueArchival { - archived_enum_value_id: archived_enum_value_id__.unwrap_or_default(), - replacement_enum_value_id: replacement_enum_value_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesRequest.EnumValueArchival", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.total_resource_attributes_migrated != 0 { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse", len)?; - if self.total_resource_attributes_migrated != 0 { - struct_ser.serialize_field("totalResourceAttributesMigrated", &self.total_resource_attributes_migrated)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "total_resource_attributes_migrated", - "totalResourceAttributesMigrated", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - TotalResourceAttributesMigrated, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "totalResourceAttributesMigrated" | "total_resource_attributes_migrated" => Ok(GeneratedField::TotalResourceAttributesMigrated), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributeEnumValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut total_resource_attributes_migrated__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::TotalResourceAttributesMigrated => { - if total_resource_attributes_migrated__.is_some() { - return Err(serde::de::Error::duplicate_field("totalResourceAttributesMigrated")); - } - total_resource_attributes_migrated__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - } - } - Ok(BatchArchiveResourceAttributeEnumValuesResponse { - total_resource_attributes_migrated: total_resource_attributes_migrated__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeEnumValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest", len)?; - if !self.resource_attribute_key_ids.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyIds", &self.resource_attribute_key_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_ids", - "resourceAttributeKeyIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyIds" | "resource_attribute_key_ids" => Ok(GeneratedField::ResourceAttributeKeyIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyIds => { - if resource_attribute_key_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyIds")); - } - resource_attribute_key_ids__ = Some(map_.next_value()?); - } - } - } - Ok(BatchArchiveResourceAttributeKeysRequest { - resource_attribute_key_ids: resource_attribute_key_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(BatchArchiveResourceAttributeKeysResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest", len)?; - if !self.resource_attribute_ids.is_empty() { - struct_ser.serialize_field("resourceAttributeIds", &self.resource_attribute_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_ids", - "resourceAttributeIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeIds" | "resource_attribute_ids" => Ok(GeneratedField::ResourceAttributeIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeIds => { - if resource_attribute_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeIds")); - } - resource_attribute_ids__ = Some(map_.next_value()?); - } - } - } - Ok(BatchArchiveResourceAttributesRequest { - resource_attribute_ids: resource_attribute_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchArchiveResourceAttributesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchArchiveResourceAttributesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchArchiveResourceAttributesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(BatchArchiveResourceAttributesResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchArchiveResourceAttributesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchCreateResourceAttributesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if !self.entities.is_empty() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchCreateResourceAttributesRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if !self.entities.is_empty() { - struct_ser.serialize_field("entities", &self.entities)?; - } - if let Some(v) = self.value.as_ref() { - match v { - batch_create_resource_attributes_request::Value::ResourceAttributeEnumValueId(v) => { - struct_ser.serialize_field("resourceAttributeEnumValueId", v)?; - } - batch_create_resource_attributes_request::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - batch_create_resource_attributes_request::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchCreateResourceAttributesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - "entities", - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - "boolean_value", - "booleanValue", - "number_value", - "numberValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - Entities, - ResourceAttributeEnumValueId, - BooleanValue, - NumberValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "entities" => Ok(GeneratedField::Entities), - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchCreateResourceAttributesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchCreateResourceAttributesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - let mut entities__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::Entities => { - if entities__.is_some() { - return Err(serde::de::Error::duplicate_field("entities")); - } - entities__ = Some(map_.next_value()?); - } - GeneratedField::ResourceAttributeEnumValueId => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_create_resource_attributes_request::Value::ResourceAttributeEnumValueId); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_create_resource_attributes_request::Value::BooleanValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| batch_create_resource_attributes_request::Value::NumberValue(x.0)); - } - } - } - Ok(BatchCreateResourceAttributesRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - entities: entities__.unwrap_or_default(), - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchCreateResourceAttributesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchCreateResourceAttributesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attributes.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchCreateResourceAttributesResponse", len)?; - if !self.resource_attributes.is_empty() { - struct_ser.serialize_field("resourceAttributes", &self.resource_attributes)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchCreateResourceAttributesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attributes", - "resourceAttributes", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributes, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributes" | "resource_attributes" => Ok(GeneratedField::ResourceAttributes), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchCreateResourceAttributesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchCreateResourceAttributesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attributes__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributes => { - if resource_attributes__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributes")); - } - resource_attributes__ = Some(map_.next_value()?); - } - } - } - Ok(BatchCreateResourceAttributesResponse { - resource_attributes: resource_attributes__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchCreateResourceAttributesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_value_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest", len)?; - if !self.resource_attribute_enum_value_ids.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValueIds", &self.resource_attribute_enum_value_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value_ids", - "resourceAttributeEnumValueIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValueIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValueIds" | "resource_attribute_enum_value_ids" => Ok(GeneratedField::ResourceAttributeEnumValueIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributeEnumValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValueIds => { - if resource_attribute_enum_value_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueIds")); - } - resource_attribute_enum_value_ids__ = Some(map_.next_value()?); - } - } - } - Ok(BatchUnarchiveResourceAttributeEnumValuesRequest { - resource_attribute_enum_value_ids: resource_attribute_enum_value_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributeEnumValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(BatchUnarchiveResourceAttributeEnumValuesResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeEnumValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest", len)?; - if !self.resource_attribute_key_ids.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyIds", &self.resource_attribute_key_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_ids", - "resourceAttributeKeyIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyIds" | "resource_attribute_key_ids" => Ok(GeneratedField::ResourceAttributeKeyIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyIds => { - if resource_attribute_key_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyIds")); - } - resource_attribute_key_ids__ = Some(map_.next_value()?); - } - } - } - Ok(BatchUnarchiveResourceAttributeKeysRequest { - resource_attribute_key_ids: resource_attribute_key_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(BatchUnarchiveResourceAttributeKeysResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest", len)?; - if !self.resource_attribute_ids.is_empty() { - struct_ser.serialize_field("resourceAttributeIds", &self.resource_attribute_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_ids", - "resourceAttributeIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeIds" | "resource_attribute_ids" => Ok(GeneratedField::ResourceAttributeIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeIds => { - if resource_attribute_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeIds")); - } - resource_attribute_ids__ = Some(map_.next_value()?); - } - } - } - Ok(BatchUnarchiveResourceAttributesRequest { - resource_attribute_ids: resource_attribute_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchUnarchiveResourceAttributesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchUnarchiveResourceAttributesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchUnarchiveResourceAttributesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(BatchUnarchiveResourceAttributesResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.BatchUnarchiveResourceAttributesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - "display_name", - "displayName", - "description", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - DisplayName, - Description, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeEnumValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - let mut display_name__ = None; - let mut description__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - } - } - Ok(CreateResourceAttributeEnumValueRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeEnumValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_enum_value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse", len)?; - if let Some(v) = self.resource_attribute_enum_value.as_ref() { - struct_ser.serialize_field("resourceAttributeEnumValue", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value", - "resourceAttributeEnumValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValue" | "resource_attribute_enum_value" => Ok(GeneratedField::ResourceAttributeEnumValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeEnumValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValue => { - if resource_attribute_enum_value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValue")); - } - resource_attribute_enum_value__ = map_.next_value()?; - } - } - } - Ok(CreateResourceAttributeEnumValueResponse { - resource_attribute_enum_value: resource_attribute_enum_value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeEnumValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.r#type != 0 { - len += 1; - } - if !self.initial_enum_values.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyRequest", len)?; - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if self.r#type != 0 { - let v = ResourceAttributeKeyType::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - if !self.initial_enum_values.is_empty() { - struct_ser.serialize_field("initialEnumValues", &self.initial_enum_values)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "display_name", - "displayName", - "description", - "type", - "initial_enum_values", - "initialEnumValues", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - DisplayName, - Description, - Type, - InitialEnumValues, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - "initialEnumValues" | "initial_enum_values" => Ok(GeneratedField::InitialEnumValues), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut display_name__ = None; - let mut description__ = None; - let mut r#type__ = None; - let mut initial_enum_values__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - GeneratedField::InitialEnumValues => { - if initial_enum_values__.is_some() { - return Err(serde::de::Error::duplicate_field("initialEnumValues")); - } - initial_enum_values__ = Some(map_.next_value()?); - } - } - } - Ok(CreateResourceAttributeKeyRequest { - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - initial_enum_values: initial_enum_values__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for create_resource_attribute_key_request::InitialEnumValue { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValue", len)?; - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for create_resource_attribute_key_request::InitialEnumValue { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "display_name", - "displayName", - "description", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - DisplayName, - Description, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = create_resource_attribute_key_request::InitialEnumValue; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValue") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut display_name__ = None; - let mut description__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - } - } - Ok(create_resource_attribute_key_request::InitialEnumValue { - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyRequest.InitialEnumValue", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_key.is_some() { - len += 1; - } - if !self.enum_values.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyResponse", len)?; - if let Some(v) = self.resource_attribute_key.as_ref() { - struct_ser.serialize_field("resourceAttributeKey", v)?; - } - if !self.enum_values.is_empty() { - struct_ser.serialize_field("enumValues", &self.enum_values)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key", - "resourceAttributeKey", - "enum_values", - "enumValues", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKey, - EnumValues, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKey" | "resource_attribute_key" => Ok(GeneratedField::ResourceAttributeKey), - "enumValues" | "enum_values" => Ok(GeneratedField::EnumValues), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key__ = None; - let mut enum_values__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKey => { - if resource_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKey")); - } - resource_attribute_key__ = map_.next_value()?; - } - GeneratedField::EnumValues => { - if enum_values__.is_some() { - return Err(serde::de::Error::duplicate_field("enumValues")); - } - enum_values__ = Some(map_.next_value()?); - } - } - } - Ok(CreateResourceAttributeKeyResponse { - resource_attribute_key: resource_attribute_key__, - enum_values: enum_values__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.entity.is_some() { - len += 1; - } - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeRequest", len)?; - if let Some(v) = self.entity.as_ref() { - struct_ser.serialize_field("entity", v)?; - } - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if let Some(v) = self.value.as_ref() { - match v { - create_resource_attribute_request::Value::ResourceAttributeEnumValueId(v) => { - struct_ser.serialize_field("resourceAttributeEnumValueId", v)?; - } - create_resource_attribute_request::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - create_resource_attribute_request::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "entity", - "resource_attribute_key_id", - "resourceAttributeKeyId", - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - "boolean_value", - "booleanValue", - "number_value", - "numberValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Entity, - ResourceAttributeKeyId, - ResourceAttributeEnumValueId, - BooleanValue, - NumberValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "entity" => Ok(GeneratedField::Entity), - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut entity__ = None; - let mut resource_attribute_key_id__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Entity => { - if entity__.is_some() { - return Err(serde::de::Error::duplicate_field("entity")); - } - entity__ = map_.next_value()?; - } - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::ResourceAttributeEnumValueId => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(create_resource_attribute_request::Value::ResourceAttributeEnumValueId); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(create_resource_attribute_request::Value::BooleanValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| create_resource_attribute_request::Value::NumberValue(x.0)); - } - } - } - Ok(CreateResourceAttributeRequest { - entity: entity__, - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateResourceAttributeResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.CreateResourceAttributeResponse", len)?; - if let Some(v) = self.resource_attribute.as_ref() { - struct_ser.serialize_field("resourceAttribute", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateResourceAttributeResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute", - "resourceAttribute", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttribute, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttribute" | "resource_attribute" => Ok(GeneratedField::ResourceAttribute), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateResourceAttributeResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.CreateResourceAttributeResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttribute => { - if resource_attribute__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttribute")); - } - resource_attribute__ = map_.next_value()?; - } - } - } - Ok(CreateResourceAttributeResponse { - resource_attribute: resource_attribute__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.CreateResourceAttributeResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_value_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest", len)?; - if !self.resource_attribute_enum_value_id.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValueId", &self.resource_attribute_enum_value_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValueId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeEnumValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValueId => { - if resource_attribute_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - resource_attribute_enum_value_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetResourceAttributeEnumValueRequest { - resource_attribute_enum_value_id: resource_attribute_enum_value_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeEnumValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_enum_value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse", len)?; - if let Some(v) = self.resource_attribute_enum_value.as_ref() { - struct_ser.serialize_field("resourceAttributeEnumValue", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value", - "resourceAttributeEnumValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValue" | "resource_attribute_enum_value" => Ok(GeneratedField::ResourceAttributeEnumValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeEnumValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValue => { - if resource_attribute_enum_value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValue")); - } - resource_attribute_enum_value__ = map_.next_value()?; - } - } - } - Ok(GetResourceAttributeEnumValueResponse { - resource_attribute_enum_value: resource_attribute_enum_value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeEnumValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeKeyRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetResourceAttributeKeyRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeKeyResponse", len)?; - if let Some(v) = self.resource_attribute_key.as_ref() { - struct_ser.serialize_field("resourceAttributeKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key", - "resourceAttributeKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKey" | "resource_attribute_key" => Ok(GeneratedField::ResourceAttributeKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKey => { - if resource_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKey")); - } - resource_attribute_key__ = map_.next_value()?; - } - } - } - Ok(GetResourceAttributeKeyResponse { - resource_attribute_key: resource_attribute_key__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeRequest", len)?; - if !self.resource_attribute_id.is_empty() { - struct_ser.serialize_field("resourceAttributeId", &self.resource_attribute_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_id", - "resourceAttributeId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeId" | "resource_attribute_id" => Ok(GeneratedField::ResourceAttributeId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeId => { - if resource_attribute_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeId")); - } - resource_attribute_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetResourceAttributeRequest { - resource_attribute_id: resource_attribute_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetResourceAttributeResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.GetResourceAttributeResponse", len)?; - if let Some(v) = self.resource_attribute.as_ref() { - struct_ser.serialize_field("resourceAttribute", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetResourceAttributeResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute", - "resourceAttribute", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttribute, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttribute" | "resource_attribute" => Ok(GeneratedField::ResourceAttribute), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetResourceAttributeResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.GetResourceAttributeResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttribute => { - if resource_attribute__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttribute")); - } - resource_attribute__ = map_.next_value()?; - } - } - } - Ok(GetResourceAttributeResponse { - resource_attribute: resource_attribute__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.GetResourceAttributeResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributeEnumValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - PageSize, - PageToken, - Filter, - OrderBy, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributeEnumValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributeEnumValuesRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributeEnumValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_values.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse", len)?; - if !self.resource_attribute_enum_values.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValues", &self.resource_attribute_enum_values)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributeEnumValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_values", - "resourceAttributeEnumValues", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValues, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValues" | "resource_attribute_enum_values" => Ok(GeneratedField::ResourceAttributeEnumValues), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributeEnumValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_values__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValues => { - if resource_attribute_enum_values__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValues")); - } - resource_attribute_enum_values__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributeEnumValuesResponse { - resource_attribute_enum_values: resource_attribute_enum_values__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributeEnumValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributeKeysRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributeKeysRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_keys.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributeKeysResponse", len)?; - if !self.resource_attribute_keys.is_empty() { - struct_ser.serialize_field("resourceAttributeKeys", &self.resource_attribute_keys)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_keys", - "resourceAttributeKeys", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeys, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeys" | "resource_attribute_keys" => Ok(GeneratedField::ResourceAttributeKeys), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_keys__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeys => { - if resource_attribute_keys__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeys")); - } - resource_attribute_keys__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributeKeysResponse { - resource_attribute_keys: resource_attribute_keys__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributesByEntityRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.entity.is_some() { - len += 1; - } - if self.include_archived { - len += 1; - } - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributesByEntityRequest", len)?; - if let Some(v) = self.entity.as_ref() { - struct_ser.serialize_field("entity", v)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributesByEntityRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "entity", - "include_archived", - "includeArchived", - "page_size", - "pageSize", - "page_token", - "pageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Entity, - IncludeArchived, - PageSize, - PageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "entity" => Ok(GeneratedField::Entity), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributesByEntityRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributesByEntityRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut entity__ = None; - let mut include_archived__ = None; - let mut page_size__ = None; - let mut page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Entity => { - if entity__.is_some() { - return Err(serde::de::Error::duplicate_field("entity")); - } - entity__ = map_.next_value()?; - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributesByEntityRequest { - entity: entity__, - include_archived: include_archived__.unwrap_or_default(), - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributesByEntityRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributesByEntityResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attributes.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributesByEntityResponse", len)?; - if !self.resource_attributes.is_empty() { - struct_ser.serialize_field("resourceAttributes", &self.resource_attributes)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributesByEntityResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attributes", - "resourceAttributes", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributes, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributes" | "resource_attributes" => Ok(GeneratedField::ResourceAttributes), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributesByEntityResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributesByEntityResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attributes__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributes => { - if resource_attributes__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributes")); - } - resource_attributes__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributesByEntityResponse { - resource_attributes: resource_attributes__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributesByEntityResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributesRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributesRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListResourceAttributesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attributes.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ListResourceAttributesResponse", len)?; - if !self.resource_attributes.is_empty() { - struct_ser.serialize_field("resourceAttributes", &self.resource_attributes)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListResourceAttributesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attributes", - "resourceAttributes", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributes, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributes" | "resource_attributes" => Ok(GeneratedField::ResourceAttributes), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListResourceAttributesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ListResourceAttributesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attributes__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributes => { - if resource_attributes__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributes")); - } - resource_attributes__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListResourceAttributesResponse { - resource_attributes: resource_attributes__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ListResourceAttributesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttribute { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_id.is_empty() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if self.entity.is_some() { - len += 1; - } - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if self.key.is_some() { - len += 1; - } - if self.enum_value_details.is_some() { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ResourceAttribute", len)?; - if !self.resource_attribute_id.is_empty() { - struct_ser.serialize_field("resourceAttributeId", &self.resource_attribute_id)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if let Some(v) = self.entity.as_ref() { - struct_ser.serialize_field("entity", v)?; - } - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if let Some(v) = self.key.as_ref() { - struct_ser.serialize_field("key", v)?; - } - if let Some(v) = self.enum_value_details.as_ref() { - struct_ser.serialize_field("enumValueDetails", v)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - if let Some(v) = self.value.as_ref() { - match v { - resource_attribute::Value::ResourceAttributeEnumValueId(v) => { - struct_ser.serialize_field("resourceAttributeEnumValueId", v)?; - } - resource_attribute::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - resource_attribute::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttribute { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_id", - "resourceAttributeId", - "organization_id", - "organizationId", - "entity", - "resource_attribute_key_id", - "resourceAttributeKeyId", - "key", - "enum_value_details", - "enumValueDetails", - "created_date", - "createdDate", - "created_by_user_id", - "createdByUserId", - "archived_date", - "archivedDate", - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - "boolean_value", - "booleanValue", - "number_value", - "numberValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeId, - OrganizationId, - Entity, - ResourceAttributeKeyId, - Key, - EnumValueDetails, - CreatedDate, - CreatedByUserId, - ArchivedDate, - ResourceAttributeEnumValueId, - BooleanValue, - NumberValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeId" | "resource_attribute_id" => Ok(GeneratedField::ResourceAttributeId), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "entity" => Ok(GeneratedField::Entity), - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "key" => Ok(GeneratedField::Key), - "enumValueDetails" | "enum_value_details" => Ok(GeneratedField::EnumValueDetails), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttribute; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ResourceAttribute") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_id__ = None; - let mut organization_id__ = None; - let mut entity__ = None; - let mut resource_attribute_key_id__ = None; - let mut key__ = None; - let mut enum_value_details__ = None; - let mut created_date__ = None; - let mut created_by_user_id__ = None; - let mut archived_date__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeId => { - if resource_attribute_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeId")); - } - resource_attribute_id__ = Some(map_.next_value()?); - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::Entity => { - if entity__.is_some() { - return Err(serde::de::Error::duplicate_field("entity")); - } - entity__ = map_.next_value()?; - } - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::Key => { - if key__.is_some() { - return Err(serde::de::Error::duplicate_field("key")); - } - key__ = map_.next_value()?; - } - GeneratedField::EnumValueDetails => { - if enum_value_details__.is_some() { - return Err(serde::de::Error::duplicate_field("enumValueDetails")); - } - enum_value_details__ = map_.next_value()?; - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - GeneratedField::ResourceAttributeEnumValueId => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(resource_attribute::Value::ResourceAttributeEnumValueId); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(resource_attribute::Value::BooleanValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| resource_attribute::Value::NumberValue(x.0)); - } - } - } - Ok(ResourceAttribute { - resource_attribute_id: resource_attribute_id__.unwrap_or_default(), - organization_id: organization_id__.unwrap_or_default(), - entity: entity__, - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - key: key__, - enum_value_details: enum_value_details__, - created_date: created_date__, - created_by_user_id: created_by_user_id__.unwrap_or_default(), - archived_date: archived_date__, - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ResourceAttribute", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttributeEntityIdentifier { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.entity_id.is_empty() { - len += 1; - } - if self.entity_type != 0 { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ResourceAttributeEntityIdentifier", len)?; - if !self.entity_id.is_empty() { - struct_ser.serialize_field("entityId", &self.entity_id)?; - } - if self.entity_type != 0 { - let v = ResourceAttributeEntityType::try_from(self.entity_type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.entity_type)))?; - struct_ser.serialize_field("entityType", &v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttributeEntityIdentifier { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "entity_id", - "entityId", - "entity_type", - "entityType", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - EntityId, - EntityType, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "entityId" | "entity_id" => Ok(GeneratedField::EntityId), - "entityType" | "entity_type" => Ok(GeneratedField::EntityType), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttributeEntityIdentifier; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ResourceAttributeEntityIdentifier") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut entity_id__ = None; - let mut entity_type__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::EntityId => { - if entity_id__.is_some() { - return Err(serde::de::Error::duplicate_field("entityId")); - } - entity_id__ = Some(map_.next_value()?); - } - GeneratedField::EntityType => { - if entity_type__.is_some() { - return Err(serde::de::Error::duplicate_field("entityType")); - } - entity_type__ = Some(map_.next_value::()? as i32); - } - } - } - Ok(ResourceAttributeEntityIdentifier { - entity_id: entity_id__.unwrap_or_default(), - entity_type: entity_type__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ResourceAttributeEntityIdentifier", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttributeEntityType { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED", - Self::Asset => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET", - Self::Channel => "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttributeEntityType { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED", - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET", - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttributeEntityType; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_UNSPECIFIED" => Ok(ResourceAttributeEntityType::Unspecified), - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_ASSET" => Ok(ResourceAttributeEntityType::Asset), - "RESOURCE_ATTRIBUTE_ENTITY_TYPE_CHANNEL" => Ok(ResourceAttributeEntityType::Channel), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttributeEnumValue { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_value_id.is_empty() { - len += 1; - } - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if self.modified_date.is_some() { - len += 1; - } - if !self.modified_by_user_id.is_empty() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ResourceAttributeEnumValue", len)?; - if !self.resource_attribute_enum_value_id.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValueId", &self.resource_attribute_enum_value_id)?; - } - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if let Some(v) = self.modified_date.as_ref() { - struct_ser.serialize_field("modifiedDate", v)?; - } - if !self.modified_by_user_id.is_empty() { - struct_ser.serialize_field("modifiedByUserId", &self.modified_by_user_id)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttributeEnumValue { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - "resource_attribute_key_id", - "resourceAttributeKeyId", - "display_name", - "displayName", - "description", - "created_date", - "createdDate", - "created_by_user_id", - "createdByUserId", - "modified_date", - "modifiedDate", - "modified_by_user_id", - "modifiedByUserId", - "archived_date", - "archivedDate", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValueId, - ResourceAttributeKeyId, - DisplayName, - Description, - CreatedDate, - CreatedByUserId, - ModifiedDate, - ModifiedByUserId, - ArchivedDate, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "modifiedDate" | "modified_date" => Ok(GeneratedField::ModifiedDate), - "modifiedByUserId" | "modified_by_user_id" => Ok(GeneratedField::ModifiedByUserId), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttributeEnumValue; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ResourceAttributeEnumValue") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value_id__ = None; - let mut resource_attribute_key_id__ = None; - let mut display_name__ = None; - let mut description__ = None; - let mut created_date__ = None; - let mut created_by_user_id__ = None; - let mut modified_date__ = None; - let mut modified_by_user_id__ = None; - let mut archived_date__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValueId => { - if resource_attribute_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - resource_attribute_enum_value_id__ = Some(map_.next_value()?); - } - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ModifiedDate => { - if modified_date__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedDate")); - } - modified_date__ = map_.next_value()?; - } - GeneratedField::ModifiedByUserId => { - if modified_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedByUserId")); - } - modified_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - } - } - Ok(ResourceAttributeEnumValue { - resource_attribute_enum_value_id: resource_attribute_enum_value_id__.unwrap_or_default(), - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - created_date: created_date__, - created_by_user_id: created_by_user_id__.unwrap_or_default(), - modified_date: modified_date__, - modified_by_user_id: modified_by_user_id__.unwrap_or_default(), - archived_date: archived_date__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ResourceAttributeEnumValue", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttributeKey { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.r#type != 0 { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if self.modified_date.is_some() { - len += 1; - } - if !self.modified_by_user_id.is_empty() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.ResourceAttributeKey", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if self.r#type != 0 { - let v = ResourceAttributeKeyType::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if let Some(v) = self.modified_date.as_ref() { - struct_ser.serialize_field("modifiedDate", v)?; - } - if !self.modified_by_user_id.is_empty() { - struct_ser.serialize_field("modifiedByUserId", &self.modified_by_user_id)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttributeKey { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - "organization_id", - "organizationId", - "display_name", - "displayName", - "description", - "type", - "created_date", - "createdDate", - "created_by_user_id", - "createdByUserId", - "modified_date", - "modifiedDate", - "modified_by_user_id", - "modifiedByUserId", - "archived_date", - "archivedDate", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - OrganizationId, - DisplayName, - Description, - Type, - CreatedDate, - CreatedByUserId, - ModifiedDate, - ModifiedByUserId, - ArchivedDate, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "modifiedDate" | "modified_date" => Ok(GeneratedField::ModifiedDate), - "modifiedByUserId" | "modified_by_user_id" => Ok(GeneratedField::ModifiedByUserId), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttributeKey; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.ResourceAttributeKey") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - let mut organization_id__ = None; - let mut display_name__ = None; - let mut description__ = None; - let mut r#type__ = None; - let mut created_date__ = None; - let mut created_by_user_id__ = None; - let mut modified_date__ = None; - let mut modified_by_user_id__ = None; - let mut archived_date__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ModifiedDate => { - if modified_date__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedDate")); - } - modified_date__ = map_.next_value()?; - } - GeneratedField::ModifiedByUserId => { - if modified_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedByUserId")); - } - modified_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - } - } - Ok(ResourceAttributeKey { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - organization_id: organization_id__.unwrap_or_default(), - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - created_date: created_date__, - created_by_user_id: created_by_user_id__.unwrap_or_default(), - modified_date: modified_date__, - modified_by_user_id: modified_by_user_id__.unwrap_or_default(), - archived_date: archived_date__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.ResourceAttributeKey", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ResourceAttributeKeyType { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED", - Self::Enum => "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM", - Self::Boolean => "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN", - Self::Number => "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER", - Self::SetOfEnum => "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for ResourceAttributeKeyType { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED", - "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM", - "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN", - "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER", - "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ResourceAttributeKeyType; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "RESOURCE_ATTRIBUTE_KEY_TYPE_UNSPECIFIED" => Ok(ResourceAttributeKeyType::Unspecified), - "RESOURCE_ATTRIBUTE_KEY_TYPE_ENUM" => Ok(ResourceAttributeKeyType::Enum), - "RESOURCE_ATTRIBUTE_KEY_TYPE_BOOLEAN" => Ok(ResourceAttributeKeyType::Boolean), - "RESOURCE_ATTRIBUTE_KEY_TYPE_NUMBER" => Ok(ResourceAttributeKeyType::Number), - "RESOURCE_ATTRIBUTE_KEY_TYPE_SET_OF_ENUM" => Ok(ResourceAttributeKeyType::SetOfEnum), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_value_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest", len)?; - if !self.resource_attribute_enum_value_id.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValueId", &self.resource_attribute_enum_value_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValueId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeEnumValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValueId => { - if resource_attribute_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - resource_attribute_enum_value_id__ = Some(map_.next_value()?); - } - } - } - Ok(UnarchiveResourceAttributeEnumValueRequest { - resource_attribute_enum_value_id: resource_attribute_enum_value_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeEnumValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(UnarchiveResourceAttributeEnumValueResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeEnumValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - } - } - Ok(UnarchiveResourceAttributeKeyRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(UnarchiveResourceAttributeKeyResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeRequest", len)?; - if !self.resource_attribute_id.is_empty() { - struct_ser.serialize_field("resourceAttributeId", &self.resource_attribute_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_id", - "resourceAttributeId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeId" | "resource_attribute_id" => Ok(GeneratedField::ResourceAttributeId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeId => { - if resource_attribute_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeId")); - } - resource_attribute_id__ = Some(map_.next_value()?); - } - } - } - Ok(UnarchiveResourceAttributeRequest { - resource_attribute_id: resource_attribute_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveResourceAttributeResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveResourceAttributeResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveResourceAttributeResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UnarchiveResourceAttributeResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(UnarchiveResourceAttributeResponse { - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UnarchiveResourceAttributeResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_enum_value_id.is_empty() { - len += 1; - } - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.update_mask.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest", len)?; - if !self.resource_attribute_enum_value_id.is_empty() { - struct_ser.serialize_field("resourceAttributeEnumValueId", &self.resource_attribute_enum_value_id)?; - } - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.update_mask.as_ref() { - struct_ser.serialize_field("updateMask", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateResourceAttributeEnumValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value_id", - "resourceAttributeEnumValueId", - "display_name", - "displayName", - "description", - "update_mask", - "updateMask", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValueId, - DisplayName, - Description, - UpdateMask, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValueId" | "resource_attribute_enum_value_id" => Ok(GeneratedField::ResourceAttributeEnumValueId), - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - "updateMask" | "update_mask" => Ok(GeneratedField::UpdateMask), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateResourceAttributeEnumValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value_id__ = None; - let mut display_name__ = None; - let mut description__ = None; - let mut update_mask__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValueId => { - if resource_attribute_enum_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValueId")); - } - resource_attribute_enum_value_id__ = Some(map_.next_value()?); - } - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::UpdateMask => { - if update_mask__.is_some() { - return Err(serde::de::Error::duplicate_field("updateMask")); - } - update_mask__ = map_.next_value()?; - } - } - } - Ok(UpdateResourceAttributeEnumValueRequest { - resource_attribute_enum_value_id: resource_attribute_enum_value_id__.unwrap_or_default(), - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - update_mask: update_mask__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeEnumValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_enum_value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse", len)?; - if let Some(v) = self.resource_attribute_enum_value.as_ref() { - struct_ser.serialize_field("resourceAttributeEnumValue", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateResourceAttributeEnumValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_enum_value", - "resourceAttributeEnumValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeEnumValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeEnumValue" | "resource_attribute_enum_value" => Ok(GeneratedField::ResourceAttributeEnumValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateResourceAttributeEnumValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_enum_value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeEnumValue => { - if resource_attribute_enum_value__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeEnumValue")); - } - resource_attribute_enum_value__ = map_.next_value()?; - } - } - } - Ok(UpdateResourceAttributeEnumValueResponse { - resource_attribute_enum_value: resource_attribute_enum_value__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeEnumValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateResourceAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.resource_attribute_key_id.is_empty() { - len += 1; - } - if !self.display_name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.update_mask.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest", len)?; - if !self.resource_attribute_key_id.is_empty() { - struct_ser.serialize_field("resourceAttributeKeyId", &self.resource_attribute_key_id)?; - } - if !self.display_name.is_empty() { - struct_ser.serialize_field("displayName", &self.display_name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.update_mask.as_ref() { - struct_ser.serialize_field("updateMask", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateResourceAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key_id", - "resourceAttributeKeyId", - "display_name", - "displayName", - "description", - "update_mask", - "updateMask", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKeyId, - DisplayName, - Description, - UpdateMask, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKeyId" | "resource_attribute_key_id" => Ok(GeneratedField::ResourceAttributeKeyId), - "displayName" | "display_name" => Ok(GeneratedField::DisplayName), - "description" => Ok(GeneratedField::Description), - "updateMask" | "update_mask" => Ok(GeneratedField::UpdateMask), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateResourceAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key_id__ = None; - let mut display_name__ = None; - let mut description__ = None; - let mut update_mask__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKeyId => { - if resource_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKeyId")); - } - resource_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::DisplayName => { - if display_name__.is_some() { - return Err(serde::de::Error::duplicate_field("displayName")); - } - display_name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::UpdateMask => { - if update_mask__.is_some() { - return Err(serde::de::Error::duplicate_field("updateMask")); - } - update_mask__ = map_.next_value()?; - } - } - } - Ok(UpdateResourceAttributeKeyRequest { - resource_attribute_key_id: resource_attribute_key_id__.unwrap_or_default(), - display_name: display_name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - update_mask: update_mask__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateResourceAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.resource_attribute_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse", len)?; - if let Some(v) = self.resource_attribute_key.as_ref() { - struct_ser.serialize_field("resourceAttributeKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateResourceAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "resource_attribute_key", - "resourceAttributeKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - ResourceAttributeKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "resourceAttributeKey" | "resource_attribute_key" => Ok(GeneratedField::ResourceAttributeKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateResourceAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut resource_attribute_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::ResourceAttributeKey => { - if resource_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("resourceAttributeKey")); - } - resource_attribute_key__ = map_.next_value()?; - } - } - } - Ok(UpdateResourceAttributeKeyResponse { - resource_attribute_key: resource_attribute_key__, - }) - } - } - deserializer.deserialize_struct("sift.resource_attribute.v1.UpdateResourceAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.tonic.rs b/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.tonic.rs deleted file mode 100644 index 741f07d4f..000000000 --- a/rust/crates/sift_rs/src/gen/sift/resource_attribute/v1/sift.resource_attribute.v1.tonic.rs +++ /dev/null @@ -1,2520 +0,0 @@ -// @generated -/// Generated client implementations. -pub mod resource_attribute_service_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct ResourceAttributeServiceClient { - inner: tonic::client::Grpc, - } - impl ResourceAttributeServiceClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl ResourceAttributeServiceClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> ResourceAttributeServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - ResourceAttributeServiceClient::new( - InterceptedService::new(inner, interceptor), - ) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn create_resource_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "CreateResourceAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_resource_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "GetResourceAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_resource_attribute_keys( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ListResourceAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn update_resource_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "UpdateResourceAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_resource_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ArchiveResourceAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn unarchive_resource_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "UnarchiveResourceAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_archive_resource_attribute_keys( - &mut self, - request: impl tonic::IntoRequest< - super::BatchArchiveResourceAttributeKeysRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchArchiveResourceAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_unarchive_resource_attribute_keys( - &mut self, - request: impl tonic::IntoRequest< - super::BatchUnarchiveResourceAttributeKeysRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchUnarchiveResourceAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn create_resource_attribute_enum_value( - &mut self, - request: impl tonic::IntoRequest< - super::CreateResourceAttributeEnumValueRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "CreateResourceAttributeEnumValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_resource_attribute_enum_value( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "GetResourceAttributeEnumValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_resource_attribute_enum_values( - &mut self, - request: impl tonic::IntoRequest< - super::ListResourceAttributeEnumValuesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ListResourceAttributeEnumValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn update_resource_attribute_enum_value( - &mut self, - request: impl tonic::IntoRequest< - super::UpdateResourceAttributeEnumValueRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "UpdateResourceAttributeEnumValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_resource_attribute_enum_value( - &mut self, - request: impl tonic::IntoRequest< - super::ArchiveResourceAttributeEnumValueRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ArchiveResourceAttributeEnumValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn unarchive_resource_attribute_enum_value( - &mut self, - request: impl tonic::IntoRequest< - super::UnarchiveResourceAttributeEnumValueRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "UnarchiveResourceAttributeEnumValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_archive_resource_attribute_enum_values( - &mut self, - request: impl tonic::IntoRequest< - super::BatchArchiveResourceAttributeEnumValuesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchArchiveResourceAttributeEnumValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_unarchive_resource_attribute_enum_values( - &mut self, - request: impl tonic::IntoRequest< - super::BatchUnarchiveResourceAttributeEnumValuesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchUnarchiveResourceAttributeEnumValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn create_resource_attribute( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "CreateResourceAttribute", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_create_resource_attributes( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchCreateResourceAttributes", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_resource_attribute( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "GetResourceAttribute", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_resource_attributes( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ListResourceAttributes", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_resource_attributes_by_entity( - &mut self, - request: impl tonic::IntoRequest< - super::ListResourceAttributesByEntityRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ListResourceAttributesByEntity", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_resource_attribute( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "ArchiveResourceAttribute", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn unarchive_resource_attribute( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "UnarchiveResourceAttribute", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_archive_resource_attributes( - &mut self, - request: impl tonic::IntoRequest< - super::BatchArchiveResourceAttributesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchArchiveResourceAttributes", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_unarchive_resource_attributes( - &mut self, - request: impl tonic::IntoRequest< - super::BatchUnarchiveResourceAttributesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.resource_attribute.v1.ResourceAttributeService", - "BatchUnarchiveResourceAttributes", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod resource_attribute_service_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with ResourceAttributeServiceServer. - #[async_trait] - pub trait ResourceAttributeService: std::marker::Send + std::marker::Sync + 'static { - async fn create_resource_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_resource_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_resource_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn update_resource_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_resource_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn unarchive_resource_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_archive_resource_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_unarchive_resource_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn create_resource_attribute_enum_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_resource_attribute_enum_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_resource_attribute_enum_values( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn update_resource_attribute_enum_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_resource_attribute_enum_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn unarchive_resource_attribute_enum_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_archive_resource_attribute_enum_values( - &self, - request: tonic::Request< - super::BatchArchiveResourceAttributeEnumValuesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_unarchive_resource_attribute_enum_values( - &self, - request: tonic::Request< - super::BatchUnarchiveResourceAttributeEnumValuesRequest, - >, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn create_resource_attribute( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_create_resource_attributes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_resource_attribute( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_resource_attributes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_resource_attributes_by_entity( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_resource_attribute( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn unarchive_resource_attribute( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_archive_resource_attributes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_unarchive_resource_attributes( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct ResourceAttributeServiceServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl ResourceAttributeServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> - for ResourceAttributeServiceServer - where - T: ResourceAttributeService, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeKey" => { - #[allow(non_camel_case_types)] - struct CreateResourceAttributeKeySvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::CreateResourceAttributeKeyRequest, - > for CreateResourceAttributeKeySvc { - type Response = super::CreateResourceAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::CreateResourceAttributeKeyRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_resource_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateResourceAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeKey" => { - #[allow(non_camel_case_types)] - struct GetResourceAttributeKeySvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService - for GetResourceAttributeKeySvc { - type Response = super::GetResourceAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::GetResourceAttributeKeyRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_resource_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetResourceAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeKeys" => { - #[allow(non_camel_case_types)] - struct ListResourceAttributeKeysSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::ListResourceAttributeKeysRequest, - > for ListResourceAttributeKeysSvc { - type Response = super::ListResourceAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ListResourceAttributeKeysRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_resource_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListResourceAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeKey" => { - #[allow(non_camel_case_types)] - struct UpdateResourceAttributeKeySvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::UpdateResourceAttributeKeyRequest, - > for UpdateResourceAttributeKeySvc { - type Response = super::UpdateResourceAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UpdateResourceAttributeKeyRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_resource_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UpdateResourceAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeKey" => { - #[allow(non_camel_case_types)] - struct ArchiveResourceAttributeKeySvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::ArchiveResourceAttributeKeyRequest, - > for ArchiveResourceAttributeKeySvc { - type Response = super::ArchiveResourceAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ArchiveResourceAttributeKeyRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_resource_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchiveResourceAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeKey" => { - #[allow(non_camel_case_types)] - struct UnarchiveResourceAttributeKeySvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::UnarchiveResourceAttributeKeyRequest, - > for UnarchiveResourceAttributeKeySvc { - type Response = super::UnarchiveResourceAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UnarchiveResourceAttributeKeyRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unarchive_resource_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UnarchiveResourceAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeKeys" => { - #[allow(non_camel_case_types)] - struct BatchArchiveResourceAttributeKeysSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchArchiveResourceAttributeKeysRequest, - > for BatchArchiveResourceAttributeKeysSvc { - type Response = super::BatchArchiveResourceAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchArchiveResourceAttributeKeysRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_archive_resource_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchArchiveResourceAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeKeys" => { - #[allow(non_camel_case_types)] - struct BatchUnarchiveResourceAttributeKeysSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchUnarchiveResourceAttributeKeysRequest, - > for BatchUnarchiveResourceAttributeKeysSvc { - type Response = super::BatchUnarchiveResourceAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchUnarchiveResourceAttributeKeysRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_unarchive_resource_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchUnarchiveResourceAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttributeEnumValue" => { - #[allow(non_camel_case_types)] - struct CreateResourceAttributeEnumValueSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::CreateResourceAttributeEnumValueRequest, - > for CreateResourceAttributeEnumValueSvc { - type Response = super::CreateResourceAttributeEnumValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::CreateResourceAttributeEnumValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_resource_attribute_enum_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateResourceAttributeEnumValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttributeEnumValue" => { - #[allow(non_camel_case_types)] - struct GetResourceAttributeEnumValueSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::GetResourceAttributeEnumValueRequest, - > for GetResourceAttributeEnumValueSvc { - type Response = super::GetResourceAttributeEnumValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::GetResourceAttributeEnumValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_resource_attribute_enum_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetResourceAttributeEnumValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributeEnumValues" => { - #[allow(non_camel_case_types)] - struct ListResourceAttributeEnumValuesSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::ListResourceAttributeEnumValuesRequest, - > for ListResourceAttributeEnumValuesSvc { - type Response = super::ListResourceAttributeEnumValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ListResourceAttributeEnumValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_resource_attribute_enum_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListResourceAttributeEnumValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/UpdateResourceAttributeEnumValue" => { - #[allow(non_camel_case_types)] - struct UpdateResourceAttributeEnumValueSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::UpdateResourceAttributeEnumValueRequest, - > for UpdateResourceAttributeEnumValueSvc { - type Response = super::UpdateResourceAttributeEnumValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UpdateResourceAttributeEnumValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_resource_attribute_enum_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UpdateResourceAttributeEnumValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttributeEnumValue" => { - #[allow(non_camel_case_types)] - struct ArchiveResourceAttributeEnumValueSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::ArchiveResourceAttributeEnumValueRequest, - > for ArchiveResourceAttributeEnumValueSvc { - type Response = super::ArchiveResourceAttributeEnumValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ArchiveResourceAttributeEnumValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_resource_attribute_enum_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchiveResourceAttributeEnumValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttributeEnumValue" => { - #[allow(non_camel_case_types)] - struct UnarchiveResourceAttributeEnumValueSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::UnarchiveResourceAttributeEnumValueRequest, - > for UnarchiveResourceAttributeEnumValueSvc { - type Response = super::UnarchiveResourceAttributeEnumValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UnarchiveResourceAttributeEnumValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unarchive_resource_attribute_enum_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UnarchiveResourceAttributeEnumValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributeEnumValues" => { - #[allow(non_camel_case_types)] - struct BatchArchiveResourceAttributeEnumValuesSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchArchiveResourceAttributeEnumValuesRequest, - > for BatchArchiveResourceAttributeEnumValuesSvc { - type Response = super::BatchArchiveResourceAttributeEnumValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchArchiveResourceAttributeEnumValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_archive_resource_attribute_enum_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchArchiveResourceAttributeEnumValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributeEnumValues" => { - #[allow(non_camel_case_types)] - struct BatchUnarchiveResourceAttributeEnumValuesSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchUnarchiveResourceAttributeEnumValuesRequest, - > for BatchUnarchiveResourceAttributeEnumValuesSvc { - type Response = super::BatchUnarchiveResourceAttributeEnumValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchUnarchiveResourceAttributeEnumValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_unarchive_resource_attribute_enum_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchUnarchiveResourceAttributeEnumValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/CreateResourceAttribute" => { - #[allow(non_camel_case_types)] - struct CreateResourceAttributeSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService - for CreateResourceAttributeSvc { - type Response = super::CreateResourceAttributeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::CreateResourceAttributeRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_resource_attribute( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateResourceAttributeSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchCreateResourceAttributes" => { - #[allow(non_camel_case_types)] - struct BatchCreateResourceAttributesSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchCreateResourceAttributesRequest, - > for BatchCreateResourceAttributesSvc { - type Response = super::BatchCreateResourceAttributesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchCreateResourceAttributesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_create_resource_attributes( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchCreateResourceAttributesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/GetResourceAttribute" => { - #[allow(non_camel_case_types)] - struct GetResourceAttributeSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService - for GetResourceAttributeSvc { - type Response = super::GetResourceAttributeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_resource_attribute( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetResourceAttributeSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributes" => { - #[allow(non_camel_case_types)] - struct ListResourceAttributesSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService - for ListResourceAttributesSvc { - type Response = super::ListResourceAttributesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_resource_attributes( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListResourceAttributesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ListResourceAttributesByEntity" => { - #[allow(non_camel_case_types)] - struct ListResourceAttributesByEntitySvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::ListResourceAttributesByEntityRequest, - > for ListResourceAttributesByEntitySvc { - type Response = super::ListResourceAttributesByEntityResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ListResourceAttributesByEntityRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_resource_attributes_by_entity( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListResourceAttributesByEntitySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/ArchiveResourceAttribute" => { - #[allow(non_camel_case_types)] - struct ArchiveResourceAttributeSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService - for ArchiveResourceAttributeSvc { - type Response = super::ArchiveResourceAttributeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ArchiveResourceAttributeRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_resource_attribute( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchiveResourceAttributeSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/UnarchiveResourceAttribute" => { - #[allow(non_camel_case_types)] - struct UnarchiveResourceAttributeSvc( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::UnarchiveResourceAttributeRequest, - > for UnarchiveResourceAttributeSvc { - type Response = super::UnarchiveResourceAttributeResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UnarchiveResourceAttributeRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unarchive_resource_attribute( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UnarchiveResourceAttributeSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchArchiveResourceAttributes" => { - #[allow(non_camel_case_types)] - struct BatchArchiveResourceAttributesSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchArchiveResourceAttributesRequest, - > for BatchArchiveResourceAttributesSvc { - type Response = super::BatchArchiveResourceAttributesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchArchiveResourceAttributesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_archive_resource_attributes( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchArchiveResourceAttributesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.resource_attribute.v1.ResourceAttributeService/BatchUnarchiveResourceAttributes" => { - #[allow(non_camel_case_types)] - struct BatchUnarchiveResourceAttributesSvc< - T: ResourceAttributeService, - >( - pub Arc, - ); - impl< - T: ResourceAttributeService, - > tonic::server::UnaryService< - super::BatchUnarchiveResourceAttributesRequest, - > for BatchUnarchiveResourceAttributesSvc { - type Response = super::BatchUnarchiveResourceAttributesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchUnarchiveResourceAttributesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_unarchive_resource_attributes( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchUnarchiveResourceAttributesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for ResourceAttributeServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "sift.resource_attribute.v1.ResourceAttributeService"; - impl tonic::server::NamedService for ResourceAttributeServiceServer { - const NAME: &'static str = SERVICE_NAME; - } -} diff --git a/rust/crates/sift_rs/src/gen/sift/rule_evaluation/v1/sift.rule_evaluation.v1.rs b/rust/crates/sift_rs/src/gen/sift/rule_evaluation/v1/sift.rule_evaluation.v1.rs index 2762ffb23..64e7c6377 100644 --- a/rust/crates/sift_rs/src/gen/sift/rule_evaluation/v1/sift.rule_evaluation.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/rule_evaluation/v1/sift.rule_evaluation.v1.rs @@ -127,7 +127,7 @@ pub struct EvaluateRulesPreviewResponse { } /// Encoded file descriptor set for the `sift.rule_evaluation.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xbf, 0x40, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, + 0x0a, 0xec, 0x40, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, @@ -143,263 +143,191 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x69, 0x66, 0x74, - 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x06, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, - 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1d, 0x73, 0x69, 0x66, 0x74, + 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x70, 0x6f, + 0x72, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x06, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, + 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, + 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x42, 0x0a, 0x06, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x4d, + 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, + 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, + 0x0c, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, - 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, - 0x4d, 0x0a, 0x0e, 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, - 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, - 0x52, 0x0c, 0x72, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, - 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, + 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x6c, 0x6c, - 0x5f, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x41, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, - 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x61, 0x6c, 0x6c, 0x5f, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x12, 0x61, 0x6c, 0x6c, 0x41, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x66, 0x0a, 0x12, + 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x0a, + 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, 0x0a, + 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, 0x0a, + 0x0c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, 0x01, + 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x39, + 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, + 0x01, 0x48, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, + 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, 0x0f, + 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x40, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6b, 0x0a, + 0x24, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, + 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1f, 0x45, 0x76, + 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, 0x0a, + 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x22, 0x4e, 0x0a, 0x1d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x1e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, + 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, + 0x74, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, + 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, 0x0a, + 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x49, + 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6a, 0x6f, 0x62, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x22, 0xde, + 0x04, 0x0a, 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, + 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x4d, 0x0a, 0x0e, 0x72, + 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, + 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x0b, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, - 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x42, 0x06, - 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x42, 0x0e, - 0x0a, 0x0c, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xeb, - 0x01, 0x0a, 0x0c, 0x52, 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, - 0x39, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x43, 0x0a, 0x0a, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x01, 0x48, - 0x00, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, - 0x3f, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, - 0x41, 0x01, 0x48, 0x01, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, - 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x0b, 0x0a, 0x09, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0xcf, 0x01, 0x0a, - 0x0f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x12, 0x40, 0x0a, 0x06, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x6b, - 0x0a, 0x24, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, - 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x73, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x78, 0x0a, 0x1f, 0x45, - 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, - 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x55, - 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x4e, 0x0a, 0x1d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x10, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x5e, 0x0a, 0x1e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, 0x6d, 0x65, - 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xb7, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x3d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x25, - 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x05, 0x6a, 0x6f, - 0x62, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x5f, 0x69, 0x64, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x22, - 0xde, 0x04, 0x0a, 0x1b, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3b, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x66, 0x69, 0x65, 0x72, 0x48, 0x00, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0x4d, 0x0a, 0x0e, - 0x72, 0x75, 0x6e, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x52, - 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x48, 0x00, 0x52, 0x0c, 0x72, - 0x75, 0x6e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x55, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x48, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0x5d, 0x0a, 0x0d, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x48, 0x01, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x73, 0x12, 0x63, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x73, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x42, 0x06, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, - 0x22, 0x5f, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, - 0x12, 0x3f, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x73, 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x11, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x32, 0xd8, 0x06, 0x0a, 0x15, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x02, 0x0a, - 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, - 0x92, 0x41, 0xa7, 0x01, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x1a, 0x95, 0x01, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x65, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x67, - 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x12, 0xda, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x34, 0x2e, 0x73, 0x69, + 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x48, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x5a, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x92, 0x41, 0xa1, 0x01, 0x12, - 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, - 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, 0x88, 0x01, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, - 0x61, 0x20, 0x64, 0x72, 0x79, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, - 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, - 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, - 0x9b, 0x01, 0x92, 0x41, 0x97, 0x01, 0x12, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x1a, 0x79, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, - 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, - 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0xca, 0x01, - 0x92, 0x41, 0x1b, 0x12, 0x19, 0x0a, 0x17, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1b, - 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x52, 0x75, 0x6c, - 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, - 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, - 0x31, 0xca, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xcd, 0x20, 0x0a, 0x07, 0x12, - 0x05, 0x00, 0x00, 0x87, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, - 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x20, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, - 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x03, 0x12, 0x03, 0x07, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, - 0x37, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x23, 0x0a, 0x09, 0x0a, 0x01, - 0x08, 0x12, 0x04, 0x0b, 0x00, 0x0d, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, - 0x0b, 0x00, 0x0d, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0c, 0x02, - 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x29, 0x0a, - 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x0f, 0x00, 0x2f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, - 0x00, 0x01, 0x12, 0x03, 0x0f, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, - 0x10, 0x02, 0x16, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x10, - 0x02, 0x16, 0x04, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x11, - 0x04, 0x2d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x12, 0x04, - 0x15, 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x13, - 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x14, - 0x06, 0x34, 0x0a, 0xa6, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x19, 0x02, 0x22, - 0x03, 0x1a, 0x97, 0x01, 0x20, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x73, 0x48, 0x01, 0x52, 0x0b, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x42, + 0x06, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x6d, 0x6f, 0x64, 0x65, 0x22, + 0x5f, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, + 0x3f, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, + 0x22, 0xae, 0x01, 0x0a, 0x1c, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3d, 0x0a, 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, + 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, + 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x32, 0xd8, 0x06, 0x0a, 0x15, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc3, 0x02, 0x0a, 0x0d, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2d, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd2, 0x01, 0x92, + 0x41, 0xa7, 0x01, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x1a, 0x95, 0x01, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x73, @@ -408,242 +336,316 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x19, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x02, 0x12, 0x03, 0x19, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, - 0x12, 0x03, 0x19, 0x33, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, - 0x1a, 0x04, 0x1d, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x1b, 0x06, 0x2a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x1c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1f, 0x06, 0x1e, 0x0a, 0x10, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x20, 0x06, 0xaa, 0x01, - 0x0a, 0x99, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x25, 0x02, 0x2e, 0x03, 0x1a, - 0x8a, 0x01, 0x20, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x72, 0x79, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, - 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, - 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x25, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x01, 0x02, 0x12, 0x03, 0x25, 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x25, 0x41, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, - 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x27, 0x06, 0x32, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x28, 0x06, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x2a, 0x04, 0x2d, 0x06, 0x0a, 0x0f, 0x0a, - 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x2a, 0x04, 0x2d, 0x06, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x2b, 0x06, 0x25, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x2c, 0x06, 0x9d, - 0x01, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x31, 0x00, 0x44, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x31, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, - 0x00, 0x12, 0x04, 0x32, 0x02, 0x36, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, - 0x12, 0x03, 0x32, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x33, - 0x04, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x33, 0x04, 0x2a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x33, 0x2b, 0x2e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x33, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x34, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x01, 0x06, 0x12, 0x03, 0x34, 0x04, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x34, 0x14, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x34, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x35, 0x04, 0x24, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x35, 0x04, 0x10, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x35, 0x11, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x35, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, - 0x08, 0x01, 0x12, 0x04, 0x37, 0x02, 0x3c, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, - 0x01, 0x12, 0x03, 0x37, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, - 0x38, 0x04, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x38, 0x04, - 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x38, 0x29, 0x2e, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x38, 0x31, 0x32, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x39, 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x04, 0x06, 0x12, 0x03, 0x39, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x39, 0x22, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, - 0x03, 0x39, 0x32, 0x33, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x3a, 0x04, - 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x3a, 0x04, 0x23, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x3a, 0x24, 0x33, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x3a, 0x36, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x06, 0x12, 0x03, 0x3b, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, - 0x05, 0x12, 0x03, 0x3b, 0x04, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, - 0x03, 0x3b, 0x09, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x3b, - 0x20, 0x22, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x3d, 0x02, 0x38, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x3d, 0x02, 0x20, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x3d, 0x21, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x3d, 0x36, 0x37, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x08, 0x12, 0x03, 0x40, 0x02, 0x46, 0x1a, 0x3e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, - 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, - 0x03, 0x40, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x40, - 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x40, 0x1b, 0x1c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x03, 0x40, 0x1d, 0x45, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x40, 0x1e, 0x44, 0x0a, - 0x5c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x43, 0x02, 0x4b, 0x1a, 0x4f, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2c, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x43, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, 0x43, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x09, 0x01, 0x12, 0x03, 0x43, 0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, - 0x12, 0x03, 0x43, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x03, - 0x43, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x03, 0x43, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x46, 0x00, 0x4a, 0x01, - 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x46, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, 0x47, 0x02, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x06, 0x12, 0x03, 0x47, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, - 0x12, 0x03, 0x47, 0x29, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, - 0x47, 0x2f, 0x30, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x48, 0x02, 0x5d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x04, 0x12, 0x03, 0x48, 0x02, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x06, 0x12, 0x03, 0x48, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x03, 0x48, 0x25, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x01, 0x03, 0x12, 0x03, 0x48, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x08, 0x12, 0x03, 0x48, 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x48, 0x35, 0x5b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, - 0x03, 0x49, 0x02, 0x5b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x49, - 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x49, 0x0b, 0x24, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x49, 0x25, 0x2d, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x49, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, 0x03, 0x49, 0x32, 0x5a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, - 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x49, 0x33, 0x59, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x02, 0x12, 0x04, 0x4c, 0x00, 0x50, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, - 0x4c, 0x08, 0x17, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x4d, 0x02, 0x59, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4d, 0x02, 0x24, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4d, 0x25, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4d, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x08, 0x12, 0x03, 0x4d, 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4d, 0x31, 0x57, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x01, 0x12, 0x03, 0x4e, 0x02, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, - 0x03, 0x4e, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x4e, - 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4e, 0x29, 0x2a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x4e, 0x2b, 0x53, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4e, 0x2c, 0x52, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x03, 0x4f, 0x02, 0x52, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x03, 0x4f, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x4f, 0x1c, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x4f, 0x27, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, - 0x03, 0x4f, 0x29, 0x51, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x4f, 0x2a, 0x50, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x52, 0x00, 0x54, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x52, 0x08, 0x2c, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x53, 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x06, 0x12, 0x03, 0x53, 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x53, 0x2a, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x53, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x53, - 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x53, 0x35, 0x5b, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x56, 0x00, 0x58, 0x01, 0x0a, - 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x56, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x00, 0x12, 0x03, 0x57, 0x02, 0x66, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x06, 0x12, 0x03, 0x57, 0x02, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, - 0x03, 0x57, 0x29, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x57, - 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x57, 0x3d, 0x65, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x57, 0x3e, - 0x64, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x04, 0x5a, 0x00, 0x5c, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x5a, 0x08, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, - 0x00, 0x12, 0x03, 0x5b, 0x02, 0x50, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x5b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5b, - 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5b, 0x12, 0x22, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5b, 0x25, 0x26, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5b, 0x27, 0x4f, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x28, 0x4e, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x06, 0x12, 0x04, 0x5e, 0x00, 0x60, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, - 0x12, 0x03, 0x5e, 0x08, 0x26, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x5f, - 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x5f, 0x02, 0x24, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5f, 0x25, 0x29, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5f, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5f, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5f, 0x2f, 0x55, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x07, 0x12, 0x04, 0x62, 0x00, 0x6a, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, - 0x62, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x63, 0x02, 0x4e, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x03, 0x63, 0x02, 0x07, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x03, 0x63, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x03, 0x63, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x00, 0x08, 0x12, 0x03, 0x63, 0x25, 0x4d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x63, 0x26, 0x4c, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x07, 0x02, - 0x01, 0x12, 0x03, 0x66, 0x02, 0x49, 0x1a, 0x43, 0x20, 0x41, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x65, 0x72, - 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, - 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x04, 0x12, 0x03, 0x66, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x01, 0x05, 0x12, 0x03, 0x66, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, - 0x12, 0x03, 0x66, 0x12, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x03, - 0x66, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x03, 0x66, 0x20, - 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x66, - 0x21, 0x47, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x03, 0x69, 0x02, 0x46, 0x1a, - 0x5d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, - 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x68, 0x61, - 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x62, 0x65, - 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, - 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x04, 0x12, 0x03, 0x69, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x03, 0x69, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x69, 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x69, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, - 0x03, 0x69, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x69, 0x1e, 0x44, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x04, 0x6c, 0x00, 0x7d, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x03, 0x6c, 0x08, 0x23, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x08, 0x08, 0x00, 0x12, 0x04, 0x6d, 0x02, 0x73, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x08, 0x08, 0x00, 0x01, 0x12, 0x03, 0x6d, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, - 0x00, 0x12, 0x03, 0x6e, 0x04, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, - 0x03, 0x6e, 0x04, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6e, - 0x2b, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6e, 0x31, 0x32, - 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x03, 0x6f, 0x04, 0x24, 0x0a, 0x0c, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x03, 0x6f, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6f, 0x11, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x01, 0x03, 0x12, 0x03, 0x6f, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x01, 0x12, - 0x04, 0x74, 0x02, 0x79, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x01, 0x01, 0x12, 0x03, - 0x74, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x03, 0x75, 0x04, 0x33, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x06, 0x12, 0x03, 0x75, 0x04, 0x28, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x03, 0x75, 0x29, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x03, 0x75, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x03, 0x12, 0x03, 0x76, 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x06, - 0x12, 0x03, 0x76, 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x03, - 0x76, 0x22, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x03, 0x76, 0x32, - 0x33, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x04, 0x12, 0x03, 0x77, 0x04, 0x38, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x06, 0x12, 0x03, 0x77, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x04, 0x01, 0x12, 0x03, 0x77, 0x24, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x04, 0x03, 0x12, 0x03, 0x77, 0x36, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, - 0x12, 0x03, 0x78, 0x04, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x06, 0x12, 0x03, - 0x78, 0x04, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x01, 0x12, 0x03, 0x78, 0x21, - 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x03, 0x12, 0x03, 0x78, 0x30, 0x31, 0x0a, - 0x4b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x06, 0x12, 0x03, 0x7c, 0x02, 0x46, 0x1a, 0x3e, 0x20, 0x4f, - 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, - 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x06, 0x05, 0x12, 0x03, 0x7c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, - 0x02, 0x06, 0x01, 0x12, 0x03, 0x7c, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, - 0x03, 0x12, 0x03, 0x7c, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, 0x12, - 0x03, 0x7c, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x7c, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x05, 0x7f, 0x00, 0x81, - 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x03, 0x7f, 0x08, 0x24, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x80, 0x01, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x80, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x80, 0x01, 0x0b, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x01, 0x2b, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x80, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x08, 0x12, 0x04, 0x80, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x01, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, - 0x06, 0x84, 0x01, 0x00, 0x87, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, - 0x84, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0x85, 0x01, - 0x02, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0x85, 0x01, 0x02, - 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x01, 0x08, 0x20, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x01, 0x23, 0x24, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x85, 0x01, 0x25, 0x4d, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x01, 0x26, 0x4c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0x86, 0x01, 0x02, 0x42, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x01, 0x06, 0x12, 0x04, 0x86, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x86, 0x01, 0x2a, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0x86, 0x01, 0x40, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, + 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x2d, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x12, 0xda, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x12, 0x34, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xd4, 0x01, 0x92, 0x41, 0xa1, 0x01, 0x12, 0x14, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x65, + 0x76, 0x69, 0x65, 0x77, 0x1a, 0x88, 0x01, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, + 0x20, 0x64, 0x72, 0x79, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x67, + 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, + 0x64, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x22, 0x24, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, + 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x70, 0x72, 0x65, 0x76, 0x69, 0x65, 0x77, 0x1a, 0x9b, + 0x01, 0x92, 0x41, 0x97, 0x01, 0x12, 0x1a, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x1a, 0x79, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, + 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, + 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0xca, 0x01, 0x92, + 0x41, 0x1b, 0x12, 0x19, 0x0a, 0x17, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1b, 0x63, + 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x52, 0x75, 0x6c, 0x65, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x56, 0x31, + 0xca, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, 0x74, + 0x5c, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5c, + 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x18, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xdb, 0x20, 0x0a, 0x07, 0x12, 0x05, + 0x00, 0x00, 0x8d, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, + 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x20, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, + 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, + 0x12, 0x03, 0x07, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x37, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x27, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x06, 0x12, 0x03, 0x0a, 0x00, 0x23, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0c, 0x00, 0x0e, + 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0c, 0x00, 0x0e, 0x02, 0x0a, 0x0b, + 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0d, 0x02, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x08, + 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0d, 0x09, 0x29, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, + 0x04, 0x10, 0x00, 0x30, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x10, 0x08, + 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x11, 0x02, 0x17, 0x04, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x11, 0x02, 0x17, 0x04, 0x0a, 0x0d, 0x0a, + 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x12, 0x04, 0x2d, 0x0a, 0x0e, 0x0a, 0x06, + 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x13, 0x04, 0x16, 0x05, 0x0a, 0x0e, 0x0a, 0x07, + 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x14, 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, + 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x15, 0x06, 0x34, 0x0a, 0xa6, 0x01, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x1a, 0x02, 0x23, 0x03, 0x1a, 0x97, 0x01, 0x20, 0x45, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x72, + 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x65, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x20, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x1a, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1a, 0x14, + 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1a, 0x33, 0x48, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1b, 0x04, 0x1e, 0x06, 0x0a, 0x11, + 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x1b, 0x04, 0x1e, + 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, + 0x03, 0x1c, 0x06, 0x2a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x07, 0x12, 0x03, 0x1d, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x12, 0x04, 0x1f, 0x04, 0x22, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, + 0x08, 0x12, 0x04, 0x1f, 0x04, 0x22, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, + 0x92, 0x08, 0x02, 0x12, 0x03, 0x20, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, + 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x21, 0x06, 0xaa, 0x01, 0x0a, 0x99, 0x01, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x01, 0x12, 0x04, 0x26, 0x02, 0x2f, 0x03, 0x1a, 0x8a, 0x01, 0x20, 0x50, 0x65, 0x72, + 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x61, 0x20, 0x64, 0x72, 0x79, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x65, + 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x26, 0x06, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x26, + 0x1b, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x26, 0x41, 0x5d, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, + 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x27, 0x04, + 0x2a, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, + 0x12, 0x03, 0x28, 0x06, 0x32, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x07, 0x12, 0x03, 0x29, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x12, 0x04, 0x2b, 0x04, 0x2e, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, + 0x92, 0x08, 0x12, 0x04, 0x2b, 0x04, 0x2e, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x2c, 0x06, 0x25, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x2d, 0x06, 0x9d, 0x01, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x00, 0x12, 0x04, 0x32, 0x00, 0x47, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, + 0x32, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x00, 0x12, 0x04, 0x33, 0x02, 0x37, + 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x00, 0x01, 0x12, 0x03, 0x33, 0x08, 0x0c, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x34, 0x04, 0x33, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x00, 0x06, 0x12, 0x03, 0x34, 0x04, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x34, 0x2b, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x34, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, + 0x35, 0x04, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x35, 0x04, + 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x35, 0x14, 0x1a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x35, 0x1d, 0x1e, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x36, 0x04, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x02, 0x06, 0x12, 0x03, 0x36, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x36, 0x11, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, + 0x03, 0x36, 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x08, 0x01, 0x12, 0x04, 0x38, 0x02, + 0x3d, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x08, 0x01, 0x01, 0x12, 0x03, 0x38, 0x08, 0x0c, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x39, 0x04, 0x33, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x39, 0x04, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x39, 0x29, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x03, 0x03, 0x12, 0x03, 0x39, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, + 0x03, 0x3a, 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x06, 0x12, 0x03, 0x3a, + 0x04, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x3a, 0x22, 0x2f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3a, 0x32, 0x33, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x3b, 0x04, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x06, 0x12, 0x03, 0x3b, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x01, 0x12, 0x03, 0x3b, 0x24, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, + 0x12, 0x03, 0x3b, 0x36, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x3c, + 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x03, 0x3c, 0x04, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x3c, 0x09, 0x1d, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x3c, 0x20, 0x22, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x3e, 0x02, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x07, 0x06, 0x12, 0x03, 0x3e, 0x02, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, + 0x12, 0x03, 0x3e, 0x21, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, + 0x3e, 0x36, 0x37, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x41, 0x02, 0x46, + 0x1a, 0x3e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, + 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, + 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, + 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x41, 0x02, 0x08, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x41, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x41, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x08, 0x08, 0x12, 0x03, 0x41, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x41, 0x1e, 0x44, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x09, 0x12, 0x03, 0x44, 0x02, 0x4b, 0x1a, 0x4f, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, + 0x20, 0x61, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x04, + 0x12, 0x03, 0x44, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, + 0x44, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x44, 0x12, + 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x44, 0x20, 0x21, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x03, 0x44, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x44, 0x23, 0x49, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x49, 0x00, 0x4d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x01, + 0x01, 0x12, 0x03, 0x49, 0x08, 0x14, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x03, + 0x4a, 0x02, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x06, 0x12, 0x03, 0x4a, 0x02, + 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x4a, 0x29, 0x2c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x4a, 0x2f, 0x30, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x4b, 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x01, 0x04, 0x12, 0x03, 0x4b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x4b, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x4b, 0x25, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x4b, + 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x4b, 0x34, 0x5c, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x4b, 0x35, + 0x5b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x4c, 0x02, 0x5b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x4c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x4c, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x4c, 0x25, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, + 0x03, 0x12, 0x03, 0x4c, 0x30, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, + 0x03, 0x4c, 0x32, 0x5a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x4c, 0x33, 0x59, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x4f, 0x00, 0x53, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x17, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x50, 0x02, 0x59, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x06, 0x12, 0x03, 0x50, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x50, 0x25, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x50, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x50, + 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x50, 0x31, 0x57, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x51, 0x02, 0x54, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x06, 0x12, 0x03, 0x51, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x51, 0x1c, 0x26, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x51, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x01, 0x08, 0x12, 0x03, 0x51, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x51, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, + 0x02, 0x12, 0x03, 0x52, 0x02, 0x52, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x52, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x03, 0x52, + 0x1c, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x03, 0x52, 0x27, 0x28, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x03, 0x52, 0x29, 0x51, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x52, 0x2a, 0x50, 0x0a, + 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x55, 0x00, 0x57, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, + 0x03, 0x01, 0x12, 0x03, 0x55, 0x08, 0x2c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, + 0x03, 0x56, 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x06, 0x12, 0x03, 0x56, + 0x02, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x56, 0x2a, 0x2f, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x56, 0x32, 0x33, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x56, 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, + 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x56, 0x35, 0x5b, 0x0a, 0x0a, 0x0a, + 0x02, 0x04, 0x04, 0x12, 0x04, 0x59, 0x00, 0x5b, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, + 0x12, 0x03, 0x59, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x5a, + 0x02, 0x66, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x03, 0x5a, 0x02, 0x28, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5a, 0x29, 0x38, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5a, 0x3b, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5a, 0x3d, 0x65, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5a, 0x3e, 0x64, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x05, 0x12, 0x04, 0x5d, 0x00, 0x5f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, + 0x5d, 0x08, 0x25, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x03, 0x5e, 0x02, 0x50, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x04, 0x12, 0x03, 0x5e, 0x02, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5e, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5e, 0x12, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x00, 0x03, 0x12, 0x03, 0x5e, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, + 0x08, 0x12, 0x03, 0x5e, 0x27, 0x4f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x03, 0x5e, 0x28, 0x4e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x04, 0x61, + 0x00, 0x63, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x03, 0x61, 0x08, 0x26, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x03, 0x62, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x03, 0x62, 0x02, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x00, 0x01, 0x12, 0x03, 0x62, 0x25, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x03, 0x12, 0x03, 0x62, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, + 0x03, 0x62, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x62, 0x2f, 0x55, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x04, 0x65, 0x00, 0x6d, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x03, 0x65, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x03, 0x66, 0x02, 0x4e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x66, 0x02, 0x07, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x66, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x66, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x03, 0x66, + 0x25, 0x4d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x66, 0x26, 0x4c, 0x0a, 0x50, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x03, 0x69, 0x02, 0x49, + 0x1a, 0x43, 0x20, 0x41, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x66, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x65, 0x72, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, 0x74, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x03, + 0x69, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x03, 0x69, 0x0b, + 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x03, 0x69, 0x12, 0x1b, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x03, 0x69, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x03, 0x69, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x69, 0x21, 0x47, 0x0a, 0x6a, 0x0a, 0x04, + 0x04, 0x07, 0x02, 0x02, 0x12, 0x03, 0x6c, 0x02, 0x46, 0x1a, 0x5d, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x78, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, + 0x6e, 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, + 0x04, 0x12, 0x03, 0x6c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, + 0x03, 0x6c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x03, 0x6c, + 0x12, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x03, 0x6c, 0x1b, 0x1c, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, 0x03, 0x6c, 0x1d, 0x45, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x07, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6c, 0x1e, 0x44, 0x0a, + 0x0b, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x05, 0x6f, 0x00, 0x82, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x04, 0x08, 0x01, 0x12, 0x03, 0x6f, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x00, + 0x12, 0x04, 0x70, 0x02, 0x76, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x00, 0x01, 0x12, + 0x03, 0x70, 0x08, 0x0c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x03, 0x71, 0x04, + 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x03, 0x71, 0x04, 0x2a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x03, 0x71, 0x2b, 0x2e, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x03, 0x71, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x08, 0x02, 0x01, 0x12, 0x03, 0x72, 0x04, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, + 0x06, 0x12, 0x03, 0x72, 0x04, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x72, 0x11, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x03, 0x72, + 0x22, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x08, 0x01, 0x12, 0x04, 0x77, 0x02, 0x7c, 0x03, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x08, 0x01, 0x01, 0x12, 0x03, 0x77, 0x08, 0x0c, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x03, 0x78, 0x04, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x02, 0x06, 0x12, 0x03, 0x78, 0x04, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x78, 0x29, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, + 0x12, 0x03, 0x78, 0x31, 0x32, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x03, 0x12, 0x03, 0x79, + 0x04, 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x06, 0x12, 0x03, 0x79, 0x04, 0x21, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x01, 0x12, 0x03, 0x79, 0x22, 0x2f, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x03, 0x03, 0x12, 0x03, 0x79, 0x32, 0x33, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x08, 0x02, 0x04, 0x12, 0x03, 0x7a, 0x04, 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x04, 0x06, 0x12, 0x03, 0x7a, 0x04, 0x23, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x7a, 0x24, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x04, 0x03, 0x12, 0x03, + 0x7a, 0x36, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x05, 0x12, 0x03, 0x7b, 0x04, 0x32, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x06, 0x12, 0x03, 0x7b, 0x04, 0x20, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x05, 0x01, 0x12, 0x03, 0x7b, 0x21, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7b, 0x30, 0x31, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x08, + 0x02, 0x06, 0x12, 0x03, 0x7f, 0x02, 0x46, 0x1a, 0x3e, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x05, + 0x12, 0x03, 0x7f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x01, 0x12, 0x03, + 0x7f, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x03, 0x12, 0x03, 0x7f, 0x1b, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x06, 0x08, 0x12, 0x03, 0x7f, 0x1d, 0x45, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7f, 0x1e, 0x44, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x85, 0x01, 0x00, 0x87, 0x01, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x85, 0x01, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x09, 0x02, 0x00, 0x12, 0x04, 0x86, 0x01, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, + 0x06, 0x12, 0x04, 0x86, 0x01, 0x0b, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, + 0x12, 0x04, 0x86, 0x01, 0x2b, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, + 0x04, 0x86, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, + 0x86, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0x86, 0x01, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0x8a, 0x01, + 0x00, 0x8d, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0x8a, 0x01, 0x08, + 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x4e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8b, 0x01, 0x02, 0x07, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x01, 0x08, 0x20, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8b, 0x01, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8b, 0x01, 0x26, 0x4c, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x01, 0x04, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x2a, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x03, 0x12, 0x04, 0x8c, 0x01, 0x40, 0x41, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.rule_evaluation.v1.tonic.rs"); include!("sift.rule_evaluation.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.rs b/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.rs index e78364ca1..f47bd2670 100644 --- a/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.rs @@ -248,6 +248,8 @@ pub struct ValidationResult { pub asset_expression_validation_results: ::prost::alloc::vec::Vec, #[prost(string, optional, tag="4")] pub error: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, tag="5")] + pub rule_name: ::prost::alloc::string::String, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct BatchUpdateRulesRequest { @@ -255,6 +257,7 @@ pub struct BatchUpdateRulesRequest { pub rules: ::prost::alloc::vec::Vec, #[prost(bool, tag="2")] pub validate_only: bool, + #[deprecated] #[prost(bool, tag="3")] pub override_expression_validation: bool, } @@ -576,6 +579,8 @@ pub struct CalculatedChannelConfig { pub expression: ::prost::alloc::string::String, #[prost(message, repeated, tag="3")] pub function_dependencies: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag="5")] + pub calculated_channel_dependencies: ::prost::alloc::vec::Vec, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct ChannelReference { @@ -583,6 +588,8 @@ pub struct ChannelReference { pub name: ::prost::alloc::string::String, #[prost(string, tag="2")] pub component: ::prost::alloc::string::String, + #[prost(string, optional, tag="3")] + pub calculated_channel_version_id: ::core::option::Option<::prost::alloc::string::String>, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct RuleActionConfiguration { @@ -783,7 +790,7 @@ impl ConditionComparator { } /// Encoded file descriptor set for the `sift.rules.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xa3, 0xae, 0x03, 0x0a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x0a, 0x95, 0xb6, 0x03, 0x0a, 0x19, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0d, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, @@ -798,140 +805,104 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x73, 0x69, 0x66, 0x74, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, - 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x09, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, - 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, - 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x05, 0xe0, 0x41, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, - 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, - 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, - 0x65, 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x75, - 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x5b, 0x0a, - 0x13, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x13, 0x63, 0x6f, - 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, - 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, - 0x65, 0x6c, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6f, 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x61, 0x6c, 0x63, 0x75, + 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x30, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x09, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, + 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x20, 0x0a, + 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x05, 0xe0, 0x41, 0x02, 0x18, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, + 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x22, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x18, 0x07, 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, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, - 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, 0x0a, + 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, + 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, + 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, + 0x72, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x42, 0x0a, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x72, 0x75, 0x6c, + 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x5b, 0x0a, 0x13, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, + 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x61, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x57, 0x0a, 0x13, 0x63, 0x6f, 0x6e, + 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, + 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x73, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x18, 0x11, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, - 0x1a, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, - 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, - 0x31, 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x49, 0x64, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x9b, 0x04, 0x0a, 0x0d, 0x52, 0x75, 0x6c, - 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, - 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, - 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, - 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, - 0x12, 0x30, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, - 0x49, 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, - 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, - 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x12, 0x3e, 0x0a, 0x19, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x4a, 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x64, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, - 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, + 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x40, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, + 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x18, 0x14, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x1a, + 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x16, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x45, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x31, + 0x0a, 0x12, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x10, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x4a, 0x04, 0x08, 0x05, 0x10, 0x06, 0x22, 0x9b, 0x04, 0x0a, 0x0d, 0x52, 0x75, 0x6c, 0x65, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, @@ -946,207 +917,248 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x64, 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, - 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x75, 0x6c, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, - 0x4e, 0x0a, 0x16, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, - 0x56, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, - 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x54, 0x61, 0x67, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, - 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x22, 0xc6, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, - 0x01, 0x01, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x4f, 0x72, 0x64, 0x65, 0x72, 0x48, 0x01, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, - 0x01, 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, - 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, - 0x73, 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x65, 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, - 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, - 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1b, - 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, - 0x67, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, - 0x69, 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, - 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x22, 0x60, 0x0a, 0x13, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x12, 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, - 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, - 0x3f, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, - 0x22, 0x5c, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x47, - 0x0a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x12, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, - 0xad, 0x06, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, - 0x88, 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x07, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, - 0x52, 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, - 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x13, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x52, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, - 0x73, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x45, - 0x0a, 0x1a, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, - 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, - 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, - 0xf5, 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x65, - 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x52, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, - 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x29, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, - 0x0a, 0x0f, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, - 0x64, 0x22, 0x32, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, - 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, - 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0x83, 0x02, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, - 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, - 0x23, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, + 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3e, 0x0a, 0x19, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x4a, + 0x04, 0x08, 0x04, 0x10, 0x05, 0x22, 0xa6, 0x04, 0x0a, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x30, + 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, + 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, + 0x12, 0x32, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, + 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x10, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, + 0x65, 0x72, 0x49, 0x64, 0x12, 0x38, 0x0a, 0x16, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x72, 0x75, 0x6c, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, + 0x0a, 0x16, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x56, + 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x22, 0xb6, 0x01, 0x0a, 0x1f, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, - 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xcb, 0x01, 0x0a, 0x17, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x49, - 0x0a, 0x1e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1c, 0x6f, 0x76, 0x65, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x25, + 0x0a, 0x0c, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x54, 0x61, 0x67, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, + 0x6f, 0x72, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, + 0xc6, 0x03, 0x0a, 0x12, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, + 0x01, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0d, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x35, 0x0a, 0x05, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, + 0x72, 0x64, 0x65, 0x72, 0x48, 0x01, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x21, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6e, 0x61, 0x6d, 0x65, 0x4d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x61, 0x73, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x73, + 0x69, 0x74, 0x69, 0x76, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x63, 0x61, 0x73, + 0x65, 0x53, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x76, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, + 0x67, 0x65, 0x78, 0x70, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x72, 0x65, 0x67, 0x65, + 0x78, 0x70, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x88, + 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x08, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x1b, 0x0a, + 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x69, 0x6e, + 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0e, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x12, 0x42, 0x0a, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x61, + 0x6d, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x54, 0x61, 0x67, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x0b, 0x0a, 0x09, 0x5f, + 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x22, 0x60, 0x0a, 0x13, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x19, 0x0a, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3f, + 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x2c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x22, + 0x5c, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, + 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x24, 0x0a, 0x0b, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x47, 0x0a, + 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2e, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x05, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x32, 0x0a, 0x12, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x22, 0xad, + 0x06, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x88, + 0x01, 0x01, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x20, 0x0a, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, 0x07, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, + 0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x05, 0xe0, 0x41, 0x01, 0x18, 0x01, 0x52, + 0x09, 0x69, 0x73, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x74, 0x65, 0x73, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x12, 0x56, 0x0a, 0x13, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x73, 0x73, 0x65, 0x74, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x61, 0x73, + 0x73, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x52, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, + 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x75, 0x61, 0x6c, 0x43, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x45, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x45, 0x0a, + 0x1a, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x02, 0x52, 0x17, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, + 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, + 0x64, 0x88, 0x01, 0x01, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, + 0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x22, 0xf5, + 0x01, 0x0a, 0x16, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0f, 0x72, 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x65, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x65, 0x78, 0x70, + 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x41, 0x0a, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x72, + 0x75, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x22, 0xe7, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x29, + 0x0a, 0x0e, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0c, 0x72, 0x75, 0x6c, 0x65, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x0b, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x51, 0x0a, 0x0d, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x11, 0x0a, + 0x0f, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x22, 0x32, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x72, 0x75, + 0x6c, 0x65, 0x49, 0x64, 0x22, 0xa5, 0x02, 0x0a, 0x10, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1c, 0x0a, 0x07, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x06, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x22, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x23, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, + 0x6c, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x20, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, + 0x12, 0x1e, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x88, 0x01, 0x01, + 0x12, 0x20, 0x0a, 0x09, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x4e, 0x61, + 0x6d, 0x65, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x22, 0xca, 0x01, 0x0a, + 0x17, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x05, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x0c, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x6e, 0x6c, 0x79, 0x12, + 0x48, 0x0a, 0x1e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x1c, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x9d, 0x04, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, @@ -1453,7 +1465,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x00, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x61, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x22, - 0xfb, 0x02, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0xfa, 0x03, 0x0a, 0x17, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x71, 0x0a, 0x12, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, @@ -1470,2762 +1482,2820 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x65, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, + 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x12, 0x7d, 0x0a, 0x1f, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x64, 0x65, 0x70, + 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, + 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, + 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, + 0x6e, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x65, 0x0a, 0x16, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 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, 0x35, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xbd, 0x01, 0x0a, 0x10, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x22, 0x97, 0x02, - 0x0a, 0x17, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x00, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x4e, 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x45, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x77, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1f, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, - 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x72, 0x65, 0x63, - 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, - 0x1a, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x77, - 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x22, - 0x94, 0x02, 0x0a, 0x1d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, - 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x12, - 0x4c, 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, - 0x13, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, - 0x01, 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x16, - 0x0a, 0x14, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x1e, 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, - 0x58, 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, - 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x06, 0x72, 0x75, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, - 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, - 0x67, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x42, - 0x06, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1a, 0x45, 0x76, 0x61, 0x6c, 0x75, + 0x41, 0x01, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x12, 0x4b, 0x0a, + 0x1d, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x1a, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x88, 0x01, 0x01, 0x42, 0x20, 0x0a, 0x1e, 0x5f, 0x63, + 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, + 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x22, 0x97, 0x02, 0x0a, + 0x17, 0x52, 0x75, 0x6c, 0x65, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x54, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4e, + 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, + 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, + 0x0a, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x48, 0x00, 0x52, 0x0a, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, + 0x0a, 0x07, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x00, 0x52, 0x07, 0x77, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x42, 0x0f, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x54, 0x0a, 0x1f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x63, + 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x72, 0x65, 0x63, 0x69, + 0x70, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x22, 0x40, 0x0a, 0x1a, + 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x22, 0x0a, 0x0a, 0x77, 0x65, + 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x49, 0x64, 0x22, 0x94, + 0x02, 0x0a, 0x1d, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1c, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x12, 0x4c, + 0x0a, 0x0f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x61, + 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0e, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x13, + 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, 0x65, 0x72, + 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x10, 0x61, 0x73, 0x73, + 0x69, 0x67, 0x6e, 0x65, 0x64, 0x54, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x88, 0x01, 0x01, + 0x12, 0x3b, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x8e, 0x02, 0x0a, 0x14, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, + 0x0a, 0x08, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x72, 0x75, 0x6c, 0x65, 0x49, 0x64, 0x73, 0x12, 0x58, + 0x0a, 0x12, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x82, - 0x01, 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, - 0x69, 0x6d, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, - 0x18, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x16, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, - 0x75, 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, - 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, - 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, - 0x64, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, - 0x74, 0x49, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, - 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, - 0x5f, 0x69, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, - 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x3a, 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x5c, 0x0a, - 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x18, - 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, - 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, - 0x0a, 0x10, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, - 0x53, 0x43, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, - 0x52, 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x5c, 0x0a, 0x0a, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x43, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, - 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, - 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, - 0x41, 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, - 0x57, 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x10, 0x03, 0x2a, 0xad, 0x01, 0x0a, 0x13, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x12, 0x28, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, - 0x4f, 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, - 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, - 0x45, 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, - 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, - 0x10, 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, - 0x41, 0x4e, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, - 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, - 0x09, 0x0a, 0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, - 0x54, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x06, 0x32, 0x9f, 0x27, 0x0a, 0x0b, 0x52, 0x75, - 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x63, 0x92, 0x41, 0x41, 0x12, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x1a, 0x32, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, - 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x94, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, - 0x65, 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x4a, 0x92, 0x41, 0x32, 0x12, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x27, - 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, - 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, - 0x0d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, 0x41, 0x2a, 0x12, 0x0d, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x19, 0x52, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, - 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, - 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x92, - 0x41, 0x1d, 0x12, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x0f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x27, - 0x12, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x19, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, - 0x1a, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, - 0xda, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x92, 0x41, 0x4e, 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x3a, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, - 0x2a, 0x1a, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, - 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x68, 0x92, 0x41, 0x43, 0x12, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x1a, 0x35, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, - 0x55, 0x73, 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, - 0x2a, 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x42, 0x92, 0x41, 0x1f, 0x12, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, - 0x75, 0x6c, 0x65, 0x1a, 0x10, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x92, 0x41, - 0x57, 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x1a, 0x43, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, - 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, - 0x2a, 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, 0x12, - 0xba, 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x92, 0x41, 0x2a, 0x12, 0x11, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x1a, 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, - 0x22, 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xa4, 0x01, 0x0a, - 0x0d, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x92, 0x41, 0x23, 0x12, 0x0d, - 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x12, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x11, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, + 0x64, 0x12, 0x3e, 0x0a, 0x0a, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x48, 0x00, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, + 0x65, 0x12, 0x17, 0x0a, 0x07, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x06, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x06, + 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x35, 0x0a, 0x1a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x17, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x73, 0x18, + 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x74, 0x61, 0x67, 0x49, 0x64, 0x73, 0x22, 0x82, 0x01, + 0x0a, 0x0e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, + 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x65, + 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, + 0x6d, 0x65, 0x22, 0xfd, 0x01, 0x0a, 0x15, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x18, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x16, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4f, 0x0a, 0x13, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, + 0x6e, 0x5f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x11, 0x64, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1a, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, + 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x08, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, + 0x49, 0x64, 0x88, 0x01, 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6a, 0x6f, + 0x62, 0x5f, 0x69, 0x64, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, + 0x69, 0x64, 0x22, 0xf7, 0x01, 0x0a, 0x10, 0x44, 0x72, 0x79, 0x52, 0x75, 0x6e, 0x41, 0x6e, 0x6e, + 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, + 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, + 0x0a, 0x08, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, + 0x02, 0x52, 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x6f, + 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x2a, 0x5c, 0x0a, 0x0b, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x12, 0x20, 0x0a, 0x18, 0x53, + 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, + 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x14, 0x0a, + 0x10, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x5f, 0x41, 0x53, + 0x43, 0x10, 0x01, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45, 0x41, 0x52, 0x43, 0x48, 0x5f, 0x4f, 0x52, + 0x44, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x10, 0x02, 0x2a, 0x5c, 0x0a, 0x0a, 0x41, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1f, 0x0a, 0x17, 0x41, 0x43, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, + 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x4e, 0x4f, 0x54, + 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x41, + 0x4e, 0x4e, 0x4f, 0x54, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x57, + 0x45, 0x42, 0x48, 0x4f, 0x4f, 0x4b, 0x10, 0x03, 0x2a, 0xad, 0x01, 0x0a, 0x13, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6d, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, + 0x12, 0x28, 0x0a, 0x20, 0x43, 0x4f, 0x4e, 0x44, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, + 0x4d, 0x50, 0x41, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x4c, 0x45, + 0x53, 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12, 0x4c, 0x45, 0x53, + 0x53, 0x5f, 0x54, 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, + 0x02, 0x12, 0x10, 0x0a, 0x0c, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x48, 0x41, + 0x4e, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x52, 0x45, 0x41, 0x54, 0x45, 0x52, 0x5f, 0x54, + 0x48, 0x41, 0x4e, 0x5f, 0x4f, 0x52, 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x09, + 0x0a, 0x05, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x05, 0x12, 0x0d, 0x0a, 0x09, 0x4e, 0x4f, 0x54, + 0x5f, 0x45, 0x51, 0x55, 0x41, 0x4c, 0x10, 0x06, 0x32, 0x9f, 0x27, 0x0a, 0x0b, 0x52, 0x75, 0x6c, + 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb9, 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x63, 0x92, 0x41, 0x41, 0x12, 0x0b, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x1a, 0x32, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, + 0x74, 0x65, 0x72, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, 0x22, 0x14, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x12, 0x94, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, + 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x4a, 0x92, 0x41, 0x32, 0x12, 0x07, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x27, 0x52, + 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0f, 0x12, 0x0d, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xaa, 0x01, 0x0a, 0x0d, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4e, 0x92, 0x41, 0x2a, 0x12, 0x0d, 0x42, + 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x19, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, + 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x12, 0x8b, 0x01, 0x0a, 0x0a, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x38, 0x92, 0x41, + 0x1d, 0x12, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x0f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x22, 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x27, 0x12, + 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x19, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x3a, 0x01, 0x2a, 0x1a, + 0x0d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x12, 0xda, + 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x58, 0x92, 0x41, 0x2e, 0x12, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x17, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, - 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb6, 0x01, 0x0a, - 0x0c, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x36, 0x12, 0x0c, 0x55, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x26, 0x44, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x88, 0x02, 0x01, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, - 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x2c, 0x44, 0x65, 0x70, 0x72, - 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, - 0x2a, 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, - 0x01, 0x12, 0xdf, 0x01, 0x0a, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, - 0x01, 0x92, 0x41, 0x5b, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x1a, 0x4a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, - 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, - 0x88, 0x02, 0x01, 0x12, 0x84, 0x02, 0x0a, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, - 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2c, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, - 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, - 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, - 0x5f, 0x12, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x88, 0x02, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x56, - 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, - 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x92, 0x41, 0x56, 0x12, 0x0d, 0x56, 0x69, - 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, - 0x88, 0x02, 0x01, 0x12, 0x94, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, - 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, - 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x96, 0x01, 0x92, 0x41, 0x64, 0x12, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, - 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, - 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x26, 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, - 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x88, 0x02, 0x01, 0x12, 0x80, 0x02, 0x0a, 0x11, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x12, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x97, 0x01, 0x92, 0x41, 0x6c, 0x12, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, - 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x56, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, - 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x88, 0x02, 0x01, 0x12, 0xe7, 0x01, - 0x0a, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x12, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, - 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x84, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, - 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, - 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, - 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4a, 0x73, 0x6f, 0x6e, 0x88, 0x02, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x27, 0x12, 0x09, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x1a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, - 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xd9, - 0x01, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x74, 0x92, 0x41, 0x49, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x52, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x7d, 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x12, - 0x0e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, - 0x27, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x14, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x1a, 0x2a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, - 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb1, 0x01, 0x92, 0x41, 0xad, 0x01, 0x12, 0x30, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, - 0x1a, 0x79, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, - 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0x88, 0x01, 0x92, 0x41, - 0x10, 0x12, 0x0e, 0x0a, 0x0c, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, 0x2e, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, 0x5c, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x5c, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, - 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xc5, 0x9e, 0x02, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, - 0xef, 0x06, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x9b, 0x03, - 0x0a, 0x01, 0x02, 0x12, 0x03, 0x09, 0x00, 0x16, 0x1a, 0x90, 0x03, 0x20, 0x49, 0x4e, 0x54, 0x45, - 0x52, 0x4e, 0x41, 0x4c, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x4d, - 0x41, 0x49, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x53, 0x3a, 0x0a, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x69, - 0x6e, 0x67, 0x20, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x70, - 0x65, 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x61, 0x7a, 0x69, 0x6d, - 0x75, 0x74, 0x68, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x60, 0x20, 0x70, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, - 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x74, 0x65, - 0x20, 0x66, 0x61, 0x73, 0x68, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x61, 0x7a, 0x69, - 0x6d, 0x75, 0x74, 0x68, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x60, 0x2e, 0x0a, - 0x0a, 0x20, 0x41, 0x6c, 0x73, 0x6f, 0x2c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, - 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, - 0x6c, 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x47, 0x6f, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, - 0x67, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x62, 0x65, - 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x3a, - 0x0a, 0x20, 0x2d, 0x20, 0x61, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x76, - 0x31, 0x2e, 0x70, 0x62, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x0a, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x00, 0x12, 0x03, 0x0b, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0c, 0x00, - 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x0d, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x03, 0x12, 0x03, 0x0e, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x0f, - 0x00, 0x2f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x10, 0x00, 0x37, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x06, 0x12, 0x03, 0x11, 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, - 0x12, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x14, 0x00, 0x16, 0x02, 0x0a, 0x0b, - 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x14, 0x00, 0x16, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, - 0x92, 0x08, 0x02, 0x12, 0x03, 0x15, 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, - 0x01, 0x12, 0x03, 0x15, 0x09, 0x1e, 0x0a, 0x0b, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x05, 0x18, 0x00, - 0xbb, 0x02, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x18, 0x08, 0x13, 0x0a, - 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x19, 0x02, 0x1f, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x19, 0x02, 0x1f, 0x04, 0x0a, 0x0d, 0x0a, 0x06, 0x06, - 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1a, 0x04, 0x43, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, - 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x1b, 0x04, 0x1e, 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, - 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x1c, 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, - 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x1d, 0x06, 0x34, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x00, 0x12, 0x04, 0x22, 0x02, 0x2b, 0x03, 0x1a, 0x34, 0x20, 0x51, 0x75, 0x65, 0x72, 0x69, - 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, - 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x22, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x22, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x03, 0x12, 0x03, 0x22, 0x2f, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x23, 0x04, 0x26, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x23, 0x04, 0x26, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x24, 0x06, 0x22, 0x0a, 0x11, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x25, 0x06, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, - 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, - 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x28, 0x06, - 0x1c, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x29, - 0x06, 0x47, 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x2e, 0x02, 0x34, 0x03, - 0x1a, 0x29, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x2e, 0x06, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x01, 0x02, 0x12, 0x03, 0x2e, 0x0e, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, - 0x12, 0x03, 0x2e, 0x27, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, - 0x2f, 0x04, 0x36, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x12, 0x03, 0x2f, 0x04, 0x36, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x02, 0x12, 0x03, 0x2f, 0x20, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, - 0x04, 0x12, 0x04, 0x30, 0x04, 0x33, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, - 0x92, 0x08, 0x12, 0x04, 0x30, 0x04, 0x33, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, - 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x31, 0x06, 0x18, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x32, 0x06, 0x3c, 0x0a, 0x28, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x02, 0x12, 0x04, 0x37, 0x02, 0x40, 0x03, 0x1a, 0x1a, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x37, - 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x37, 0x14, 0x28, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x37, 0x33, 0x48, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x38, 0x04, 0x3b, 0x06, 0x0a, 0x11, 0x0a, - 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x38, 0x04, 0x3b, 0x06, - 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, - 0x39, 0x06, 0x24, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x07, 0x12, 0x03, 0x3a, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, - 0x04, 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, - 0x12, 0x04, 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, - 0x08, 0x02, 0x12, 0x03, 0x3d, 0x06, 0x1e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, - 0x92, 0x08, 0x03, 0x12, 0x03, 0x3e, 0x06, 0x2e, 0x0a, 0x1f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, - 0x12, 0x04, 0x43, 0x02, 0x4c, 0x03, 0x1a, 0x11, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x43, 0x06, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, - 0x12, 0x03, 0x43, 0x11, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, - 0x43, 0x2d, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x44, 0x04, - 0x47, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x04, 0x12, 0x03, 0x45, 0x06, 0x1b, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x46, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x49, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x4a, 0x06, 0x24, 0x0a, 0x29, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x4f, 0x02, 0x58, 0x03, 0x1a, 0x1b, 0x20, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, - 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x4f, 0x06, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, - 0x03, 0x4f, 0x11, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x4f, - 0x2d, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x50, 0x04, 0x53, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x50, 0x04, 0x53, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x03, 0x12, 0x03, 0x51, 0x06, 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x52, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x04, 0x12, 0x04, 0x54, 0x04, 0x57, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, 0x54, 0x04, 0x57, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x55, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x56, 0x06, 0x2e, 0x0a, 0x4a, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x5b, 0x02, 0x64, 0x03, 0x1a, 0x3c, 0x20, 0x55, 0x70, 0x64, + 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x92, 0x41, 0x4e, 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x3a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, - 0x01, 0x12, 0x03, 0x5b, 0x06, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, - 0x03, 0x5b, 0x17, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x5b, - 0x39, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x5c, 0x04, 0x5f, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x5c, 0x04, 0x5f, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x03, 0x12, 0x03, 0x5d, 0x06, 0x26, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x5e, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x05, 0x04, 0x12, 0x04, 0x60, 0x04, 0x63, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x60, 0x04, 0x63, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x61, 0x06, 0x21, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x62, 0x06, 0x4f, 0x0a, 0x47, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x68, 0x02, 0x72, 0x03, 0x1a, 0x39, 0x20, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x41, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, - 0x64, 0x2e, 0x0a, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, - 0x68, 0x06, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x68, 0x11, - 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x68, 0x2d, 0x3f, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x69, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, - 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, 0x21, 0x12, 0x03, 0x69, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x6a, 0x04, 0x6d, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, - 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x6a, 0x04, 0x6d, 0x06, 0x0a, 0x11, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x6b, 0x06, - 0x22, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x03, 0x6c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x6e, - 0x04, 0x71, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, - 0x6e, 0x04, 0x71, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x03, 0x6f, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x03, 0x70, 0x06, 0x4a, 0x0a, 0x20, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, - 0x75, 0x02, 0x7e, 0x03, 0x1a, 0x12, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, - 0x01, 0x12, 0x03, 0x75, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, - 0x03, 0x75, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x75, - 0x2f, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x76, 0x04, 0x79, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x76, 0x04, 0x79, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x04, 0x12, 0x03, 0x77, 0x06, 0x23, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x78, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x12, 0x04, 0x7a, 0x04, 0x7d, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x7a, 0x04, 0x7d, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x7b, 0x06, 0x1c, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x7c, 0x06, 0x25, 0x0a, 0x57, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x08, 0x12, 0x06, 0x82, 0x01, 0x02, 0x8c, 0x01, 0x03, 0x1a, 0x47, 0x20, 0x44, - 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, - 0x82, 0x01, 0x06, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x04, 0x82, - 0x01, 0x17, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0x82, 0x01, - 0x39, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x04, 0x83, 0x01, 0x04, - 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x08, 0x04, 0x21, 0x12, 0x04, 0x83, 0x01, 0x04, - 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x06, 0x84, 0x01, 0x04, 0x87, - 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x06, 0x84, 0x01, 0x04, 0x87, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x85, 0x01, 0x06, 0x27, 0x0a, 0x12, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x86, 0x01, 0x06, 0x0f, 0x0a, - 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x06, 0x88, 0x01, 0x04, 0x8b, 0x01, 0x06, - 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x12, 0x06, 0x88, 0x01, 0x04, - 0x8b, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x02, 0x12, - 0x04, 0x89, 0x01, 0x06, 0x21, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x04, 0x8a, 0x01, 0x06, 0x58, 0x0a, 0x27, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, - 0x06, 0x8f, 0x01, 0x02, 0x98, 0x01, 0x03, 0x1a, 0x17, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x06, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x04, 0x8f, 0x01, 0x18, 0x30, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, 0x8f, 0x01, 0x3b, 0x54, 0x0a, 0x0f, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, 0x06, 0x90, 0x01, 0x04, 0x93, 0x01, 0x06, 0x0a, 0x13, - 0x0a, 0x09, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x90, 0x01, 0x04, - 0x93, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x04, 0x12, 0x04, 0x91, 0x01, 0x06, 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x09, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x92, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x09, 0x04, 0x12, 0x06, 0x94, 0x01, 0x04, 0x97, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x12, 0x06, 0x94, 0x01, 0x04, 0x97, 0x01, 0x06, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x95, 0x01, 0x06, - 0x22, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x96, - 0x01, 0x06, 0x2a, 0x0a, 0x24, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, 0x06, 0x9b, 0x01, 0x02, - 0xa4, 0x01, 0x03, 0x1a, 0x14, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0a, 0x01, 0x12, 0x04, 0x9b, 0x01, 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, - 0x02, 0x12, 0x04, 0x9b, 0x01, 0x14, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x03, - 0x12, 0x04, 0x9b, 0x01, 0x33, 0x48, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, - 0x06, 0x9c, 0x01, 0x04, 0x9f, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0a, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x9c, 0x01, 0x04, 0x9f, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x9d, 0x01, 0x06, 0x25, - 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, - 0x9e, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x06, 0xa0, - 0x01, 0x04, 0xa3, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, - 0x12, 0x06, 0xa0, 0x01, 0x04, 0xa3, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0a, - 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xa1, 0x01, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x0a, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xa2, 0x01, 0x06, 0x27, 0x0a, 0x29, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x0b, 0x12, 0x06, 0xa7, 0x01, 0x02, 0xb0, 0x01, 0x03, 0x1a, 0x19, 0x20, 0x42, - 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x01, - 0x12, 0x04, 0xa7, 0x01, 0x06, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x02, 0x12, - 0x04, 0xa7, 0x01, 0x1a, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, - 0xa7, 0x01, 0x3f, 0x5a, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0xa8, - 0x01, 0x04, 0xab, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x06, 0xa8, 0x01, 0x04, 0xab, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xa9, 0x01, 0x06, 0x2a, 0x0a, 0x12, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xaa, 0x01, - 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0xac, 0x01, 0x04, - 0xaf, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x12, 0x06, - 0xac, 0x01, 0x04, 0xaf, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, - 0x08, 0x02, 0x12, 0x04, 0xad, 0x01, 0x06, 0x24, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, - 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xae, 0x01, 0x06, 0x2c, 0x0a, 0x4c, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x0c, 0x12, 0x06, 0xb4, 0x01, 0x02, 0xbe, 0x01, 0x03, 0x1a, 0x3c, 0x20, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x55, 0x6e, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, - 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, - 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, - 0x01, 0x12, 0x04, 0xb4, 0x01, 0x06, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x02, - 0x12, 0x04, 0xb4, 0x01, 0x13, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x03, 0x12, - 0x04, 0xb4, 0x01, 0x31, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x04, - 0xb5, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x21, 0x12, 0x04, - 0xb5, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x06, 0xb6, - 0x01, 0x04, 0xb9, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x06, 0xb6, 0x01, 0x04, 0xb9, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xb7, 0x01, 0x06, 0x24, 0x0a, 0x12, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xb8, 0x01, - 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x06, 0xba, 0x01, 0x04, - 0xbd, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x12, 0x06, - 0xba, 0x01, 0x04, 0xbd, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, - 0x08, 0x02, 0x12, 0x04, 0xbb, 0x01, 0x06, 0x1d, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0c, - 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xbc, 0x01, 0x06, 0x3b, 0x0a, 0x5a, 0x0a, 0x04, 0x06, 0x00, - 0x02, 0x0d, 0x12, 0x06, 0xc2, 0x01, 0x02, 0xcc, 0x01, 0x03, 0x1a, 0x4a, 0x20, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x01, 0x12, - 0x04, 0xc2, 0x01, 0x06, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x02, 0x12, 0x04, - 0xc2, 0x01, 0x19, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xc2, - 0x01, 0x3d, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x04, 0xc3, 0x01, - 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x21, 0x12, 0x04, 0xc3, 0x01, - 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x06, 0xc4, 0x01, 0x04, - 0xc7, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x12, 0x06, 0xc4, 0x01, 0x04, 0xc7, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0d, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xc5, 0x01, 0x06, 0x29, 0x0a, 0x12, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xc6, 0x01, 0x06, 0x0f, - 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x06, 0xc8, 0x01, 0x04, 0xcb, 0x01, - 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x92, 0x08, 0x12, 0x06, 0xc8, 0x01, - 0x04, 0xcb, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x04, 0xc9, 0x01, 0x06, 0x23, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x04, 0xca, 0x01, 0x06, 0x41, 0x0a, 0x41, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0e, - 0x12, 0x06, 0xcf, 0x01, 0x02, 0xd9, 0x01, 0x03, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, - 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xcf, 0x01, 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0e, 0x02, 0x12, 0x04, 0xcf, 0x01, 0x14, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0e, 0x03, 0x12, 0x04, 0xcf, 0x01, 0x33, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, - 0x04, 0x12, 0x04, 0xd0, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0e, 0x04, - 0x21, 0x12, 0x04, 0xd0, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, - 0x12, 0x06, 0xd1, 0x01, 0x04, 0xd4, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0e, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xd1, 0x01, 0x04, 0xd4, 0x01, 0x06, 0x0a, 0x12, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xd2, 0x01, 0x06, - 0x24, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x04, 0xd3, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x06, - 0xd5, 0x01, 0x04, 0xd8, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x92, - 0x08, 0x12, 0x06, 0xd5, 0x01, 0x04, 0xd8, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x0e, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xd6, 0x01, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x0e, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xd7, 0x01, 0x06, 0x5f, 0x0a, 0x7f, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x0f, 0x12, 0x06, 0xdc, 0x01, 0x02, 0xe3, 0x01, 0x03, 0x1a, 0x6f, 0x20, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, - 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x06, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0f, 0x02, 0x12, 0x04, 0xdc, 0x01, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x45, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0f, 0x04, 0x12, 0x04, 0xdd, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, - 0x02, 0x0f, 0x04, 0x21, 0x12, 0x04, 0xdd, 0x01, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x0f, 0x04, 0x12, 0x04, 0xde, 0x01, 0x04, 0x48, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x0f, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0xde, 0x01, 0x04, 0x48, 0x0a, 0x12, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x0f, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xde, 0x01, 0x20, 0x46, - 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x12, 0x06, 0xdf, 0x01, 0x04, 0xe2, 0x01, - 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x92, 0x08, 0x12, 0x06, 0xdf, 0x01, - 0x04, 0xe2, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x04, 0xe0, 0x01, 0x06, 0x27, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x06, 0x5a, 0x0a, 0x7f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x10, - 0x12, 0x06, 0xe6, 0x01, 0x02, 0xed, 0x01, 0x03, 0x1a, 0x6f, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, - 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, - 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, - 0x64, 0x2e, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, - 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, - 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x10, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, - 0x02, 0x12, 0x04, 0xe6, 0x01, 0x14, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x03, - 0x12, 0x04, 0xe6, 0x01, 0x33, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, - 0x04, 0xe7, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x10, 0x04, 0x21, 0x12, - 0x04, 0xe7, 0x01, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x04, - 0xe8, 0x01, 0x04, 0x3f, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x10, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x04, 0xe8, 0x01, 0x04, 0x3f, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x10, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xe8, 0x01, 0x20, 0x3d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x10, 0x04, 0x12, 0x06, 0xe9, 0x01, 0x04, 0xec, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x10, 0x04, 0x92, 0x08, 0x12, 0x06, 0xe9, 0x01, 0x04, 0xec, 0x01, 0x06, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x10, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xea, 0x01, 0x06, - 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x10, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xeb, - 0x01, 0x06, 0x5a, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x11, 0x12, 0x06, 0xf0, 0x01, - 0x02, 0xfa, 0x01, 0x03, 0x1a, 0x75, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, - 0x2e, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, + 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, + 0x1a, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x12, 0xbb, 0x01, 0x0a, 0x0a, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x68, 0x92, 0x41, 0x43, 0x12, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x1a, 0x35, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, + 0x73, 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x3a, 0x01, 0x2a, + 0x22, 0x14, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, 0x12, 0x98, 0x01, 0x0a, 0x0b, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x21, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x42, 0x92, 0x41, 0x1f, 0x12, 0x0b, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x1a, 0x10, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x01, 0x2a, 0x22, 0x15, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x12, 0xe7, 0x01, 0x0a, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x81, 0x01, 0x92, 0x41, 0x57, + 0x12, 0x10, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x1a, 0x43, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x01, 0x2a, + 0x22, 0x19, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, 0x12, 0xba, + 0x01, 0x0a, 0x11, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x52, 0x92, 0x41, 0x2a, 0x12, 0x11, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, + 0x15, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, + 0x1a, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, + 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xa4, 0x01, 0x0a, 0x0d, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x23, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x48, 0x92, 0x41, 0x23, 0x12, 0x0d, 0x55, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x12, 0x55, 0x6e, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x3a, 0x01, 0x2a, 0x22, 0x17, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x12, 0xc6, 0x01, 0x0a, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x29, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x58, 0x92, 0x41, 0x2e, 0x12, 0x13, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x17, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x3a, 0x01, 0x2a, 0x22, 0x1c, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x62, 0x61, 0x74, + 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x0c, + 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x22, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x64, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x36, 0x12, 0x0c, 0x55, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x1a, 0x26, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x88, 0x02, 0x01, 0x12, 0xd9, 0x01, 0x0a, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, + 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x28, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x12, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x2c, 0x44, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, + 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, + 0x22, 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, + 0x62, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x88, 0x02, 0x01, + 0x12, 0xdf, 0x01, 0x0a, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, + 0x92, 0x41, 0x5b, 0x12, 0x0d, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x1a, 0x4a, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x88, + 0x02, 0x01, 0x12, 0x84, 0x02, 0x0a, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, + 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x2c, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, + 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, + 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8c, 0x01, 0x92, 0x41, 0x5f, + 0x12, 0x16, 0x56, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x21, 0x12, 0x1f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x88, 0x02, 0x01, 0x12, 0xd6, 0x01, 0x0a, 0x0d, 0x56, 0x69, + 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x23, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x69, 0x65, 0x77, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7a, 0x92, 0x41, 0x56, 0x12, 0x0d, 0x56, 0x69, 0x65, + 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x45, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, + 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x88, + 0x02, 0x01, 0x12, 0x94, 0x02, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, + 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, + 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x22, 0x96, 0x01, 0x92, 0x41, 0x64, 0x12, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, + 0x6d, 0x61, 0x6e, 0x46, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0xf0, 0x01, 0x06, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x11, 0x02, 0x12, 0x04, 0xf0, 0x01, 0x1f, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x11, 0x03, 0x12, 0x04, 0xf0, 0x01, 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, - 0x04, 0x12, 0x04, 0xf1, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x11, 0x04, - 0x21, 0x12, 0x04, 0xf1, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, - 0x12, 0x06, 0xf2, 0x01, 0x04, 0xf5, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x11, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xf2, 0x01, 0x04, 0xf5, 0x01, 0x06, 0x0a, 0x12, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xf3, 0x01, 0x06, - 0x2f, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x04, 0xf4, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, 0x12, 0x06, - 0xf6, 0x01, 0x04, 0xf9, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x11, 0x04, 0x92, - 0x08, 0x12, 0x06, 0xf6, 0x01, 0x04, 0xf9, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x11, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xf7, 0x01, 0x06, 0x29, 0x0a, 0x10, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x11, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xf8, 0x01, 0x06, 0x5d, 0x0a, 0xca, 0x01, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x12, 0x12, 0x06, 0xfd, 0x01, 0x02, 0x87, 0x02, 0x03, 0x1a, 0xb9, - 0x01, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20, 0x69, 0x6e, 0x73, 0x74, - 0x65, 0x61, 0x64, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, - 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, - 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, - 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x64, 0x72, 0x79, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x12, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x06, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x12, 0x02, 0x12, 0x04, 0xfd, 0x01, 0x18, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, - 0x03, 0x12, 0x04, 0xfd, 0x01, 0x3b, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, - 0x12, 0x04, 0xfe, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x12, 0x04, 0x21, - 0x12, 0x04, 0xfe, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, - 0x06, 0xff, 0x01, 0x04, 0x82, 0x02, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x12, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xff, 0x01, 0x04, 0x82, 0x02, 0x06, 0x0a, 0x12, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x80, 0x02, 0x06, 0x28, - 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, - 0x81, 0x02, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, 0x06, 0x83, - 0x02, 0x04, 0x86, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x12, 0x04, 0x92, 0x08, - 0x12, 0x06, 0x83, 0x02, 0x04, 0x86, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x12, - 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x84, 0x02, 0x06, 0x22, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x12, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x85, 0x02, 0x06, 0x6c, 0x0a, 0x85, 0x01, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x13, 0x12, 0x06, 0x8a, 0x02, 0x02, 0x94, 0x02, 0x03, 0x1a, 0x75, 0x20, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, - 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, - 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, - 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x01, 0x12, 0x04, 0x8a, - 0x02, 0x06, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x02, 0x12, 0x04, 0x8a, 0x02, - 0x16, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0x8a, 0x02, 0x37, - 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x8b, 0x02, 0x04, 0x1d, - 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x13, 0x04, 0x21, 0x12, 0x04, 0x8b, 0x02, 0x04, 0x1d, - 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x04, 0x12, 0x06, 0x8c, 0x02, 0x04, 0x8f, 0x02, - 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, - 0x8c, 0x02, 0x04, 0x8f, 0x02, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x8d, 0x02, 0x06, 0x26, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x8e, 0x02, 0x06, 0x0f, 0x0a, 0x0f, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x04, 0x12, 0x06, 0x90, 0x02, 0x04, 0x93, 0x02, 0x06, 0x0a, - 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x13, 0x04, 0x92, 0x08, 0x12, 0x06, 0x90, 0x02, 0x04, 0x93, - 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x13, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, - 0x91, 0x02, 0x06, 0x20, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x13, 0x04, 0x92, 0x08, 0x03, - 0x12, 0x04, 0x92, 0x02, 0x06, 0x5d, 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x14, 0x12, 0x06, - 0x96, 0x02, 0x02, 0x9c, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x01, 0x12, - 0x04, 0x96, 0x02, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x02, 0x12, 0x04, - 0x96, 0x02, 0x10, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x03, 0x12, 0x04, 0x96, - 0x02, 0x2b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x04, 0x12, 0x04, 0x97, 0x02, - 0x04, 0x3b, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x97, 0x02, 0x04, 0x3b, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x02, 0x12, 0x04, 0x97, 0x02, 0x20, 0x39, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x14, 0x04, 0x12, 0x06, 0x98, 0x02, 0x04, 0x9b, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x14, 0x04, 0x92, 0x08, 0x12, 0x06, 0x98, 0x02, 0x04, 0x9b, 0x02, 0x06, 0x0a, 0x10, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x14, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x99, 0x02, 0x06, 0x1a, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x14, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x9a, 0x02, 0x06, - 0x2f, 0x0a, 0x47, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x15, 0x12, 0x06, 0x9f, 0x02, 0x02, 0xa5, 0x02, - 0x03, 0x1a, 0x37, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, - 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x15, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x06, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x15, 0x02, 0x12, 0x04, 0x9f, 0x02, 0x17, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, - 0x03, 0x12, 0x04, 0x9f, 0x02, 0x39, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x04, - 0x12, 0x04, 0xa0, 0x02, 0x04, 0x49, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x15, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x12, 0x04, 0xa0, 0x02, 0x04, 0x49, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, - 0x15, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xa0, 0x02, 0x20, 0x47, 0x0a, 0x0f, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x15, 0x04, 0x12, 0x06, 0xa1, 0x02, 0x04, 0xa4, 0x02, 0x06, 0x0a, 0x11, - 0x0a, 0x07, 0x06, 0x00, 0x02, 0x15, 0x04, 0x92, 0x08, 0x12, 0x06, 0xa1, 0x02, 0x04, 0xa4, 0x02, - 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x15, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xa2, - 0x02, 0x06, 0x21, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x15, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x04, 0xa3, 0x02, 0x06, 0x4a, 0x0a, 0x39, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x16, 0x12, 0x06, 0xa8, - 0x02, 0x02, 0xae, 0x02, 0x03, 0x1a, 0x29, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x01, 0x12, 0x04, 0xa8, 0x02, 0x06, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x02, 0x12, 0x04, 0xa8, 0x02, 0x15, 0x2a, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x03, 0x12, 0x04, 0xa8, 0x02, 0x35, 0x4b, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x16, 0x04, 0x12, 0x04, 0xa9, 0x02, 0x04, 0x3e, 0x0a, 0x11, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x16, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0xa9, 0x02, 0x04, 0x3e, 0x0a, - 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x16, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xa9, - 0x02, 0x20, 0x3c, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x04, 0x12, 0x06, 0xaa, 0x02, - 0x04, 0xad, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x16, 0x04, 0x92, 0x08, 0x12, - 0x06, 0xaa, 0x02, 0x04, 0xad, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x16, 0x04, - 0x92, 0x08, 0x02, 0x12, 0x04, 0xab, 0x02, 0x06, 0x1f, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x16, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xac, 0x02, 0x06, 0x3c, 0x0a, 0x3c, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x17, 0x12, 0x06, 0xb1, 0x02, 0x02, 0xba, 0x02, 0x03, 0x1a, 0x2c, 0x20, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x17, 0x01, 0x12, 0x04, 0xb1, 0x02, 0x06, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, - 0x02, 0x12, 0x04, 0xb1, 0x02, 0x1b, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x03, - 0x12, 0x04, 0xb1, 0x02, 0x41, 0x5d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x04, 0x12, - 0x06, 0xb2, 0x02, 0x04, 0xb5, 0x02, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x17, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xb2, 0x02, 0x04, 0xb5, 0x02, 0x06, 0x0a, 0x12, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xb3, 0x02, 0x06, 0x2c, - 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, - 0xb4, 0x02, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x04, 0x12, 0x06, 0xb6, - 0x02, 0x04, 0xb9, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x17, 0x04, 0x92, 0x08, - 0x12, 0x06, 0xb6, 0x02, 0x04, 0xb9, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x17, - 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xb7, 0x02, 0x06, 0x25, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x17, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xb8, 0x02, 0x06, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x00, 0x12, 0x06, 0xbd, 0x02, 0x00, 0xe8, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x00, - 0x01, 0x12, 0x04, 0xbd, 0x02, 0x08, 0x0c, 0x0a, 0x4e, 0x0a, 0x03, 0x04, 0x00, 0x09, 0x12, 0x04, - 0xbf, 0x02, 0x02, 0x0d, 0x1a, 0x41, 0x20, 0x35, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, - 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x22, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x20, 0x63, - 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, - 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x09, 0x00, 0x12, - 0x04, 0xbf, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x01, 0x12, 0x04, - 0xbf, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x02, 0x12, 0x04, 0xbf, - 0x02, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0xc0, 0x02, 0x02, - 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc0, 0x02, 0x09, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc0, 0x02, 0x13, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc0, 0x02, 0x15, 0x3d, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x02, 0x16, 0x3c, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x06, 0xc1, 0x02, 0x02, 0xc4, 0x02, 0x04, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc1, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x06, 0xc1, 0x02, 0x16, 0xc4, 0x02, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x02, 0x04, 0x2a, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x00, 0x02, 0x01, 0x08, 0x03, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x15, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc5, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc5, 0x02, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc5, 0x02, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x08, 0x12, 0x04, 0xc5, 0x02, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x02, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x03, 0x12, 0x04, 0xc6, 0x02, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x05, 0x12, 0x04, 0xc6, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x01, 0x12, 0x04, 0xc6, 0x02, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, - 0x12, 0x04, 0xc6, 0x02, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, - 0x04, 0xc6, 0x02, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xc6, 0x02, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, - 0x04, 0xc7, 0x02, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x04, - 0xc7, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc7, - 0x02, 0x07, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc7, 0x02, - 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc7, 0x02, 0x16, - 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, - 0x02, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x04, 0xc8, 0x02, 0x02, - 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0xc8, 0x02, 0x02, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0xc8, 0x02, 0x1c, 0x28, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x04, 0xc8, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x04, 0xc8, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x02, 0x2e, 0x54, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x04, 0xc9, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x04, 0xc9, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0xc9, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0xc9, 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x08, 0x12, 0x04, 0xc9, 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x07, 0x12, 0x04, 0xca, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x07, 0x05, 0x12, 0x04, 0xca, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, - 0x01, 0x12, 0x04, 0xca, 0x02, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, - 0x12, 0x04, 0xca, 0x02, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, - 0x04, 0xca, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xca, 0x02, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, - 0x04, 0xcb, 0x02, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x04, - 0xcb, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0xcb, - 0x02, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0xcb, 0x02, - 0x1f, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x04, 0xcb, 0x02, 0x22, - 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, - 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0xcc, 0x02, 0x02, - 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x04, 0xcc, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x04, 0xcc, 0x02, 0x09, 0x18, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, 0xcc, 0x02, 0x1b, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x04, 0xcc, 0x02, 0x1e, 0x46, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x02, 0x1f, 0x45, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x52, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xcd, 0x02, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x19, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0a, 0x03, 0x12, 0x04, 0xcd, 0x02, 0x26, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0a, 0x08, 0x12, 0x04, 0xcd, 0x02, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcd, 0x02, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x0b, 0x12, 0x04, 0xce, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, - 0x06, 0x12, 0x04, 0xce, 0x02, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, - 0x12, 0x04, 0xce, 0x02, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, - 0x04, 0xce, 0x02, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x12, 0x04, - 0xce, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xce, 0x02, 0x21, 0x47, 0x0a, 0x6d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x04, - 0xd1, 0x02, 0x02, 0x42, 0x1a, 0x5f, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, - 0x79, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, - 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, - 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x04, - 0xd1, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xd1, - 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xd1, 0x02, - 0x16, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xd1, 0x02, 0x19, - 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, - 0x02, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0d, 0x12, 0x04, 0xd3, 0x02, 0x02, - 0x5b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xd3, 0x02, 0x02, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xd3, 0x02, 0x19, 0x2c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xd3, 0x02, 0x2f, 0x31, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x04, 0xd3, 0x02, 0x32, 0x5a, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x02, 0x33, 0x59, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0e, 0x06, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xd4, 0x02, 0x15, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xd4, 0x02, 0x2b, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0e, 0x08, 0x12, 0x04, 0xd4, 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd4, 0x02, 0x2f, 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x0f, 0x12, 0x06, 0xd5, 0x02, 0x02, 0xd8, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0f, 0x06, 0x12, 0x04, 0xd5, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0f, 0x01, 0x12, 0x04, 0xd5, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0f, 0x03, 0x12, 0x04, 0xd5, 0x02, 0x2b, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, - 0x08, 0x12, 0x06, 0xd5, 0x02, 0x2e, 0xd8, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, - 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x02, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, - 0x00, 0x02, 0x0f, 0x08, 0x03, 0x12, 0x04, 0xd7, 0x02, 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x10, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x10, 0x05, 0x12, 0x04, 0xd9, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, - 0x01, 0x12, 0x04, 0xd9, 0x02, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, - 0x12, 0x04, 0xd9, 0x02, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, - 0x04, 0xd9, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd9, 0x02, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, - 0x04, 0xda, 0x02, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x04, 0x12, 0x04, - 0xda, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x06, 0x12, 0x04, 0xda, - 0x02, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0xda, 0x02, - 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0xda, 0x02, 0x35, - 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x08, 0x12, 0x04, 0xda, 0x02, 0x38, 0x60, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x02, - 0x39, 0x5f, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x12, 0x12, 0x04, 0xdd, 0x02, 0x02, 0x58, - 0x1a, 0x34, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x06, 0x12, - 0x04, 0xdd, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, - 0xdd, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0xdd, - 0x02, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x08, 0x12, 0x04, 0xdd, 0x02, - 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x12, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xdd, 0x02, 0x30, 0x56, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x13, 0x12, 0x04, 0xe0, 0x02, - 0x02, 0x41, 0x1a, 0x3d, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, - 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x05, 0x12, 0x04, 0xe0, 0x02, 0x02, 0x06, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x01, 0x12, 0x04, 0xe0, 0x02, 0x07, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0xe0, 0x02, 0x15, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x08, 0x12, 0x04, 0xe0, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x13, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x02, 0x19, 0x3f, 0x0a, - 0xbe, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x14, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x50, 0x1a, 0xaf, - 0x01, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x74, 0x72, 0x75, - 0x65, 0x60, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x76, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x61, - 0x6e, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2c, - 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, - 0x6f, 0x72, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x14, 0x05, 0x12, 0x04, 0xe4, 0x02, 0x02, 0x06, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x14, 0x01, 0x12, 0x04, 0xe4, 0x02, 0x07, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x14, 0x03, 0x12, 0x04, 0xe4, 0x02, 0x24, 0x26, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x14, 0x08, 0x12, 0x04, 0xe4, 0x02, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x14, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, 0x02, 0x28, 0x4e, 0x0a, 0xa9, - 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x15, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x4a, 0x1a, 0x9a, 0x01, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, - 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, - 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x15, 0x05, 0x12, 0x04, 0xe7, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x15, 0x01, 0x12, 0x04, 0xe7, 0x02, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, - 0x03, 0x12, 0x04, 0xe7, 0x02, 0x1e, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, 0x08, - 0x12, 0x04, 0xe7, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x15, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xe7, 0x02, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, - 0xea, 0x02, 0x00, 0xf6, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xea, - 0x02, 0x08, 0x15, 0x0a, 0x5b, 0x0a, 0x03, 0x04, 0x01, 0x09, 0x12, 0x04, 0xec, 0x02, 0x02, 0x0d, - 0x1a, 0x4e, 0x20, 0x34, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, - 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x22, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, - 0x69, 0x76, 0x65, 0x64, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x09, 0x00, 0x12, 0x04, 0xec, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x09, 0x00, 0x01, 0x12, 0x04, 0xec, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x09, 0x00, 0x02, 0x12, 0x04, 0xec, 0x02, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0xed, 0x02, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xed, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xed, 0x02, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xed, 0x02, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xed, 0x02, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xed, 0x02, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, - 0x12, 0x04, 0xee, 0x02, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, - 0x04, 0xee, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xee, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, - 0x02, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, 0xee, 0x02, - 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xee, 0x02, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, 0xef, 0x02, - 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x04, 0xef, 0x02, 0x02, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xef, 0x02, 0x1a, 0x24, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0xef, 0x02, 0x27, 0x28, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, 0x04, 0xef, 0x02, 0x29, 0x51, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xef, 0x02, 0x2a, 0x50, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x56, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x03, 0x08, 0x12, 0x04, 0xf0, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, - 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x01, 0x02, 0x04, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x04, 0x06, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x04, 0x01, 0x12, 0x04, 0xf1, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, - 0x03, 0x12, 0x04, 0xf1, 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x08, - 0x12, 0x04, 0xf1, 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x04, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xf1, 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, - 0x12, 0x04, 0xf2, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x05, 0x12, - 0x04, 0xf2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, - 0xf2, 0x02, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, 0xf2, - 0x02, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x08, 0x12, 0x04, 0xf2, 0x02, - 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf2, 0x02, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x04, 0xf3, 0x02, - 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x05, 0x12, 0x04, 0xf3, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x09, 0x1c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x03, 0x12, 0x04, 0xf3, 0x02, 0x1f, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x08, 0x12, 0x04, 0xf3, 0x02, 0x21, 0x49, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x01, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf3, 0x02, 0x22, 0x48, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, 0x12, 0x04, 0xf4, 0x02, 0x02, 0x4b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x04, 0x12, 0x04, 0xf4, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x07, 0x06, 0x12, 0x04, 0xf4, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x04, 0xf4, 0x02, 0x16, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x07, 0x03, 0x12, 0x04, 0xf4, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x07, 0x08, 0x12, 0x04, 0xf4, 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, - 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf4, 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x01, 0x02, 0x08, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x08, 0x05, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, - 0x01, 0x12, 0x04, 0xf5, 0x02, 0x09, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x03, - 0x12, 0x04, 0xf5, 0x02, 0x25, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x08, 0x12, - 0x04, 0xf5, 0x02, 0x28, 0x50, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x08, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xf5, 0x02, 0x29, 0x4f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xf7, - 0x02, 0x00, 0x81, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x02, - 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x45, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf8, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x09, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf8, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x02, 0x1d, 0x43, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf9, 0x02, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf9, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf9, 0x02, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xf9, 0x02, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xf9, 0x02, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf9, 0x02, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, - 0x02, 0x02, 0x12, 0x04, 0xfa, 0x02, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, - 0x06, 0x12, 0x04, 0xfa, 0x02, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xfa, 0x02, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xfa, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x04, - 0xfa, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xfa, 0x02, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xfb, 0x02, 0x02, 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x06, 0x12, 0x04, 0xfb, - 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xfb, 0x02, - 0x1a, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0xfb, 0x02, 0x2a, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x08, 0x12, 0x04, 0xfb, 0x02, 0x2c, 0x54, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x02, - 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0xfc, 0x02, 0x02, 0x56, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x06, 0x12, 0x04, 0xfc, 0x02, 0x02, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x1c, 0x28, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x03, 0x12, 0x04, 0xfc, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x04, 0x08, 0x12, 0x04, 0xfc, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x02, 0x2e, 0x54, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x02, 0x02, 0x05, 0x12, 0x04, 0xfd, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, 0x04, 0xfd, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0xfd, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x05, 0x03, 0x12, 0x04, 0xfd, 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x05, 0x08, 0x12, 0x04, 0xfd, 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x05, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, - 0x02, 0x06, 0x12, 0x04, 0xfe, 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, - 0x05, 0x12, 0x04, 0xfe, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x01, - 0x12, 0x04, 0xfe, 0x02, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x03, 0x12, - 0x04, 0xfe, 0x02, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x08, 0x12, 0x04, - 0xfe, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xfe, 0x02, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x07, 0x12, 0x04, - 0xff, 0x02, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x07, 0x05, 0x12, 0x04, 0xff, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x07, 0x01, 0x12, 0x04, 0xff, 0x02, - 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x07, 0x03, 0x12, 0x04, 0xff, 0x02, 0x1f, - 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x07, 0x08, 0x12, 0x04, 0xff, 0x02, 0x21, 0x49, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, 0x02, - 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x08, 0x12, 0x04, 0x80, 0x03, 0x02, 0x4d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x05, 0x12, 0x04, 0x80, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x01, 0x12, 0x04, 0x80, 0x03, 0x09, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x03, 0x12, 0x04, 0x80, 0x03, 0x22, 0x23, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x08, 0x08, 0x12, 0x04, 0x80, 0x03, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x03, 0x25, 0x4b, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x83, 0x03, 0x00, 0x86, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x03, 0x01, 0x12, 0x04, 0x83, 0x03, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x00, 0x12, 0x04, 0x84, 0x03, 0x02, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, - 0x12, 0x04, 0x84, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, - 0x04, 0x84, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, - 0x84, 0x03, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x84, - 0x03, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0x85, 0x03, 0x02, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x04, 0x12, 0x04, 0x85, 0x03, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x04, 0x85, 0x03, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x03, 0x12, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x03, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x04, 0x12, 0x06, 0x88, 0x03, 0x00, 0x8a, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x04, 0x01, 0x12, 0x04, 0x88, 0x03, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, - 0x12, 0x04, 0x89, 0x03, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, - 0x04, 0x89, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, - 0x89, 0x03, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0x89, - 0x03, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0x89, 0x03, - 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0x89, 0x03, 0x29, - 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, - 0x03, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x8c, 0x03, 0x00, 0x92, 0x03, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x8c, 0x03, 0x08, 0x27, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x03, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x8d, 0x03, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x03, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x01, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x8e, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x8e, 0x03, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x8e, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x8e, 0x03, 0x19, 0x3f, 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, - 0x90, 0x03, 0x02, 0x43, 0x1a, 0x4e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, - 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67, 0x5f, 0x69, - 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, - 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0x90, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0x90, 0x03, - 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0x90, 0x03, 0x18, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0x90, 0x03, 0x1a, 0x42, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x03, - 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0x91, 0x03, 0x02, 0x45, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x04, 0x12, 0x04, 0x91, 0x03, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x05, 0x12, 0x04, 0x91, 0x03, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0x91, 0x03, 0x12, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0x91, 0x03, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, 0x91, 0x03, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x03, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, - 0x02, 0x04, 0x06, 0x12, 0x06, 0x94, 0x03, 0x00, 0xa6, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x06, 0x01, 0x12, 0x04, 0x94, 0x03, 0x08, 0x1a, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, - 0x12, 0x04, 0x96, 0x03, 0x02, 0x1c, 0x1a, 0x39, 0x20, 0x4d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, - 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x28, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x61, 0x6c, 0x6c, 0x20, 0x69, 0x66, 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x29, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x04, 0x12, 0x04, 0x96, 0x03, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0x96, 0x03, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x03, 0x12, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x03, 0x1a, 0x1b, 0x0a, 0x2f, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0x98, 0x03, 0x02, 0x14, 0x1a, 0x21, 0x20, 0x4f, 0x6e, - 0x6c, 0x79, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x69, - 0x6d, 0x69, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x98, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x98, 0x03, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x98, 0x03, 0x12, 0x13, 0x0a, 0x41, 0x0a, 0x04, 0x04, - 0x06, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x21, 0x1a, 0x33, 0x20, 0x4f, 0x72, 0x64, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x6f, 0x72, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, - 0x73, 0x20, 0x62, 0x79, 0x20, 0x28, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x04, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x02, 0x06, 0x12, 0x04, 0x9a, 0x03, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x03, 0x17, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, - 0x02, 0x03, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, - 0x05, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, - 0x12, 0x04, 0x9b, 0x03, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, - 0x04, 0x9b, 0x03, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0x9c, - 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9c, 0x03, - 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9c, 0x03, 0x07, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9c, 0x03, 0x18, 0x19, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x05, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x03, 0x07, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9d, 0x03, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x06, 0x02, 0x06, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x06, 0x04, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, - 0x05, 0x12, 0x04, 0x9e, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, - 0x12, 0x04, 0x9e, 0x03, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, - 0x04, 0x9e, 0x03, 0x1d, 0x1e, 0x0a, 0x42, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x04, 0xa0, - 0x03, 0x02, 0x1f, 0x1a, 0x34, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x69, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x64, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x07, 0x04, 0x12, 0x04, 0xa0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, - 0x05, 0x12, 0x04, 0xa0, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x01, - 0x12, 0x04, 0xa0, 0x03, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x03, 0x12, - 0x04, 0xa0, 0x03, 0x1d, 0x1e, 0x0a, 0x51, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x08, 0x12, 0x04, 0xa2, - 0x03, 0x02, 0x20, 0x1a, 0x43, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, - 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x20, 0x69, 0x64, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, - 0x04, 0x12, 0x04, 0xa2, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x05, - 0x12, 0x04, 0xa2, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x01, 0x12, - 0x04, 0xa2, 0x03, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x03, 0x12, 0x04, - 0xa2, 0x03, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x09, 0x12, 0x04, 0xa3, 0x03, - 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x05, 0x12, 0x04, 0xa3, 0x03, 0x02, - 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x01, 0x12, 0x04, 0xa3, 0x03, 0x07, 0x16, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x09, 0x03, 0x12, 0x04, 0xa3, 0x03, 0x19, 0x1b, 0x0a, - 0x4f, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x0a, 0x12, 0x04, 0xa5, 0x03, 0x02, 0x35, 0x1a, 0x41, 0x20, - 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x61, 0x67, 0x73, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xa5, 0x03, 0x02, 0x24, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xa5, 0x03, 0x25, 0x2f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xa5, 0x03, 0x32, 0x34, 0x0a, 0x0c, 0x0a, - 0x02, 0x05, 0x00, 0x12, 0x06, 0xa7, 0x03, 0x00, 0xab, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, - 0x00, 0x01, 0x12, 0x04, 0xa7, 0x03, 0x05, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, - 0x12, 0x04, 0xa8, 0x03, 0x02, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xa8, 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, - 0xa8, 0x03, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa8, - 0x03, 0x1f, 0x32, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x00, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xa8, - 0x03, 0x20, 0x31, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x02, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa9, 0x03, 0x15, 0x16, 0x0a, - 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, 0x04, 0xaa, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x07, 0x12, 0x06, 0xac, 0x03, 0x00, 0xb0, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, - 0x12, 0x04, 0xac, 0x03, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, - 0xad, 0x03, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xad, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x03, - 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x03, 0x11, - 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xad, 0x03, 0x13, 0x3b, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xad, 0x03, - 0x14, 0x3a, 0x0a, 0x6f, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xaf, 0x03, 0x02, 0x43, - 0x1a, 0x61, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, - 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x04, 0xaf, 0x03, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x04, 0xaf, 0x03, 0x0b, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaf, 0x03, 0x10, 0x15, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaf, 0x03, 0x18, 0x19, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x04, 0xaf, 0x03, 0x1a, 0x42, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x03, 0x1b, 0x41, - 0x0a, 0x84, 0x01, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xb3, 0x03, 0x00, 0xb6, 0x03, 0x01, 0x1a, - 0x76, 0x20, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, - 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, - 0xb3, 0x03, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xb4, 0x03, - 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb4, 0x03, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb4, 0x03, 0x09, 0x10, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb4, 0x03, 0x13, 0x14, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb4, 0x03, 0x15, 0x3d, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb4, 0x03, 0x16, 0x3c, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x41, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb5, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb5, 0x03, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb5, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x03, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x09, 0x12, 0x06, 0xb7, 0x03, 0x00, 0xb9, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, - 0x01, 0x12, 0x04, 0xb7, 0x03, 0x08, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, - 0x04, 0xb8, 0x03, 0x02, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xb8, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb8, - 0x03, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb8, 0x03, - 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb8, 0x03, 0x10, - 0x38, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, - 0x03, 0x11, 0x37, 0x0a, 0x96, 0x01, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xbc, 0x03, 0x00, 0xbf, - 0x03, 0x01, 0x1a, 0x87, 0x01, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, - 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, + 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x26, + 0x3a, 0x01, 0x2a, 0x22, 0x21, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x75, 0x6d, 0x61, 0x6e, 0x46, 0x72, + 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x88, 0x02, 0x01, 0x12, 0x80, 0x02, 0x0a, 0x11, 0x56, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, + 0x27, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x97, 0x01, 0x92, 0x41, 0x6c, 0x12, 0x11, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x57, 0x56, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, + 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x01, 0x2a, 0x22, 0x1a, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x88, 0x02, 0x01, 0x12, 0xe7, 0x01, 0x0a, + 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x12, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, + 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x84, 0x01, 0x92, 0x41, 0x5b, 0x12, 0x0f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, + 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x48, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, + 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, + 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x3a, 0x01, 0x2a, 0x22, 0x18, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, + 0x73, 0x6f, 0x6e, 0x88, 0x02, 0x01, 0x12, 0x94, 0x01, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x92, 0x41, 0x27, 0x12, 0x09, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x1a, 0x1a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, + 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x14, 0x12, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x6c, 0x69, 0x73, 0x74, 0x12, 0xd9, 0x01, + 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x26, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x74, 0x92, 0x41, 0x49, 0x12, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x35, 0x52, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, + 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x7d, + 0x2f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xb8, 0x01, 0x0a, 0x0e, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x24, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, + 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, 0x92, 0x41, 0x39, 0x12, 0x0e, + 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x27, + 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, + 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, + 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xdf, 0x01, 0x0a, 0x14, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, + 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2a, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6e, 0x92, 0x41, 0x42, 0x12, 0x14, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x1a, 0x2a, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x6d, 0x75, 0x6c, + 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x22, 0x1e, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0xb1, 0x01, 0x92, 0x41, 0xad, 0x01, 0x12, 0x30, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, + 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x1a, + 0x79, 0x0a, 0x1f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, + 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, + 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, + 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, + 0x2f, 0x32, 0x36, 0x35, 0x34, 0x32, 0x31, 0x31, 0x30, 0x32, 0x42, 0x88, 0x01, 0x92, 0x41, 0x10, + 0x12, 0x0e, 0x0a, 0x0c, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x0a, 0x11, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, + 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0d, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x19, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x0f, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xf8, 0xa3, 0x02, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xfa, + 0x06, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x9b, 0x03, 0x0a, + 0x01, 0x02, 0x12, 0x03, 0x09, 0x00, 0x16, 0x1a, 0x90, 0x03, 0x20, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x20, 0x4e, 0x4f, 0x54, 0x45, 0x53, 0x20, 0x46, 0x4f, 0x52, 0x20, 0x4d, 0x41, + 0x49, 0x4e, 0x54, 0x41, 0x49, 0x4e, 0x45, 0x52, 0x53, 0x3a, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x69, 0x6e, + 0x67, 0x20, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x75, 0x6e, 0x64, 0x65, + 0x72, 0x6c, 0x79, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x20, + 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x64, 0x65, 0x70, 0x65, + 0x6e, 0x64, 0x20, 0x6f, 0x6e, 0x0a, 0x20, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x73, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x61, 0x7a, 0x69, 0x6d, 0x75, + 0x74, 0x68, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x60, 0x20, 0x70, 0x61, 0x63, + 0x6b, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x6c, 0x65, 0x20, 0x6e, + 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, + 0x0a, 0x20, 0x69, 0x6e, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x2d, 0x70, 0x61, 0x73, 0x74, 0x65, 0x20, + 0x66, 0x61, 0x73, 0x68, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x61, 0x7a, 0x69, 0x6d, + 0x75, 0x74, 0x68, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x60, 0x2e, 0x0a, 0x0a, + 0x20, 0x41, 0x6c, 0x73, 0x6f, 0x2c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x6c, + 0x6c, 0x6f, 0x77, 0x69, 0x6e, 0x67, 0x20, 0x47, 0x6f, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, + 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x74, 0x20, 0x62, 0x65, 0x74, + 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x3a, 0x0a, + 0x20, 0x2d, 0x20, 0x61, 0x7a, 0x69, 0x6d, 0x75, 0x74, 0x68, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x2e, 0x72, 0x65, 0x70, 0x6f, 0x2e, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x76, 0x31, + 0x2e, 0x70, 0x62, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x0a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, + 0x12, 0x03, 0x0b, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x0c, 0x00, 0x29, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x0d, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x0e, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x0f, 0x00, + 0x2f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x10, 0x00, 0x37, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x06, 0x12, 0x03, 0x11, 0x00, 0x37, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x12, + 0x00, 0x3a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x08, 0x12, 0x03, 0x13, 0x00, 0x29, 0x0a, 0x09, 0x0a, + 0x01, 0x08, 0x12, 0x04, 0x15, 0x00, 0x17, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, + 0x04, 0x15, 0x00, 0x17, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x16, + 0x02, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x16, 0x09, 0x1e, + 0x0a, 0x0b, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x05, 0x19, 0x00, 0xbc, 0x02, 0x01, 0x0a, 0x0a, 0x0a, + 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x19, 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, + 0x12, 0x04, 0x1a, 0x02, 0x20, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, + 0x04, 0x1a, 0x02, 0x20, 0x04, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, + 0x03, 0x1b, 0x04, 0x43, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, + 0x1c, 0x04, 0x1f, 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, + 0x03, 0x1d, 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, + 0x03, 0x1e, 0x06, 0x34, 0x0a, 0x42, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x23, 0x02, + 0x2c, 0x03, 0x1a, 0x34, 0x20, 0x51, 0x75, 0x65, 0x72, 0x69, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x70, 0x61, 0x72, 0x61, + 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x23, 0x06, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, + 0x03, 0x23, 0x12, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x23, + 0x2f, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x24, 0x04, 0x27, + 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, + 0x24, 0x04, 0x27, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x04, 0x12, 0x03, 0x25, 0x06, 0x22, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x26, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x12, 0x04, 0x28, 0x04, 0x2b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x28, 0x04, 0x2b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, + 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x29, 0x06, 0x1c, 0x0a, 0x0f, 0x0a, 0x08, 0x06, + 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x2a, 0x06, 0x47, 0x0a, 0x37, 0x0a, 0x04, + 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x2f, 0x02, 0x35, 0x03, 0x1a, 0x29, 0x20, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, + 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, + 0x2f, 0x06, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x2f, 0x0e, + 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x2f, 0x27, 0x36, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x30, 0x04, 0x36, 0x0a, 0x10, 0x0a, + 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x30, 0x04, 0x36, 0x0a, + 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x30, + 0x20, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x31, 0x04, 0x34, + 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x31, 0x04, + 0x34, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, + 0x32, 0x06, 0x18, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, + 0x03, 0x33, 0x06, 0x3c, 0x0a, 0x28, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x38, 0x02, + 0x41, 0x03, 0x1a, 0x1a, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x6d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x38, 0x06, 0x13, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x38, 0x14, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x03, 0x12, 0x03, 0x38, 0x33, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, + 0x04, 0x12, 0x04, 0x39, 0x04, 0x3c, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x39, 0x04, 0x3c, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x3a, 0x06, 0x24, 0x0a, 0x11, 0x0a, + 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x3b, 0x06, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x3d, 0x04, 0x40, 0x06, 0x0a, + 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x3d, 0x04, 0x40, 0x06, + 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x3e, 0x06, + 0x1e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x3f, + 0x06, 0x2e, 0x0a, 0x1f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x44, 0x02, 0x4d, 0x03, + 0x1a, 0x11, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x44, 0x06, + 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x44, 0x11, 0x22, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x44, 0x2d, 0x3f, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x45, 0x04, 0x48, 0x06, 0x0a, 0x11, 0x0a, 0x09, + 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x45, 0x04, 0x48, 0x06, 0x0a, + 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x46, + 0x06, 0x1b, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, + 0x12, 0x03, 0x47, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, + 0x49, 0x04, 0x4c, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, + 0x04, 0x49, 0x04, 0x4c, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, + 0x02, 0x12, 0x03, 0x4a, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, + 0x08, 0x03, 0x12, 0x03, 0x4b, 0x06, 0x24, 0x0a, 0x29, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, + 0x04, 0x50, 0x02, 0x59, 0x03, 0x1a, 0x1b, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x50, 0x06, 0x10, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x50, 0x11, 0x22, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x50, 0x2d, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x51, 0x04, 0x54, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, + 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x51, 0x04, 0x54, 0x06, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x03, 0x12, 0x03, 0x52, 0x06, + 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, + 0x03, 0x53, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x55, + 0x04, 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, + 0x55, 0x04, 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, + 0x12, 0x03, 0x56, 0x06, 0x1b, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x03, 0x57, 0x06, 0x2e, 0x0a, 0x4a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, + 0x5c, 0x02, 0x65, 0x03, 0x1a, 0x3c, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x6f, 0x72, + 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x61, 0x74, 0x20, 0x64, 0x6f, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x5c, 0x06, 0x16, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x5c, 0x17, 0x2e, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x5c, 0x39, 0x51, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, + 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x03, 0x12, 0x03, 0x5e, 0x06, + 0x26, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, + 0x03, 0x5f, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x61, + 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, + 0x61, 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, + 0x12, 0x03, 0x62, 0x06, 0x21, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x03, 0x63, 0x06, 0x4f, 0x0a, 0x47, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, + 0x69, 0x02, 0x73, 0x03, 0x1a, 0x39, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, + 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x41, 0x72, + 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x69, 0x06, 0x10, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x69, 0x11, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x69, 0x2d, 0x3f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x06, 0x04, 0x12, 0x03, 0x6a, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x06, 0x04, + 0x21, 0x12, 0x03, 0x6a, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, + 0x04, 0x6b, 0x04, 0x6e, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x12, 0x04, 0x6b, 0x04, 0x6e, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x6c, 0x06, 0x22, 0x0a, 0x11, 0x0a, 0x0a, 0x06, + 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x6d, 0x06, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x0f, 0x0a, + 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x6f, 0x04, 0x72, 0x06, 0x0a, 0x0f, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x70, 0x06, 0x1b, 0x0a, + 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x71, 0x06, 0x4a, + 0x0a, 0x20, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x76, 0x02, 0x7f, 0x03, 0x1a, 0x12, + 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x76, 0x06, 0x11, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x76, 0x12, 0x24, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x76, 0x2f, 0x42, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x77, 0x04, 0x7a, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, + 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x77, 0x04, 0x7a, 0x06, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x78, 0x06, + 0x23, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, + 0x03, 0x79, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x7b, + 0x04, 0x7e, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, + 0x7b, 0x04, 0x7e, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, + 0x12, 0x03, 0x7c, 0x06, 0x1c, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x03, 0x7d, 0x06, 0x25, 0x0a, 0x57, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x06, + 0x83, 0x01, 0x02, 0x8d, 0x01, 0x03, 0x1a, 0x47, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0x83, 0x01, 0x06, 0x16, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x04, 0x83, 0x01, 0x17, 0x2e, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0x83, 0x01, 0x39, 0x51, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x04, 0x84, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, + 0x00, 0x02, 0x08, 0x04, 0x21, 0x12, 0x04, 0x84, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x08, 0x04, 0x12, 0x06, 0x85, 0x01, 0x04, 0x88, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, + 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x85, 0x01, 0x04, 0x88, 0x01, + 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, + 0x04, 0x86, 0x01, 0x06, 0x27, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x07, 0x12, 0x04, 0x87, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x08, 0x04, 0x12, 0x06, 0x89, 0x01, 0x04, 0x8c, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, + 0x02, 0x08, 0x04, 0x92, 0x08, 0x12, 0x06, 0x89, 0x01, 0x04, 0x8c, 0x01, 0x06, 0x0a, 0x10, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x8a, 0x01, 0x06, 0x21, 0x0a, + 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x8b, 0x01, 0x06, + 0x58, 0x0a, 0x27, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, 0x06, 0x90, 0x01, 0x02, 0x99, 0x01, + 0x03, 0x1a, 0x17, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x09, 0x01, 0x12, 0x04, 0x90, 0x01, 0x06, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x09, 0x02, 0x12, 0x04, 0x90, 0x01, 0x18, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, + 0x03, 0x12, 0x04, 0x90, 0x01, 0x3b, 0x54, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, + 0x12, 0x06, 0x91, 0x01, 0x04, 0x94, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x09, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x91, 0x01, 0x04, 0x94, 0x01, 0x06, 0x0a, 0x12, 0x0a, + 0x0a, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x92, 0x01, 0x06, + 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, + 0x04, 0x93, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, 0x06, + 0x95, 0x01, 0x04, 0x98, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, + 0x08, 0x12, 0x06, 0x95, 0x01, 0x04, 0x98, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x09, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x96, 0x01, 0x06, 0x22, 0x0a, 0x10, 0x0a, 0x08, 0x06, + 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x97, 0x01, 0x06, 0x2a, 0x0a, 0x24, 0x0a, + 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, 0x06, 0x9c, 0x01, 0x02, 0xa5, 0x01, 0x03, 0x1a, 0x14, 0x20, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x04, 0x9c, 0x01, + 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x04, 0x9c, 0x01, 0x14, + 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x33, 0x48, + 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x06, 0x9d, 0x01, 0x04, 0xa0, 0x01, + 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, + 0x9d, 0x01, 0x04, 0xa0, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0a, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x9e, 0x01, 0x06, 0x25, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x9f, 0x01, 0x06, 0x0f, 0x0a, 0x0f, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x06, 0xa1, 0x01, 0x04, 0xa4, 0x01, 0x06, 0x0a, + 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, 0x12, 0x06, 0xa1, 0x01, 0x04, 0xa4, + 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, + 0xa2, 0x01, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, 0x03, + 0x12, 0x04, 0xa3, 0x01, 0x06, 0x27, 0x0a, 0x29, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0b, 0x12, 0x06, + 0xa8, 0x01, 0x02, 0xb1, 0x01, 0x03, 0x1a, 0x19, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, + 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xa8, 0x01, 0x06, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x02, 0x12, 0x04, 0xa8, 0x01, 0x1a, 0x34, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xa8, 0x01, 0x3f, 0x5a, 0x0a, 0x0f, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0xa9, 0x01, 0x04, 0xac, 0x01, 0x06, 0x0a, + 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xa9, 0x01, + 0x04, 0xac, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x04, 0x12, 0x04, 0xaa, 0x01, 0x06, 0x2a, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xab, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0xad, 0x01, 0x04, 0xb0, 0x01, 0x06, 0x0a, 0x11, 0x0a, + 0x07, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x12, 0x06, 0xad, 0x01, 0x04, 0xb0, 0x01, 0x06, + 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xae, 0x01, + 0x06, 0x24, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, + 0xaf, 0x01, 0x06, 0x2c, 0x0a, 0x4c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0c, 0x12, 0x06, 0xb5, 0x01, + 0x02, 0xbf, 0x01, 0x03, 0x1a, 0x3c, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, + 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xb5, 0x01, 0x06, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x04, 0xb5, 0x01, 0x13, 0x26, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x31, 0x45, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xb6, 0x01, 0x04, 0x1d, 0x0a, 0x0e, + 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x21, 0x12, 0x04, 0xb6, 0x01, 0x04, 0x1d, 0x0a, 0x0f, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x06, 0xb7, 0x01, 0x04, 0xba, 0x01, 0x06, 0x0a, + 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xb7, 0x01, + 0x04, 0xba, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x04, 0x12, 0x04, 0xb8, 0x01, 0x06, 0x24, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xb9, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x0c, 0x04, 0x12, 0x06, 0xbb, 0x01, 0x04, 0xbe, 0x01, 0x06, 0x0a, 0x11, 0x0a, + 0x07, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x12, 0x06, 0xbb, 0x01, 0x04, 0xbe, 0x01, 0x06, + 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xbc, 0x01, + 0x06, 0x1d, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, + 0xbd, 0x01, 0x06, 0x3b, 0x0a, 0x5a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0d, 0x12, 0x06, 0xc3, 0x01, + 0x02, 0xcd, 0x01, 0x03, 0x1a, 0x4a, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, + 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x06, 0x18, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x02, 0x12, 0x04, 0xc3, 0x01, 0x19, 0x32, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xc3, 0x01, 0x3d, 0x57, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x04, 0xc4, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, + 0x06, 0x00, 0x02, 0x0d, 0x04, 0x21, 0x12, 0x04, 0xc4, 0x01, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x06, 0xc5, 0x01, 0x04, 0xc8, 0x01, 0x06, 0x0a, 0x13, 0x0a, + 0x09, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0xc5, 0x01, 0x04, 0xc8, + 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, + 0x12, 0x04, 0xc6, 0x01, 0x06, 0x29, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0d, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xc7, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x0d, 0x04, 0x12, 0x06, 0xc9, 0x01, 0x04, 0xcc, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x0d, 0x04, 0x92, 0x08, 0x12, 0x06, 0xc9, 0x01, 0x04, 0xcc, 0x01, 0x06, 0x0a, 0x10, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xca, 0x01, 0x06, 0x23, + 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0d, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xcb, 0x01, + 0x06, 0x41, 0x0a, 0x41, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0e, 0x12, 0x06, 0xd0, 0x01, 0x02, 0xda, + 0x01, 0x03, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x04, + 0xd0, 0x01, 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x02, 0x12, 0x04, 0xd0, + 0x01, 0x14, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xd0, 0x01, + 0x33, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xd1, 0x01, 0x04, + 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x21, 0x12, 0x04, 0xd1, 0x01, 0x04, + 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x06, 0xd2, 0x01, 0x04, 0xd5, + 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, + 0x06, 0xd2, 0x01, 0x04, 0xd5, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0e, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xd3, 0x01, 0x06, 0x24, 0x0a, 0x12, 0x0a, 0x0a, 0x06, + 0x00, 0x02, 0x0e, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xd4, 0x01, 0x06, 0x0f, 0x0a, + 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x06, 0xd6, 0x01, 0x04, 0xd9, 0x01, 0x06, + 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x92, 0x08, 0x12, 0x06, 0xd6, 0x01, 0x04, + 0xd9, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x92, 0x08, 0x02, 0x12, + 0x04, 0xd7, 0x01, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0e, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x04, 0xd8, 0x01, 0x06, 0x5f, 0x0a, 0x7f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0f, 0x12, + 0x06, 0xdd, 0x01, 0x02, 0xe4, 0x01, 0x03, 0x1a, 0x6f, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x4a, + 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, + 0x2e, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, + 0x4e, 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, + 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, + 0x01, 0x12, 0x04, 0xdd, 0x01, 0x06, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x02, + 0x12, 0x04, 0xdd, 0x01, 0x1d, 0x3a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x03, 0x12, + 0x04, 0xdd, 0x01, 0x45, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x12, 0x04, + 0xde, 0x01, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x21, 0x12, 0x04, + 0xde, 0x01, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x12, 0x04, 0xdf, + 0x01, 0x04, 0x48, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0f, 0x04, 0xb0, 0xca, 0xbc, 0x22, + 0x12, 0x04, 0xdf, 0x01, 0x04, 0x48, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0f, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xdf, 0x01, 0x20, 0x46, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x0f, 0x04, 0x12, 0x06, 0xe0, 0x01, 0x04, 0xe3, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x0f, 0x04, 0x92, 0x08, 0x12, 0x06, 0xe0, 0x01, 0x04, 0xe3, 0x01, 0x06, 0x0a, 0x10, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xe1, 0x01, 0x06, 0x27, + 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0f, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xe2, 0x01, + 0x06, 0x5a, 0x0a, 0x7f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x10, 0x12, 0x06, 0xe7, 0x01, 0x02, 0xee, + 0x01, 0x03, 0x1a, 0x6f, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x61, + 0x6c, 0x6c, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, + 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x01, 0x12, 0x04, 0xe7, 0x01, + 0x06, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x02, 0x12, 0x04, 0xe7, 0x01, 0x14, + 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x03, 0x12, 0x04, 0xe7, 0x01, 0x33, 0x48, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x04, 0xe8, 0x01, 0x04, 0x1d, 0x0a, + 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x10, 0x04, 0x21, 0x12, 0x04, 0xe8, 0x01, 0x04, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x04, 0xe9, 0x01, 0x04, 0x3f, 0x0a, 0x11, + 0x0a, 0x09, 0x06, 0x00, 0x02, 0x10, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0xe9, 0x01, 0x04, + 0x3f, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x10, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, + 0x04, 0xe9, 0x01, 0x20, 0x3d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x10, 0x04, 0x12, 0x06, + 0xea, 0x01, 0x04, 0xed, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x10, 0x04, 0x92, + 0x08, 0x12, 0x06, 0xea, 0x01, 0x04, 0xed, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x10, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xeb, 0x01, 0x06, 0x1e, 0x0a, 0x10, 0x0a, 0x08, 0x06, + 0x00, 0x02, 0x10, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xec, 0x01, 0x06, 0x5a, 0x0a, 0x85, 0x01, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x11, 0x12, 0x06, 0xf1, 0x01, 0x02, 0xfb, 0x01, 0x03, 0x1a, 0x75, + 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, + 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x42, 0x61, 0x74, 0x63, + 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, + 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, + 0xf1, 0x01, 0x06, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x02, 0x12, 0x04, 0xf1, + 0x01, 0x1f, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0xf1, 0x01, + 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, 0x12, 0x04, 0xf2, 0x01, 0x04, + 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x11, 0x04, 0x21, 0x12, 0x04, 0xf2, 0x01, 0x04, + 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, 0x12, 0x06, 0xf3, 0x01, 0x04, 0xf6, + 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, + 0x06, 0xf3, 0x01, 0x04, 0xf6, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x11, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xf4, 0x01, 0x06, 0x2f, 0x0a, 0x12, 0x0a, 0x0a, 0x06, + 0x00, 0x02, 0x11, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xf5, 0x01, 0x06, 0x0f, 0x0a, + 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x11, 0x04, 0x12, 0x06, 0xf7, 0x01, 0x04, 0xfa, 0x01, 0x06, + 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x11, 0x04, 0x92, 0x08, 0x12, 0x06, 0xf7, 0x01, 0x04, + 0xfa, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x11, 0x04, 0x92, 0x08, 0x02, 0x12, + 0x04, 0xf8, 0x01, 0x06, 0x29, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x11, 0x04, 0x92, 0x08, + 0x03, 0x12, 0x04, 0xf9, 0x01, 0x06, 0x5d, 0x0a, 0xca, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x12, + 0x12, 0x06, 0xfe, 0x01, 0x02, 0x88, 0x02, 0x03, 0x1a, 0xb9, 0x01, 0x20, 0x44, 0x65, 0x70, 0x72, + 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x56, + 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, + 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, + 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x64, 0x72, 0x79, 0x2d, 0x72, 0x75, 0x6e, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0xfe, + 0x01, 0x06, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x02, 0x12, 0x04, 0xfe, 0x01, + 0x18, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x3b, + 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, 0x04, 0xff, 0x01, 0x04, 0x1d, + 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x12, 0x04, 0x21, 0x12, 0x04, 0xff, 0x01, 0x04, 0x1d, + 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, 0x06, 0x80, 0x02, 0x04, 0x83, 0x02, + 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, + 0x80, 0x02, 0x04, 0x83, 0x02, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x12, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0x81, 0x02, 0x06, 0x28, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x12, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x82, 0x02, 0x06, 0x0f, 0x0a, 0x0f, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x12, 0x04, 0x12, 0x06, 0x84, 0x02, 0x04, 0x87, 0x02, 0x06, 0x0a, + 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x12, 0x04, 0x92, 0x08, 0x12, 0x06, 0x84, 0x02, 0x04, 0x87, + 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x12, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, + 0x85, 0x02, 0x06, 0x22, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x12, 0x04, 0x92, 0x08, 0x03, + 0x12, 0x04, 0x86, 0x02, 0x06, 0x6c, 0x0a, 0x85, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x13, 0x12, + 0x06, 0x8b, 0x02, 0x02, 0x95, 0x02, 0x03, 0x1a, 0x75, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x73, 0x74, + 0x65, 0x61, 0x64, 0x2e, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x5f, 0x6a, 0x73, 0x6f, 0x6e, 0x60, 0x20, 0x77, + 0x68, 0x69, 0x63, 0x68, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, 0x01, 0x12, 0x04, 0x8b, 0x02, 0x06, 0x15, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x13, 0x02, 0x12, 0x04, 0x8b, 0x02, 0x16, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0x8b, 0x02, 0x37, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x8c, 0x02, 0x04, 0x1d, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, + 0x02, 0x13, 0x04, 0x21, 0x12, 0x04, 0x8c, 0x02, 0x04, 0x1d, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x13, 0x04, 0x12, 0x06, 0x8d, 0x02, 0x04, 0x90, 0x02, 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, + 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x8d, 0x02, 0x04, 0x90, 0x02, 0x06, + 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, + 0x8e, 0x02, 0x06, 0x26, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x13, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x07, 0x12, 0x04, 0x8f, 0x02, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x13, + 0x04, 0x12, 0x06, 0x91, 0x02, 0x04, 0x94, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, + 0x13, 0x04, 0x92, 0x08, 0x12, 0x06, 0x91, 0x02, 0x04, 0x94, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, + 0x06, 0x00, 0x02, 0x13, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x92, 0x02, 0x06, 0x20, 0x0a, 0x10, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x13, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x93, 0x02, 0x06, 0x5d, + 0x0a, 0x0e, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x14, 0x12, 0x06, 0x97, 0x02, 0x02, 0x9d, 0x02, 0x03, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x01, 0x12, 0x04, 0x97, 0x02, 0x06, 0x0f, 0x0a, + 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x02, 0x12, 0x04, 0x97, 0x02, 0x10, 0x20, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x03, 0x12, 0x04, 0x97, 0x02, 0x2b, 0x3c, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x14, 0x04, 0x12, 0x04, 0x98, 0x02, 0x04, 0x3b, 0x0a, 0x11, 0x0a, 0x09, + 0x06, 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x98, 0x02, 0x04, 0x3b, 0x0a, + 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x14, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0x98, + 0x02, 0x20, 0x39, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x14, 0x04, 0x12, 0x06, 0x99, 0x02, + 0x04, 0x9c, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x14, 0x04, 0x92, 0x08, 0x12, + 0x06, 0x99, 0x02, 0x04, 0x9c, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x14, 0x04, + 0x92, 0x08, 0x02, 0x12, 0x04, 0x9a, 0x02, 0x06, 0x1a, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x14, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x9b, 0x02, 0x06, 0x2f, 0x0a, 0x47, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x15, 0x12, 0x06, 0xa0, 0x02, 0x02, 0xa6, 0x02, 0x03, 0x1a, 0x37, 0x20, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x01, 0x12, 0x04, 0xa0, + 0x02, 0x06, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x02, 0x12, 0x04, 0xa0, 0x02, + 0x17, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x03, 0x12, 0x04, 0xa0, 0x02, 0x39, + 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x04, 0x12, 0x04, 0xa1, 0x02, 0x04, 0x49, + 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x15, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0xa1, + 0x02, 0x04, 0x49, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x15, 0x04, 0xb0, 0xca, 0xbc, 0x22, + 0x02, 0x12, 0x04, 0xa1, 0x02, 0x20, 0x47, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x15, 0x04, + 0x12, 0x06, 0xa2, 0x02, 0x04, 0xa5, 0x02, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x15, + 0x04, 0x92, 0x08, 0x12, 0x06, 0xa2, 0x02, 0x04, 0xa5, 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, + 0x00, 0x02, 0x15, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xa3, 0x02, 0x06, 0x21, 0x0a, 0x10, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x15, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0xa4, 0x02, 0x06, 0x4a, 0x0a, + 0x39, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x16, 0x12, 0x06, 0xa9, 0x02, 0x02, 0xaf, 0x02, 0x03, 0x1a, + 0x29, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x16, 0x01, 0x12, 0x04, 0xa9, 0x02, 0x06, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x16, 0x02, 0x12, 0x04, 0xa9, 0x02, 0x15, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, + 0x03, 0x12, 0x04, 0xa9, 0x02, 0x35, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x16, 0x04, + 0x12, 0x04, 0xaa, 0x02, 0x04, 0x3e, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x16, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x12, 0x04, 0xaa, 0x02, 0x04, 0x3e, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, + 0x16, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0xaa, 0x02, 0x20, 0x3c, 0x0a, 0x0f, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x16, 0x04, 0x12, 0x06, 0xab, 0x02, 0x04, 0xae, 0x02, 0x06, 0x0a, 0x11, + 0x0a, 0x07, 0x06, 0x00, 0x02, 0x16, 0x04, 0x92, 0x08, 0x12, 0x06, 0xab, 0x02, 0x04, 0xae, 0x02, + 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x16, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0xac, + 0x02, 0x06, 0x1f, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x16, 0x04, 0x92, 0x08, 0x03, 0x12, + 0x04, 0xad, 0x02, 0x06, 0x3c, 0x0a, 0x3c, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x17, 0x12, 0x06, 0xb2, + 0x02, 0x02, 0xbb, 0x02, 0x03, 0x1a, 0x2c, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, + 0x73, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, + 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x01, 0x12, 0x04, 0xb2, 0x02, + 0x06, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x02, 0x12, 0x04, 0xb2, 0x02, 0x1b, + 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x03, 0x12, 0x04, 0xb2, 0x02, 0x41, 0x5d, + 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x04, 0x12, 0x06, 0xb3, 0x02, 0x04, 0xb6, 0x02, + 0x06, 0x0a, 0x13, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, + 0xb3, 0x02, 0x04, 0xb6, 0x02, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x17, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x04, 0x12, 0x04, 0xb4, 0x02, 0x06, 0x2c, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x17, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0xb5, 0x02, 0x06, 0x0f, 0x0a, 0x0f, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x17, 0x04, 0x12, 0x06, 0xb7, 0x02, 0x04, 0xba, 0x02, 0x06, 0x0a, + 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x17, 0x04, 0x92, 0x08, 0x12, 0x06, 0xb7, 0x02, 0x04, 0xba, + 0x02, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x17, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, + 0xb8, 0x02, 0x06, 0x25, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x17, 0x04, 0x92, 0x08, 0x03, + 0x12, 0x04, 0xb9, 0x02, 0x06, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x06, 0xbe, 0x02, + 0x00, 0xe9, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x02, 0x08, + 0x0c, 0x0a, 0x4e, 0x0a, 0x03, 0x04, 0x00, 0x09, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x0d, 0x1a, 0x41, + 0x20, 0x35, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, + 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x22, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x20, + 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x09, 0x00, 0x12, 0x04, 0xc0, 0x02, 0x0b, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x01, 0x12, 0x04, 0xc0, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x09, 0x00, 0x02, 0x12, 0x04, 0xc0, 0x02, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x04, 0xc1, 0x02, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc1, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xc1, 0x02, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xc1, 0x02, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc1, 0x02, 0x16, 0x3c, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x01, 0x12, 0x06, 0xc2, 0x02, 0x02, 0xc5, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x01, 0x05, 0x12, 0x04, 0xc2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xc2, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xc2, 0x02, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, + 0x06, 0xc2, 0x02, 0x16, 0xc5, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x00, 0x02, + 0x01, 0x08, 0x03, 0x12, 0x04, 0xc4, 0x02, 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x02, 0x12, 0x04, 0xc6, 0x02, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, + 0x12, 0x04, 0xc6, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xc6, 0x02, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xc6, 0x02, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0xc6, + 0x02, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xc6, 0x02, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0xc7, + 0x02, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x04, 0xc7, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc7, 0x02, 0x09, + 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc7, 0x02, 0x17, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc7, 0x02, 0x19, 0x41, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x02, 0x1a, + 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x04, 0xc8, 0x02, 0x02, 0x3f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x04, 0xc8, 0x02, 0x02, 0x06, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xc8, 0x02, 0x07, 0x11, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x04, 0xc8, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x04, 0xc8, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x02, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x04, 0xc9, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0xc9, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x05, 0x01, 0x12, 0x04, 0xc9, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x03, 0x12, 0x04, 0xc9, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x08, 0x12, 0x04, 0xc9, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x06, 0x12, 0x04, 0xca, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, + 0x12, 0x04, 0xca, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, + 0x04, 0xca, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, + 0xca, 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x04, 0xca, + 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xca, 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x04, 0xcb, + 0x02, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x05, 0x12, 0x04, 0xcb, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x09, + 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0xcb, 0x02, 0x1e, 0x1f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x04, 0xcb, 0x02, 0x20, 0x48, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x02, 0x21, + 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x04, 0xcc, 0x02, 0x02, 0x4b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x04, 0xcc, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0xcc, 0x02, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0xcc, 0x02, 0x1f, 0x21, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x04, 0xcc, 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcc, 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x09, 0x05, 0x12, 0x04, 0xcd, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x09, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x09, 0x03, 0x12, 0x04, 0xcd, 0x02, 0x1b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, + 0x08, 0x12, 0x04, 0xcd, 0x02, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcd, 0x02, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x0a, 0x12, 0x04, 0xce, 0x02, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x04, + 0x12, 0x04, 0xce, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x06, 0x12, + 0x04, 0xce, 0x02, 0x0b, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x04, + 0xce, 0x02, 0x19, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xce, + 0x02, 0x26, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x04, 0xce, 0x02, + 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xce, 0x02, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x04, 0xcf, 0x02, + 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x06, 0x12, 0x04, 0xcf, 0x02, 0x02, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xcf, 0x02, 0x0e, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xcf, 0x02, 0x1d, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xcf, 0x02, 0x20, 0x48, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x02, 0x21, 0x47, + 0x0a, 0x6d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x04, 0xd2, 0x02, 0x02, 0x42, 0x1a, 0x5f, + 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, + 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, + 0x69, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x04, 0xd2, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xd2, 0x02, 0x09, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xd2, 0x02, 0x16, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xd2, 0x02, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd2, 0x02, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x0d, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x5b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0d, 0x06, 0x12, 0x04, 0xd4, 0x02, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x0d, 0x01, 0x12, 0x04, 0xd4, 0x02, 0x19, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0d, 0x03, 0x12, 0x04, 0xd4, 0x02, 0x2f, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, + 0x08, 0x12, 0x04, 0xd4, 0x02, 0x32, 0x5a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd4, 0x02, 0x33, 0x59, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x0e, 0x12, 0x04, 0xd5, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x06, + 0x12, 0x04, 0xd5, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, + 0x04, 0xd5, 0x02, 0x15, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, + 0xd5, 0x02, 0x2b, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xd5, + 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xd5, 0x02, 0x2f, 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0f, 0x12, 0x06, 0xd6, + 0x02, 0x02, 0xd9, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x06, 0x12, 0x04, + 0xd6, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x04, 0xd6, + 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x04, 0xd6, 0x02, + 0x2b, 0x2d, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x12, 0x06, 0xd6, 0x02, 0x2e, + 0xd9, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xd7, 0x02, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x03, 0x12, + 0x04, 0xd8, 0x02, 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x10, 0x12, 0x04, 0xda, + 0x02, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x05, 0x12, 0x04, 0xda, 0x02, + 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x01, 0x12, 0x04, 0xda, 0x02, 0x07, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, 0x12, 0x04, 0xda, 0x02, 0x15, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, 0x04, 0xda, 0x02, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x02, 0x19, + 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x04, 0xdb, 0x02, 0x02, 0x61, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x04, 0x12, 0x04, 0xdb, 0x02, 0x02, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x06, 0x12, 0x04, 0xdb, 0x02, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0xdb, 0x02, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0xdb, 0x02, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x11, 0x08, 0x12, 0x04, 0xdb, 0x02, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdb, 0x02, 0x39, 0x5f, 0x0a, 0x42, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x12, 0x12, 0x04, 0xde, 0x02, 0x02, 0x58, 0x1a, 0x34, 0x20, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x06, 0x12, 0x04, 0xde, 0x02, 0x02, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0xde, 0x02, 0x1c, 0x29, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0xde, 0x02, 0x2c, 0x2e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x12, 0x08, 0x12, 0x04, 0xde, 0x02, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x00, 0x02, 0x12, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xde, 0x02, 0x30, 0x56, 0x0a, 0x4b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x13, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x41, 0x1a, 0x3d, 0x20, 0x69, + 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, + 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x13, 0x05, 0x12, 0x04, 0xe1, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x13, 0x01, 0x12, 0x04, 0xe1, 0x02, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x13, 0x03, 0x12, 0x04, 0xe1, 0x02, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, + 0x08, 0x12, 0x04, 0xe1, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x13, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe1, 0x02, 0x19, 0x3f, 0x0a, 0xbe, 0x01, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x14, 0x12, 0x04, 0xe5, 0x02, 0x02, 0x50, 0x1a, 0xaf, 0x01, 0x20, 0x49, 0x66, 0x20, 0x73, + 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x74, 0x72, 0x75, 0x65, 0x60, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, + 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x73, 0x74, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, + 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x14, 0x05, 0x12, 0x04, 0xe5, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x14, 0x01, 0x12, 0x04, 0xe5, 0x02, 0x07, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x14, + 0x03, 0x12, 0x04, 0xe5, 0x02, 0x24, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x14, 0x08, + 0x12, 0x04, 0xe5, 0x02, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x14, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xe5, 0x02, 0x28, 0x4e, 0x0a, 0xa9, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x15, 0x12, 0x04, 0xe8, 0x02, 0x02, 0x4a, 0x1a, 0x9a, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, + 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x68, + 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, 0x05, 0x12, 0x04, 0xe8, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, 0x01, 0x12, 0x04, 0xe8, 0x02, + 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, 0x03, 0x12, 0x04, 0xe8, 0x02, 0x1e, + 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x15, 0x08, 0x12, 0x04, 0xe8, 0x02, 0x21, 0x49, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x15, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, 0x02, + 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0xeb, 0x02, 0x00, 0xf7, 0x02, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xeb, 0x02, 0x08, 0x15, 0x0a, 0x5b, 0x0a, + 0x03, 0x04, 0x01, 0x09, 0x12, 0x04, 0xed, 0x02, 0x02, 0x0d, 0x1a, 0x4e, 0x20, 0x34, 0x20, 0x69, + 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, + 0x6f, 0x6c, 0x64, 0x20, 0x22, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x20, 0x63, 0x6f, 0x6c, + 0x75, 0x6d, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x64, 0x20, 0x64, + 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x20, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, + 0x09, 0x00, 0x12, 0x04, 0xed, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x09, 0x00, + 0x01, 0x12, 0x04, 0xed, 0x02, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x09, 0x00, 0x02, + 0x12, 0x04, 0xed, 0x02, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, + 0xee, 0x02, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0xee, + 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x02, + 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x02, 0x1d, + 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x02, 0x1f, 0x47, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x02, + 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x04, 0xef, 0x02, 0x02, 0x3e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x05, 0x12, 0x04, 0xef, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xef, 0x02, 0x09, 0x10, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x04, 0xef, 0x02, 0x13, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, 0xef, 0x02, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xef, 0x02, 0x16, 0x3c, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf0, 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x02, 0x1a, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xf0, 0x02, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x02, 0x08, 0x12, 0x04, 0xf0, 0x02, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x02, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, + 0x02, 0x03, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, + 0x06, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, + 0x12, 0x04, 0xf1, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, + 0x04, 0xf1, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x04, + 0xf1, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xf1, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x04, 0x12, 0x04, + 0xf2, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x06, 0x12, 0x04, 0xf2, + 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf2, 0x02, + 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf2, 0x02, 0x2c, + 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x08, 0x12, 0x04, 0xf2, 0x02, 0x2e, 0x56, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf2, 0x02, + 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x49, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x05, 0x12, 0x04, 0xf3, 0x02, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, 0x04, 0xf3, 0x02, 0x09, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x04, 0xf3, 0x02, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x05, 0x08, 0x12, 0x04, 0xf3, 0x02, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x01, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf3, 0x02, 0x21, 0x47, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x04, 0xf4, 0x02, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x01, 0x02, 0x06, 0x05, 0x12, 0x04, 0xf4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x06, 0x01, 0x12, 0x04, 0xf4, 0x02, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, + 0x02, 0x06, 0x03, 0x12, 0x04, 0xf4, 0x02, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x06, 0x08, 0x12, 0x04, 0xf4, 0x02, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x06, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf4, 0x02, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, + 0x02, 0x07, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, + 0x04, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x06, + 0x12, 0x04, 0xf5, 0x02, 0x0b, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, + 0x04, 0xf5, 0x02, 0x16, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, 0x04, + 0xf5, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x08, 0x12, 0x04, 0xf5, + 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xf5, 0x02, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x08, 0x12, 0x04, 0xf6, + 0x02, 0x02, 0x51, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x05, 0x12, 0x04, 0xf6, 0x02, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x01, 0x12, 0x04, 0xf6, 0x02, 0x09, + 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x03, 0x12, 0x04, 0xf6, 0x02, 0x25, 0x27, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x08, 0x12, 0x04, 0xf6, 0x02, 0x28, 0x50, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x02, 0x29, + 0x4f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xf8, 0x02, 0x00, 0x82, 0x03, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0xf8, 0x02, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xf9, 0x02, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x00, 0x05, 0x12, 0x04, 0xf9, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xf9, 0x02, 0x09, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xf9, 0x02, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xf9, 0x02, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xf9, 0x02, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xfa, 0x02, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, + 0x04, 0xfa, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xfa, 0x02, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfa, + 0x02, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfa, 0x02, + 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xfa, 0x02, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x02, 0x12, 0x04, 0xfb, 0x02, + 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x06, 0x12, 0x04, 0xfb, 0x02, 0x02, + 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x02, 0x0d, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfb, 0x02, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x02, 0x08, 0x12, 0x04, 0xfb, 0x02, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x02, 0x1e, 0x44, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfc, 0x02, 0x02, 0x55, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x03, 0x06, 0x12, 0x04, 0xfc, 0x02, 0x02, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xfc, 0x02, 0x1a, 0x27, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x03, 0x03, 0x12, 0x04, 0xfc, 0x02, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x03, 0x08, 0x12, 0x04, 0xfc, 0x02, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, + 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x02, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x04, 0x12, 0x04, 0xfd, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x04, 0x06, 0x12, 0x04, 0xfd, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x04, 0x01, 0x12, 0x04, 0xfd, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, + 0x03, 0x12, 0x04, 0xfd, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x04, 0x08, + 0x12, 0x04, 0xfd, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x04, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xfd, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x05, + 0x12, 0x04, 0xfe, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x06, 0x12, + 0x04, 0xfe, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, + 0xfe, 0x02, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x03, 0x12, 0x04, 0xfe, + 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x05, 0x08, 0x12, 0x04, 0xfe, 0x02, + 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xfe, 0x02, 0x2f, 0x55, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x06, 0x12, 0x04, 0xff, 0x02, + 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x05, 0x12, 0x04, 0xff, 0x02, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0xff, 0x02, 0x09, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x03, 0x12, 0x04, 0xff, 0x02, 0x1e, 0x1f, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x06, 0x08, 0x12, 0x04, 0xff, 0x02, 0x20, 0x48, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, 0x02, 0x21, 0x47, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x07, 0x12, 0x04, 0x80, 0x03, 0x02, 0x4a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x02, 0x02, 0x07, 0x05, 0x12, 0x04, 0x80, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x07, 0x01, 0x12, 0x04, 0x80, 0x03, 0x09, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x02, 0x02, 0x07, 0x03, 0x12, 0x04, 0x80, 0x03, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x07, 0x08, 0x12, 0x04, 0x80, 0x03, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, + 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x03, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x02, 0x02, 0x08, 0x12, 0x04, 0x81, 0x03, 0x02, 0x4d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, + 0x02, 0x08, 0x05, 0x12, 0x04, 0x81, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x08, 0x01, 0x12, 0x04, 0x81, 0x03, 0x09, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, + 0x03, 0x12, 0x04, 0x81, 0x03, 0x22, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x08, 0x08, + 0x12, 0x04, 0x81, 0x03, 0x24, 0x4c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x08, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x81, 0x03, 0x25, 0x4b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, + 0x84, 0x03, 0x00, 0x87, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x84, + 0x03, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0x85, 0x03, 0x02, + 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x04, 0x12, 0x04, 0x85, 0x03, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0x85, 0x03, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x03, 0x12, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x03, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0x86, 0x03, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x04, 0x12, 0x04, 0x86, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x01, 0x05, 0x12, 0x04, 0x86, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x01, 0x01, 0x12, 0x04, 0x86, 0x03, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, + 0x03, 0x12, 0x04, 0x86, 0x03, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0x89, + 0x03, 0x00, 0x8b, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0x89, 0x03, + 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x03, 0x02, 0x52, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8a, 0x03, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8a, 0x03, 0x0b, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8a, 0x03, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8a, 0x03, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8a, 0x03, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8a, 0x03, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x05, 0x12, 0x06, 0x8d, 0x03, 0x00, 0x93, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x05, 0x01, 0x12, 0x04, 0x8d, 0x03, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, + 0x12, 0x04, 0x8e, 0x03, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, + 0x04, 0x8e, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x8e, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, + 0x03, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8e, 0x03, + 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x8e, 0x03, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0x8f, 0x03, + 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8f, 0x03, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8f, 0x03, 0x09, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8f, 0x03, 0x16, 0x17, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8f, 0x03, 0x18, 0x40, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x03, 0x19, 0x3f, + 0x0a, 0x5c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0x91, 0x03, 0x02, 0x43, 0x1a, 0x4e, + 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x63, 0x61, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, + 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0x91, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0x91, 0x03, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0x91, 0x03, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0x91, 0x03, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, + 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x03, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0x92, 0x03, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x03, 0x04, 0x12, 0x04, 0x92, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x03, 0x05, 0x12, 0x04, 0x92, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, + 0x01, 0x12, 0x04, 0x92, 0x03, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, + 0x12, 0x04, 0x92, 0x03, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, + 0x04, 0x92, 0x03, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x92, 0x03, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x95, + 0x03, 0x00, 0xa7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x95, 0x03, + 0x08, 0x1a, 0x0a, 0x47, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x97, 0x03, 0x02, 0x1c, + 0x1a, 0x39, 0x20, 0x4d, 0x61, 0x78, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x28, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x69, 0x66, + 0x20, 0x6f, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x00, 0x04, 0x12, 0x04, 0x97, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x97, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x97, 0x03, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x97, 0x03, 0x1a, 0x1b, 0x0a, 0x2f, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, + 0x04, 0x99, 0x03, 0x02, 0x14, 0x1a, 0x21, 0x20, 0x4f, 0x6e, 0x6c, 0x79, 0x20, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x65, 0x73, 0x20, 0x69, 0x66, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, + 0x05, 0x12, 0x04, 0x99, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, + 0x12, 0x04, 0x99, 0x03, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, + 0x04, 0x99, 0x03, 0x12, 0x13, 0x0a, 0x41, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x9b, + 0x03, 0x02, 0x21, 0x1a, 0x33, 0x20, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x73, + 0x6f, 0x72, 0x74, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x62, 0x79, 0x20, 0x28, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x63, 0x65, + 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, + 0x04, 0x12, 0x04, 0x9b, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x06, + 0x12, 0x04, 0x9b, 0x03, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, + 0x04, 0x9b, 0x03, 0x17, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, + 0x9b, 0x03, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0x9c, 0x03, + 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, 0x9c, 0x03, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9c, 0x03, 0x09, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9c, 0x03, 0x18, 0x19, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x04, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9d, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9d, 0x03, 0x07, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9d, 0x03, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, + 0x02, 0x05, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, + 0x05, 0x12, 0x04, 0x9e, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x01, + 0x12, 0x04, 0x9e, 0x03, 0x07, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x05, 0x03, 0x12, + 0x04, 0x9e, 0x03, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x06, 0x12, 0x04, 0x9f, + 0x03, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x04, 0x12, 0x04, 0x9f, 0x03, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x05, 0x12, 0x04, 0x9f, 0x03, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x01, 0x12, 0x04, 0x9f, 0x03, 0x12, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x06, 0x03, 0x12, 0x04, 0x9f, 0x03, 0x1d, 0x1e, 0x0a, + 0x42, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x07, 0x12, 0x04, 0xa1, 0x03, 0x02, 0x1f, 0x1a, 0x34, 0x20, + 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x69, + 0x64, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x04, 0x12, 0x04, 0xa1, 0x03, + 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x05, 0x12, 0x04, 0xa1, 0x03, 0x0b, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x01, 0x12, 0x04, 0xa1, 0x03, 0x12, 0x1a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x07, 0x03, 0x12, 0x04, 0xa1, 0x03, 0x1d, 0x1e, 0x0a, + 0x51, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x08, 0x12, 0x04, 0xa3, 0x03, 0x02, 0x20, 0x1a, 0x43, 0x20, + 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x69, 0x64, + 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x04, 0x12, 0x04, 0xa3, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x05, 0x12, 0x04, 0xa3, 0x03, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x01, 0x12, 0x04, 0xa3, 0x03, 0x12, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x08, 0x03, 0x12, 0x04, 0xa3, 0x03, 0x1e, 0x1f, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x06, 0x02, 0x09, 0x12, 0x04, 0xa4, 0x03, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x09, 0x05, 0x12, 0x04, 0xa4, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x09, 0x01, 0x12, 0x04, 0xa4, 0x03, 0x07, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x09, 0x03, 0x12, 0x04, 0xa4, 0x03, 0x19, 0x1b, 0x0a, 0x4f, 0x0a, 0x04, 0x04, 0x06, 0x02, + 0x0a, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x35, 0x1a, 0x41, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, + 0x69, 0x76, 0x65, 0x6e, 0x20, 0x74, 0x61, 0x67, 0x73, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, + 0x02, 0x0a, 0x06, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x0a, 0x01, 0x12, 0x04, 0xa6, 0x03, 0x25, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x0a, + 0x03, 0x12, 0x04, 0xa6, 0x03, 0x32, 0x34, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0xa8, + 0x03, 0x00, 0xac, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, 0x04, 0xa8, 0x03, + 0x05, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x33, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x02, 0x1a, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xa9, 0x03, 0x1d, 0x1e, 0x0a, 0x0d, + 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x03, 0x1f, 0x32, 0x0a, 0x0e, 0x0a, + 0x06, 0x05, 0x00, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x20, 0x31, 0x0a, 0x0c, 0x0a, + 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, + 0x02, 0x01, 0x02, 0x12, 0x04, 0xaa, 0x03, 0x15, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, + 0x02, 0x12, 0x04, 0xab, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xab, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x02, 0x02, 0x12, + 0x04, 0xab, 0x03, 0x16, 0x17, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xad, 0x03, 0x00, + 0xb1, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xad, 0x03, 0x08, 0x1b, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0xae, 0x03, 0x02, 0x3c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xae, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xae, 0x03, 0x09, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xae, 0x03, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xae, 0x03, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xae, 0x03, 0x14, 0x3a, 0x0a, 0x6f, 0x0a, 0x04, + 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x43, 0x1a, 0x61, 0x20, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, + 0x69, 0x73, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x01, 0x04, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb0, 0x03, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb0, 0x03, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xb0, 0x03, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xb0, 0x03, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb0, 0x03, 0x1b, 0x41, 0x0a, 0x84, 0x01, 0x0a, 0x02, 0x04, + 0x08, 0x12, 0x06, 0xb4, 0x03, 0x00, 0xb7, 0x03, 0x01, 0x1a, 0x76, 0x20, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, + 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xb4, 0x03, 0x08, 0x16, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb5, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xb5, 0x03, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xb5, 0x03, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x03, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, + 0x02, 0x01, 0x12, 0x04, 0xb6, 0x03, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, + 0x05, 0x12, 0x04, 0xb6, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xb6, 0x03, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, + 0x04, 0xb6, 0x03, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, + 0xb6, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xb6, 0x03, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xb8, 0x03, + 0x00, 0xba, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xb8, 0x03, 0x08, + 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xb9, 0x03, 0x02, 0x39, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xb9, 0x03, 0x02, 0x06, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x03, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb9, 0x03, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb9, 0x03, 0x10, 0x38, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x03, 0x11, 0x37, 0x0a, 0x96, 0x01, + 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xbd, 0x03, 0x00, 0xc0, 0x03, 0x01, 0x1a, 0x87, 0x01, 0x20, + 0x42, 0x61, 0x74, 0x63, 0x68, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, + 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, + 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, + 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x73, - 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0a, 0x01, 0x12, 0x04, 0xbc, 0x03, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, - 0x00, 0x12, 0x04, 0xbd, 0x03, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, - 0x12, 0x04, 0xbd, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, - 0x04, 0xbd, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xbd, 0x03, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbd, - 0x03, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbd, 0x03, - 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xbd, 0x03, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xbe, 0x03, - 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbe, 0x03, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbe, 0x03, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbe, 0x03, 0x12, 0x1d, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbe, 0x03, 0x20, 0x21, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbe, 0x03, 0x22, 0x4a, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x03, 0x23, 0x49, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xc0, 0x03, 0x00, 0xc2, 0x03, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xc0, 0x03, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, - 0x02, 0x00, 0x12, 0x04, 0xc1, 0x03, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x04, 0x12, 0x04, 0xc1, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xc1, 0x03, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xc1, 0x03, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xc1, 0x03, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc1, - 0x03, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xc1, 0x03, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xc4, 0x03, 0x00, - 0xc6, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xc4, 0x03, 0x08, 0x19, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x03, 0x02, 0x48, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc5, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x03, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x03, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x03, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x03, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x0d, 0x12, 0x06, 0xc7, 0x03, 0x00, 0xc9, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, - 0x01, 0x12, 0x04, 0xc7, 0x03, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, - 0x04, 0xc8, 0x03, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xc8, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc8, - 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc8, 0x03, - 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc8, 0x03, 0x15, - 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, - 0x03, 0x16, 0x3c, 0x0a, 0xae, 0x01, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xcc, 0x03, 0x00, 0xea, - 0x03, 0x01, 0x1a, 0x9f, 0x01, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x2c, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xcc, 0x03, 0x08, - 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xcd, 0x03, 0x02, 0x1e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcd, 0x03, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcd, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcd, 0x03, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcd, 0x03, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0e, 0x02, 0x01, 0x12, 0x04, 0xce, 0x03, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xce, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xce, 0x03, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xce, 0x03, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xce, 0x03, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xce, 0x03, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x02, 0x12, - 0x04, 0xcf, 0x03, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x05, 0x12, 0x04, - 0xcf, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcf, - 0x03, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcf, 0x03, - 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x12, 0x04, 0xcf, 0x03, 0x19, - 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, - 0x03, 0x1a, 0x40, 0x0a, 0x3f, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x03, 0x12, 0x06, 0xd2, 0x03, 0x02, - 0xd5, 0x03, 0x04, 0x1a, 0x2f, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, - 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd2, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x03, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd2, 0x03, 0x14, - 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x12, 0x06, 0xd2, 0x03, 0x16, 0xd5, - 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xd3, 0x03, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x03, 0x12, 0x04, - 0xd4, 0x03, 0x04, 0x15, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x04, 0x12, 0x06, 0xd7, 0x03, - 0x02, 0xda, 0x03, 0x04, 0x1a, 0x26, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, - 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd7, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd7, 0x03, 0x07, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x04, 0x03, 0x12, 0x04, 0xd7, 0x03, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x04, 0x08, 0x12, 0x06, 0xd7, 0x03, 0x16, 0xda, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, - 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd8, 0x03, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, - 0x04, 0x0e, 0x02, 0x04, 0x08, 0x03, 0x12, 0x04, 0xd9, 0x03, 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0e, 0x02, 0x05, 0x12, 0x04, 0xdb, 0x03, 0x02, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x05, 0x04, 0x12, 0x04, 0xdb, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, - 0x05, 0x06, 0x12, 0x04, 0xdb, 0x03, 0x0b, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, - 0x01, 0x12, 0x04, 0xdb, 0x03, 0x22, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x03, - 0x12, 0x04, 0xdb, 0x03, 0x2f, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x12, - 0x04, 0xdb, 0x03, 0x31, 0x59, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xdb, 0x03, 0x32, 0x58, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x06, 0x12, - 0x04, 0xdc, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x05, 0x12, 0x04, - 0xdc, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x01, 0x12, 0x04, 0xdc, - 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x03, 0x12, 0x04, 0xdc, 0x03, - 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x07, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x05, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x01, 0x12, 0x04, 0xdd, 0x03, 0x09, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, 0x03, 0x12, 0x04, 0xdd, 0x03, 0x19, 0x1a, 0x0a, 0x68, 0x0a, - 0x04, 0x04, 0x0e, 0x02, 0x08, 0x12, 0x04, 0xdf, 0x03, 0x02, 0x21, 0x1a, 0x5a, 0x20, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x6d, - 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x69, - 0x6e, 0x67, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x04, - 0x12, 0x04, 0xdf, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x05, 0x12, - 0x04, 0xdf, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x01, 0x12, 0x04, - 0xdf, 0x03, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x03, 0x12, 0x04, 0xdf, - 0x03, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x09, 0x12, 0x04, 0xe0, 0x03, 0x02, - 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x09, 0x06, 0x12, 0x04, 0xe0, 0x03, 0x02, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x09, 0x01, 0x12, 0x04, 0xe0, 0x03, 0x19, 0x2c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x09, 0x03, 0x12, 0x04, 0xe0, 0x03, 0x2f, 0x31, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0a, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x0a, 0x06, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xe1, 0x03, 0x15, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x0a, 0x03, 0x12, 0x04, 0xe1, 0x03, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, - 0x0b, 0x12, 0x04, 0xe2, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x05, - 0x12, 0x04, 0xe2, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x01, 0x12, - 0x04, 0xe2, 0x03, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x03, 0x12, 0x04, - 0xe2, 0x03, 0x15, 0x17, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0c, 0x12, 0x04, 0xe3, 0x03, - 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xe3, 0x03, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xe3, 0x03, 0x0b, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, 0x01, 0x12, 0x04, 0xe3, 0x03, 0x2a, 0x32, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, 0x03, 0x12, 0x04, 0xe3, 0x03, 0x35, 0x37, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, 0x08, 0x12, 0x04, 0xe3, 0x03, 0x38, 0x60, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0e, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe3, 0x03, 0x39, 0x5f, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0d, 0x12, 0x04, 0xe4, 0x03, 0x02, 0x41, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x0d, 0x05, 0x12, 0x04, 0xe4, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x0d, 0x01, 0x12, 0x04, 0xe4, 0x03, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x0d, 0x03, 0x12, 0x04, 0xe4, 0x03, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, - 0x02, 0x0d, 0x08, 0x12, 0x04, 0xe4, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, - 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, 0x03, 0x19, 0x3f, 0x0a, 0xfa, 0x01, 0x0a, 0x04, - 0x04, 0x0e, 0x02, 0x0e, 0x12, 0x04, 0xe9, 0x03, 0x02, 0x59, 0x1a, 0xeb, 0x01, 0x20, 0x49, 0x66, - 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x74, 0x72, 0x75, 0x65, 0x60, 0x20, 0x74, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x6f, 0x74, - 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, 0x65, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x73, 0x74, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x68, 0x6f, 0x77, - 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x75, - 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, - 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, - 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, - 0x04, 0x12, 0x04, 0xe9, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x05, - 0x12, 0x04, 0xe9, 0x03, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x01, 0x12, - 0x04, 0xe9, 0x03, 0x10, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x03, 0x12, 0x04, - 0xe9, 0x03, 0x2d, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xe9, - 0x03, 0x30, 0x58, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xe9, 0x03, 0x31, 0x57, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xec, 0x03, 0x00, - 0xf2, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xec, 0x03, 0x08, 0x1e, - 0x0a, 0x56, 0x0a, 0x03, 0x04, 0x0f, 0x09, 0x12, 0x04, 0xee, 0x03, 0x02, 0x0d, 0x1a, 0x49, 0x20, - 0x32, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, - 0x6f, 0x6d, 0x20, 0x6f, 0x6c, 0x64, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x6e, 0x20, - 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, - 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x09, 0x00, - 0x12, 0x04, 0xee, 0x03, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x09, 0x00, 0x01, 0x12, - 0x04, 0xee, 0x03, 0x0b, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x09, 0x00, 0x02, 0x12, 0x04, - 0xee, 0x03, 0x0b, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xef, 0x03, - 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xef, 0x03, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xef, 0x03, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xef, 0x03, 0x12, 0x23, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xef, 0x03, 0x26, 0x27, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x1a, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xf0, 0x03, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xf0, 0x03, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf0, 0x03, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, - 0x02, 0x02, 0x12, 0x04, 0xf1, 0x03, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, - 0x04, 0x12, 0x04, 0xf1, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x06, - 0x12, 0x04, 0xf1, 0x03, 0x0b, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xf1, 0x03, 0x1f, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xf1, 0x03, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf1, - 0x03, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xf1, 0x03, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xf3, 0x03, 0x00, - 0xf7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xf3, 0x03, 0x08, 0x1b, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x04, 0xf4, 0x03, 0x02, 0x25, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf4, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf4, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf4, 0x03, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf4, 0x03, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x01, 0x12, 0x04, 0xf5, 0x03, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, - 0x06, 0x12, 0x04, 0xf5, 0x03, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xf5, 0x03, 0x0d, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xf5, 0x03, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, - 0xf5, 0x03, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xf5, 0x03, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, - 0xf6, 0x03, 0x02, 0x55, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf6, - 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf6, 0x03, - 0x1a, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf6, 0x03, 0x2a, - 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf6, 0x03, 0x2c, 0x54, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x03, - 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x01, 0x12, 0x06, 0xf8, 0x03, 0x00, 0xfd, 0x03, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, 0x01, 0x12, 0x04, 0xf8, 0x03, 0x05, 0x0f, 0x0a, 0x0c, 0x0a, - 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, 0x04, 0xf9, 0x03, 0x02, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf9, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, - 0x02, 0x00, 0x02, 0x12, 0x04, 0xf9, 0x03, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xf9, 0x03, 0x1e, 0x31, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x01, 0x02, 0x00, - 0x03, 0x01, 0x12, 0x04, 0xf9, 0x03, 0x1f, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, - 0x12, 0x04, 0xfa, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x04, 0xfa, 0x03, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, - 0xfa, 0x03, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0xfb, 0x03, - 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x02, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xfb, 0x03, 0x0f, 0x10, - 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x03, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x0e, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x01, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x09, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, 0x12, 0x04, 0xfc, 0x03, 0x0c, 0x0d, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x11, 0x12, 0x06, 0xfe, 0x03, 0x00, 0x80, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, - 0x01, 0x12, 0x04, 0xfe, 0x03, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, - 0x04, 0xff, 0x03, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xff, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xff, - 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xff, 0x03, - 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xff, 0x03, 0x15, - 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, - 0x03, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0x82, 0x04, 0x00, 0x8d, 0x04, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0x82, 0x04, 0x08, 0x18, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, 0x12, 0x04, 0x83, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0x83, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x83, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x83, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, - 0x02, 0x01, 0x12, 0x04, 0x84, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, - 0x05, 0x12, 0x04, 0x84, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, - 0x12, 0x04, 0x84, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, - 0x04, 0x84, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, - 0x84, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x84, 0x04, 0x19, 0x3f, 0x0a, 0xc7, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, - 0x04, 0x88, 0x04, 0x02, 0x7c, 0x1a, 0xb8, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, - 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, + 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xbd, + 0x03, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x03, 0x02, + 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbe, 0x03, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbe, 0x03, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x03, 0x12, 0x1a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x03, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbe, 0x03, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x03, 0x20, 0x46, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x03, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0a, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbf, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0a, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x03, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xbf, 0x03, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xbf, 0x03, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x03, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, + 0x06, 0xc1, 0x03, 0x00, 0xc3, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, + 0xc1, 0x03, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0xc2, 0x03, + 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc2, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc2, 0x03, 0x0b, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x03, 0x10, 0x15, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc2, 0x03, 0x18, 0x19, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc2, 0x03, 0x1a, 0x42, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x03, 0x1b, 0x41, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xc5, 0x03, 0x00, 0xc7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xc5, 0x03, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0c, + 0x02, 0x00, 0x12, 0x04, 0xc6, 0x03, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xc6, 0x03, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xc6, 0x03, 0x14, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xc6, 0x03, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xc6, 0x03, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xc6, 0x03, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xc8, 0x03, + 0x00, 0xca, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xc8, 0x03, 0x08, + 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x04, 0xc9, 0x03, 0x02, 0x3e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc9, 0x03, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x03, 0x09, 0x10, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc9, 0x03, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc9, 0x03, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x03, 0x16, 0x3c, 0x0a, 0xae, 0x01, + 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xcd, 0x03, 0x00, 0xeb, 0x03, 0x01, 0x1a, 0x9f, 0x01, 0x20, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x6e, 0x6f, 0x74, + 0x2c, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xcd, 0x03, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x0e, 0x02, 0x00, 0x12, 0x04, 0xce, 0x03, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x00, 0x04, 0x12, 0x04, 0xce, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xce, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xce, 0x03, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xce, 0x03, 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xcf, + 0x03, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x05, 0x12, 0x04, 0xcf, 0x03, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcf, 0x03, 0x09, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcf, 0x03, 0x10, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcf, 0x03, 0x12, 0x3a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x03, 0x13, + 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x02, 0x12, 0x04, 0xd0, 0x03, 0x02, 0x42, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x05, 0x12, 0x04, 0xd0, 0x03, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x03, 0x09, 0x14, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xd0, 0x03, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x02, 0x08, 0x12, 0x04, 0xd0, 0x03, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0e, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x03, 0x1a, 0x40, 0x0a, 0x3f, 0x0a, + 0x04, 0x04, 0x0e, 0x02, 0x03, 0x12, 0x06, 0xd3, 0x03, 0x02, 0xd6, 0x03, 0x04, 0x1a, 0x2f, 0x20, + 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, + 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x03, 0x05, 0x12, 0x04, 0xd3, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0e, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd3, 0x03, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd3, 0x03, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x03, 0x08, 0x12, 0x06, 0xd3, 0x03, 0x16, 0xd6, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x0e, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd4, 0x03, 0x04, 0x2a, 0x0a, 0x0e, + 0x0a, 0x06, 0x04, 0x0e, 0x02, 0x03, 0x08, 0x03, 0x12, 0x04, 0xd5, 0x03, 0x04, 0x15, 0x0a, 0x36, + 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x04, 0x12, 0x06, 0xd8, 0x03, 0x02, 0xdb, 0x03, 0x04, 0x1a, 0x26, + 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x05, 0x12, + 0x04, 0xd8, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x01, 0x12, 0x04, + 0xd8, 0x03, 0x07, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x03, 0x12, 0x04, 0xd8, + 0x03, 0x14, 0x15, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x12, 0x06, 0xd8, 0x03, + 0x16, 0xdb, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xd9, 0x03, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x0e, 0x02, 0x04, 0x08, 0x03, + 0x12, 0x04, 0xda, 0x03, 0x04, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x05, 0x12, 0x04, + 0xdc, 0x03, 0x02, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x04, 0x12, 0x04, 0xdc, + 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x06, 0x12, 0x04, 0xdc, 0x03, + 0x0b, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x01, 0x12, 0x04, 0xdc, 0x03, 0x22, + 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x03, 0x12, 0x04, 0xdc, 0x03, 0x2f, 0x30, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x12, 0x04, 0xdc, 0x03, 0x31, 0x59, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdc, 0x03, 0x32, + 0x58, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x06, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x05, 0x12, 0x04, 0xdd, 0x03, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x06, 0x01, 0x12, 0x04, 0xdd, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0e, 0x02, 0x06, 0x03, 0x12, 0x04, 0xdd, 0x03, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x0e, 0x02, 0x07, 0x12, 0x04, 0xde, 0x03, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x07, 0x05, 0x12, 0x04, 0xde, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x07, 0x01, 0x12, 0x04, 0xde, 0x03, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x07, + 0x03, 0x12, 0x04, 0xde, 0x03, 0x19, 0x1a, 0x0a, 0x68, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x08, 0x12, + 0x04, 0xe0, 0x03, 0x02, 0x21, 0x1a, 0x5a, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, + 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x2e, + 0x20, 0x49, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6d, 0x6d, 0x75, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x74, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x04, 0x12, 0x04, 0xe0, 0x03, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x05, 0x12, 0x04, 0xe0, 0x03, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x01, 0x12, 0x04, 0xe0, 0x03, 0x12, 0x1c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x08, 0x03, 0x12, 0x04, 0xe0, 0x03, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x0e, 0x02, 0x09, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x09, 0x06, 0x12, 0x04, 0xe1, 0x03, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x09, 0x01, 0x12, 0x04, 0xe1, 0x03, 0x19, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x09, 0x03, 0x12, 0x04, 0xe1, 0x03, 0x2f, 0x31, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0a, + 0x12, 0x04, 0xe2, 0x03, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0a, 0x06, 0x12, + 0x04, 0xe2, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0a, 0x01, 0x12, 0x04, + 0xe2, 0x03, 0x15, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0a, 0x03, 0x12, 0x04, 0xe2, + 0x03, 0x2b, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0b, 0x12, 0x04, 0xe3, 0x03, 0x02, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x05, 0x12, 0x04, 0xe3, 0x03, 0x02, 0x06, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xe3, 0x03, 0x07, 0x12, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xe3, 0x03, 0x15, 0x17, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0c, 0x12, 0x04, 0xe4, 0x03, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x0c, 0x04, 0x12, 0x04, 0xe4, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x0c, 0x06, 0x12, 0x04, 0xe4, 0x03, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x0c, 0x01, 0x12, 0x04, 0xe4, 0x03, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x0c, 0x03, 0x12, 0x04, 0xe4, 0x03, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0c, + 0x08, 0x12, 0x04, 0xe4, 0x03, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x0c, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, 0x03, 0x39, 0x5f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, + 0x0d, 0x12, 0x04, 0xe5, 0x03, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0d, 0x05, + 0x12, 0x04, 0xe5, 0x03, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0d, 0x01, 0x12, + 0x04, 0xe5, 0x03, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0d, 0x03, 0x12, 0x04, + 0xe5, 0x03, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0d, 0x08, 0x12, 0x04, 0xe5, + 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xe5, 0x03, 0x19, 0x3f, 0x0a, 0xfa, 0x01, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x0e, 0x12, 0x04, + 0xea, 0x03, 0x02, 0x59, 0x1a, 0xeb, 0x01, 0x20, 0x49, 0x66, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, + 0x6f, 0x20, 0x60, 0x74, 0x72, 0x75, 0x65, 0x60, 0x20, 0x74, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x69, 0x73, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x6c, 0x69, 0x76, + 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x77, 0x69, 0x73, + 0x65, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x65, 0x76, 0x61, 0x6c, + 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x73, 0x74, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x2c, 0x20, 0x68, 0x6f, 0x77, 0x65, 0x76, 0x65, 0x72, 0x2c, 0x20, + 0x69, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x0a, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x04, 0x12, 0x04, 0xea, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x05, 0x12, 0x04, 0xea, 0x03, 0x0b, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x01, 0x12, 0x04, 0xea, 0x03, 0x10, 0x2a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x03, 0x12, 0x04, 0xea, 0x03, 0x2d, 0x2f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x0e, 0x08, 0x12, 0x04, 0xea, 0x03, 0x30, 0x58, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0e, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x03, 0x31, 0x57, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xed, 0x03, 0x00, 0xf3, 0x03, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xed, 0x03, 0x08, 0x1e, 0x0a, 0x56, 0x0a, 0x03, 0x04, 0x0f, + 0x09, 0x12, 0x04, 0xef, 0x03, 0x02, 0x0d, 0x1a, 0x49, 0x20, 0x32, 0x20, 0x69, 0x73, 0x20, 0x72, + 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x6f, 0x6c, 0x64, + 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x73, + 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x6f, 0x6e, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, + 0x79, 0x0a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x09, 0x00, 0x12, 0x04, 0xef, 0x03, 0x0b, 0x0c, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x09, 0x00, 0x01, 0x12, 0x04, 0xef, 0x03, 0x0b, 0x0c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x09, 0x00, 0x02, 0x12, 0x04, 0xef, 0x03, 0x0b, 0x0c, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf0, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf0, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xf0, 0x03, 0x12, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xf0, 0x03, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x01, + 0x12, 0x04, 0xf1, 0x03, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xf1, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xf1, 0x03, 0x1a, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf1, + 0x03, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf1, 0x03, + 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xf1, 0x03, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x02, 0x12, 0x04, 0xf2, 0x03, + 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x04, 0x12, 0x04, 0xf2, 0x03, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf2, 0x03, 0x0b, 0x1e, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf2, 0x03, 0x1f, 0x26, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf2, 0x03, 0x29, 0x2a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf2, 0x03, 0x2b, 0x53, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0f, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf2, 0x03, 0x2c, 0x52, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xf4, 0x03, 0x00, 0xf8, 0x03, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xf4, 0x03, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, + 0x02, 0x00, 0x12, 0x04, 0xf5, 0x03, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, + 0x04, 0x12, 0x04, 0xf5, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, + 0x12, 0x04, 0xf5, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xf5, 0x03, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xf5, 0x03, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x04, 0xf6, 0x03, + 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x06, 0x12, 0x04, 0xf6, 0x03, 0x02, + 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf6, 0x03, 0x0d, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf6, 0x03, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf6, 0x03, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x03, 0x1e, 0x44, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xf7, 0x03, 0x02, 0x55, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf7, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x03, 0x1a, 0x27, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, 0x03, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x10, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf7, 0x03, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x10, + 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x03, 0x2d, 0x53, 0x0a, 0x0c, 0x0a, 0x02, + 0x05, 0x01, 0x12, 0x06, 0xf9, 0x03, 0x00, 0xfe, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x01, + 0x01, 0x12, 0x04, 0xf9, 0x03, 0x05, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x00, 0x12, + 0x04, 0xfa, 0x03, 0x02, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xfa, 0x03, 0x02, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x02, 0x12, 0x04, 0xfa, + 0x03, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfa, 0x03, + 0x1e, 0x31, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x01, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xfa, 0x03, + 0x1f, 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x03, 0x02, 0x0e, 0x0a, + 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x01, 0x02, 0x12, 0x04, 0xfb, 0x03, 0x11, 0x12, 0x0a, 0x0c, + 0x0a, 0x04, 0x05, 0x01, 0x02, 0x02, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfc, 0x03, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, + 0x01, 0x02, 0x02, 0x02, 0x12, 0x04, 0xfc, 0x03, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x01, + 0x02, 0x03, 0x12, 0x04, 0xfd, 0x03, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, + 0x01, 0x12, 0x04, 0xfd, 0x03, 0x02, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x01, 0x02, 0x03, 0x02, + 0x12, 0x04, 0xfd, 0x03, 0x0c, 0x0d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xff, 0x03, + 0x00, 0x81, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, 0x01, 0x12, 0x04, 0xff, 0x03, 0x08, + 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, 0x04, 0x80, 0x04, 0x02, 0x3e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x05, 0x12, 0x04, 0x80, 0x04, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0x80, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0x80, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0x80, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x12, 0x12, 0x06, 0x83, 0x04, 0x00, 0x90, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x12, 0x01, 0x12, 0x04, 0x83, 0x04, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x00, + 0x12, 0x04, 0x84, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, + 0x04, 0x84, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x84, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0x84, + 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0x84, 0x04, + 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x84, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0x85, 0x04, + 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0x85, 0x04, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0x85, 0x04, 0x09, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, 0x04, 0x16, 0x17, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x01, 0x08, 0x12, 0x04, 0x85, 0x04, 0x18, 0x40, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x04, 0x19, 0x3f, + 0x0a, 0xc7, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x02, 0x12, 0x04, 0x89, 0x04, 0x02, 0x7c, 0x1a, + 0xb8, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x2c, 0x20, 0x6f, 0x6e, + 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x41, 0x73, 0x73, 0x65, 0x74, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, + 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x0a, 0x20, 0x73, 0x61, 0x76, 0x69, + 0x6e, 0x67, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6c, 0x61, 0x67, 0x20, 0x69, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x02, 0x04, 0x12, 0x04, 0x89, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x02, 0x06, 0x12, 0x04, 0x89, 0x04, 0x0b, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, + 0x01, 0x12, 0x04, 0x89, 0x04, 0x2b, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, + 0x12, 0x04, 0x89, 0x04, 0x51, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x08, 0x12, + 0x04, 0x89, 0x04, 0x53, 0x7b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x02, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x89, 0x04, 0x54, 0x7a, 0x0a, 0xb4, 0x01, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, + 0x12, 0x04, 0x8d, 0x04, 0x02, 0x45, 0x1a, 0xa5, 0x01, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, + 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x20, 0x45, 0x78, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x62, 0x6c, 0x6f, 0x63, 0x6b, - 0x0a, 0x20, 0x73, 0x61, 0x76, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, - 0x6c, 0x61, 0x67, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x04, 0x12, 0x04, 0x88, 0x04, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x06, 0x12, 0x04, 0x88, 0x04, 0x0b, 0x2a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, 0x12, 0x04, 0x88, 0x04, 0x2b, 0x4e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, 0x04, 0x88, 0x04, 0x51, 0x52, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x02, 0x08, 0x12, 0x04, 0x88, 0x04, 0x53, 0x7b, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x12, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, 0x04, 0x54, 0x7a, 0x0a, 0xb4, 0x01, - 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0x8c, 0x04, 0x02, 0x45, 0x1a, 0xa5, 0x01, 0x20, - 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, 0x69, - 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x75, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x2c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x2e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, - 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x04, 0x12, 0x04, 0x8c, - 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, 0x8c, 0x04, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8c, 0x04, 0x12, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0x8c, 0x04, 0x1a, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x08, 0x12, 0x04, 0x8c, 0x04, 0x1c, 0x44, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x04, 0x1d, - 0x43, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0x8f, 0x04, 0x00, 0x99, 0x04, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x8f, 0x04, 0x08, 0x1f, 0x0a, 0x36, 0x0a, 0x04, - 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0x91, 0x04, 0x02, 0x50, 0x1a, 0x28, 0x20, 0x72, 0x75, 0x6c, - 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x64, 0x20, 0x31, - 0x30, 0x30, 0x30, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x74, 0x20, 0x61, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0x91, - 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0x91, 0x04, - 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0x91, 0x04, 0x1d, - 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0x91, 0x04, 0x25, 0x26, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0x91, 0x04, 0x27, 0x4f, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x04, 0x28, - 0x4e, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0x94, 0x04, 0x02, 0x42, 0x1a, - 0x5e, 0x20, 0x49, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x6f, 0x6e, 0x6c, - 0x79, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, - 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0x94, 0x04, 0x02, 0x06, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0x94, 0x04, 0x07, 0x14, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0x94, 0x04, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x01, 0x08, 0x12, 0x04, 0x94, 0x04, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x13, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x04, 0x1a, 0x40, 0x0a, 0x82, 0x02, - 0x0a, 0x04, 0x04, 0x13, 0x02, 0x02, 0x12, 0x04, 0x98, 0x04, 0x02, 0x53, 0x1a, 0xf3, 0x01, 0x20, - 0x49, 0x66, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x5f, 0x65, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x73, 0x61, 0x76, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, - 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x69, 0x73, 0x0a, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x66, 0x75, 0x6c, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x2d, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x72, 0x65, 0x20, - 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x65, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6f, 0x6e, 0x65, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x70, - 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, - 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x05, 0x12, 0x04, 0x98, 0x04, 0x02, - 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, 0x12, 0x04, 0x98, 0x04, 0x07, 0x25, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, 0x04, 0x98, 0x04, 0x28, 0x29, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x08, 0x12, 0x04, 0x98, 0x04, 0x2a, 0x52, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x13, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x04, 0x2b, 0x51, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0x9a, 0x04, 0x00, 0xb1, 0x04, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x9a, 0x04, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x14, 0x02, 0x00, 0x12, 0x04, 0x9b, 0x04, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x00, 0x05, 0x12, 0x04, 0x9b, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x9b, 0x04, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, - 0x12, 0x04, 0x9b, 0x04, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, - 0x04, 0x9b, 0x04, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x9b, 0x04, 0x14, 0x3a, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, - 0x12, 0x04, 0x9e, 0x04, 0x02, 0x49, 0x1a, 0x88, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x6f, - 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, - 0x6c, 0x65, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x73, 0x20, - 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, 0x6e, - 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9e, 0x04, 0x02, 0x07, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9e, 0x04, 0x08, 0x1b, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9e, 0x04, 0x1e, 0x1f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9e, 0x04, 0x20, 0x48, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9e, 0x04, 0x21, 0x47, 0x0a, - 0x97, 0x01, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x49, 0x1a, 0x88, - 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, - 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x02, 0x05, 0x12, 0x04, 0xa1, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xa1, 0x04, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xa1, 0x04, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x08, 0x12, - 0x04, 0xa1, 0x04, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xa1, 0x04, 0x21, 0x47, 0x0a, 0x67, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, - 0x04, 0xa4, 0x04, 0x02, 0x42, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x76, 0x61, - 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x64, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x73, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, 0x04, 0xa4, 0x04, 0x02, 0x06, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa4, 0x04, 0x07, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa4, 0x04, 0x17, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x03, 0x08, 0x12, 0x04, 0xa4, 0x04, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x14, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x04, 0x1a, 0x40, 0x0a, 0x4d, - 0x0a, 0x04, 0x04, 0x14, 0x02, 0x04, 0x12, 0x04, 0xa7, 0x04, 0x02, 0x5c, 0x1a, 0x3f, 0x20, 0x4f, - 0x6e, 0x65, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x04, 0x04, 0x12, 0x04, 0xa7, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x14, 0x02, 0x04, 0x06, 0x12, 0x04, 0xa7, 0x04, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x14, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa7, 0x04, 0x1c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x02, 0x04, 0x03, 0x12, 0x04, 0xa7, 0x04, 0x31, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, - 0x04, 0x08, 0x12, 0x04, 0xa7, 0x04, 0x33, 0x5b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x04, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x04, 0x34, 0x5a, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x14, - 0x03, 0x00, 0x12, 0x06, 0xa9, 0x04, 0x02, 0xad, 0x04, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, - 0x03, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x04, 0x0a, 0x19, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x03, - 0x00, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x04, 0x04, 0x40, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, - 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xaa, 0x04, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, - 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x04, 0x0b, 0x12, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x14, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaa, 0x04, 0x15, 0x16, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0xaa, 0x04, 0x17, 0x3f, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x04, 0x18, - 0x3e, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x12, 0x04, 0xab, 0x04, 0x04, - 0x3d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xab, 0x04, - 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xab, - 0x04, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, - 0xab, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xab, 0x04, 0x14, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xab, 0x04, 0x15, 0x3b, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x03, - 0x00, 0x02, 0x02, 0x12, 0x04, 0xac, 0x04, 0x04, 0x4c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, - 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0xac, 0x04, 0x04, 0x0c, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, - 0x03, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0xac, 0x04, 0x0d, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, - 0x14, 0x03, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xac, 0x04, 0x14, 0x1e, 0x0a, 0x0f, 0x0a, 0x07, - 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0xac, 0x04, 0x21, 0x22, 0x0a, 0x0f, 0x0a, - 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0xac, 0x04, 0x23, 0x4b, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x04, - 0x24, 0x4a, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, 0x04, 0xb0, 0x04, 0x02, 0x61, - 0x1a, 0x35, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, - 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x76, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x04, - 0x12, 0x04, 0xb0, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x06, 0x12, - 0x04, 0xb0, 0x04, 0x0b, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x01, 0x12, 0x04, - 0xb0, 0x04, 0x1b, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb0, - 0x04, 0x36, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x08, 0x12, 0x04, 0xb0, 0x04, - 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xb0, 0x04, 0x39, 0x5f, 0x0a, 0x85, 0x01, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xb4, 0x04, 0x00, - 0xb7, 0x04, 0x01, 0x1a, 0x77, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, - 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, - 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x15, 0x01, 0x12, 0x04, 0xb4, 0x04, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, - 0x00, 0x12, 0x04, 0xb5, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xb5, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xb5, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xb5, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb5, - 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xb5, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, 0x12, 0x04, 0xb6, - 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb6, 0x04, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb6, 0x04, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb6, 0x04, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb6, 0x04, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb6, 0x04, 0x19, - 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x04, 0xb8, 0x04, 0x00, 0x1d, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xb8, 0x04, 0x08, 0x1a, 0x0a, 0x9a, 0x01, 0x0a, 0x02, 0x04, - 0x17, 0x12, 0x06, 0xbb, 0x04, 0x00, 0xbe, 0x04, 0x01, 0x1a, 0x8b, 0x01, 0x20, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, - 0xbb, 0x04, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, 0x12, 0x04, 0xbc, 0x04, - 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbc, 0x04, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbc, 0x04, 0x0b, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbc, 0x04, 0x12, 0x1a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbc, 0x04, 0x1d, 0x1e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbc, 0x04, 0x1f, 0x47, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x04, 0x20, 0x46, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0xbd, 0x04, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x17, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbd, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbd, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbd, 0x04, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xbd, 0x04, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xbd, 0x04, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x04, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x18, - 0x12, 0x04, 0xbf, 0x04, 0x00, 0x23, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xbf, - 0x04, 0x08, 0x20, 0x0a, 0x87, 0x01, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, 0xc2, 0x04, 0x00, 0xc5, - 0x04, 0x01, 0x1a, 0x79, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x20, 0x69, 0x6e, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x65, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x04, 0x12, 0x04, 0x8d, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, 0x8d, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0x8d, 0x04, 0x12, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0x8d, 0x04, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, + 0x02, 0x03, 0x08, 0x12, 0x04, 0x8d, 0x04, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, + 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x04, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x12, 0x02, 0x04, 0x12, 0x04, 0x8f, 0x04, 0x02, 0x40, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, + 0x04, 0x05, 0x12, 0x04, 0x8f, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, + 0x01, 0x12, 0x04, 0x8f, 0x04, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x03, + 0x12, 0x04, 0x8f, 0x04, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x08, 0x12, + 0x04, 0x8f, 0x04, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x04, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x8f, 0x04, 0x18, 0x3e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0x92, + 0x04, 0x00, 0x9b, 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x92, 0x04, + 0x08, 0x1f, 0x0a, 0x36, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0x94, 0x04, 0x02, 0x50, + 0x1a, 0x28, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x61, 0x74, 0x20, 0x61, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, + 0x02, 0x00, 0x04, 0x12, 0x04, 0x94, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, + 0x00, 0x06, 0x12, 0x04, 0x94, 0x04, 0x0b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x94, 0x04, 0x1d, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x94, 0x04, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x94, 0x04, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x94, 0x04, 0x28, 0x4e, 0x0a, 0x6c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, + 0x04, 0x97, 0x04, 0x02, 0x42, 0x1a, 0x5e, 0x20, 0x49, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, + 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, + 0x97, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, + 0x04, 0x07, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x03, 0x12, 0x04, 0x97, 0x04, + 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x01, 0x08, 0x12, 0x04, 0x97, 0x04, 0x19, + 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x13, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, + 0x04, 0x1a, 0x40, 0x0a, 0x82, 0x01, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x04, + 0x02, 0x3e, 0x1a, 0x74, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x2d, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6d, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x20, 0x41, 0x50, 0x49, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x72, 0x69, 0x74, + 0x79, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x61, 0x20, 0x66, 0x61, 0x69, 0x6c, 0x75, 0x72, 0x65, 0x2c, 0x20, 0x53, 0x69, 0x66, + 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x20, 0x70, 0x65, + 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, + 0x05, 0x12, 0x04, 0x9a, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x01, + 0x12, 0x04, 0x9a, 0x04, 0x07, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x03, 0x12, + 0x04, 0x9a, 0x04, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x02, 0x08, 0x12, 0x04, + 0x9a, 0x04, 0x2a, 0x3d, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x13, 0x02, 0x02, 0x08, 0x03, 0x12, 0x04, + 0x9a, 0x04, 0x2b, 0x3c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, 0x9c, 0x04, 0x00, 0xb3, + 0x04, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x9c, 0x04, 0x08, 0x20, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9d, 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9d, 0x04, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9d, 0x04, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x00, 0x08, 0x12, 0x04, 0x9d, 0x04, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9d, 0x04, 0x14, 0x3a, 0x0a, 0x97, 0x01, 0x0a, 0x04, + 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, 0xa0, 0x04, 0x02, 0x49, 0x1a, 0x88, 0x01, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, + 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x20, + 0x49, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x6f, 0x77, + 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x6f, 0x75, 0x6c, + 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x05, 0x12, 0x04, + 0xa0, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa0, + 0x04, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa0, 0x04, + 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa0, 0x04, 0x20, + 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, + 0x04, 0x21, 0x47, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0xa3, 0x04, + 0x02, 0x49, 0x1a, 0x88, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x20, + 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, + 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x69, 0x6e, 0x64, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6d, 0x61, 0x6e, 0x79, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, + 0x65, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa3, 0x04, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x04, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa3, 0x04, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x02, 0x08, 0x12, 0x04, 0xa3, 0x04, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, + 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa3, 0x04, 0x21, 0x47, 0x0a, 0x67, 0x0a, 0x04, 0x04, + 0x14, 0x02, 0x03, 0x12, 0x04, 0xa6, 0x04, 0x02, 0x42, 0x1a, 0x59, 0x20, 0x54, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x6e, 0x6c, + 0x79, 0x20, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x64, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, 0x04, 0xa6, + 0x04, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa6, 0x04, + 0x07, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa6, 0x04, 0x17, + 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x08, 0x12, 0x04, 0xa6, 0x04, 0x19, 0x41, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x04, + 0x1a, 0x40, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x04, 0x12, 0x04, 0xa9, 0x04, 0x02, 0x5c, + 0x1a, 0x3f, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x70, 0x65, 0x72, 0x20, 0x72, 0x75, 0x6c, 0x65, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x04, 0x12, 0x04, 0xa9, 0x04, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x06, 0x12, 0x04, 0xa9, 0x04, 0x0b, 0x1b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa9, 0x04, 0x1c, 0x2e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x02, 0x04, 0x03, 0x12, 0x04, 0xa9, 0x04, 0x31, 0x32, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x14, 0x02, 0x04, 0x08, 0x12, 0x04, 0xa9, 0x04, 0x33, 0x5b, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x14, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x04, 0x34, 0x5a, 0x0a, 0x0e, + 0x0a, 0x04, 0x04, 0x14, 0x03, 0x00, 0x12, 0x06, 0xab, 0x04, 0x02, 0xaf, 0x04, 0x03, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x14, 0x03, 0x00, 0x01, 0x12, 0x04, 0xab, 0x04, 0x0a, 0x19, 0x0a, 0x0e, 0x0a, + 0x06, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x12, 0x04, 0xac, 0x04, 0x04, 0x40, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xac, 0x04, 0x04, 0x0a, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xac, 0x04, 0x0b, 0x12, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x03, 0x12, 0x04, 0xac, 0x04, 0x15, 0x16, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x08, 0x12, 0x04, 0xac, 0x04, 0x17, + 0x3f, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x03, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xac, 0x04, 0x18, 0x3e, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x12, + 0x04, 0xad, 0x04, 0x04, 0x3d, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xad, 0x04, 0x04, 0x0a, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xad, 0x04, 0x0b, 0x0f, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xad, 0x04, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xad, 0x04, 0x14, 0x3c, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x03, + 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xad, 0x04, 0x15, 0x3b, 0x0a, 0x0e, 0x0a, + 0x06, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x12, 0x04, 0xae, 0x04, 0x04, 0x4c, 0x0a, 0x0f, 0x0a, + 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0xae, 0x04, 0x04, 0x0c, 0x0a, 0x0f, + 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0xae, 0x04, 0x0d, 0x13, 0x0a, + 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xae, 0x04, 0x14, 0x1e, + 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0xae, 0x04, 0x21, + 0x22, 0x0a, 0x0f, 0x0a, 0x07, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0xae, 0x04, + 0x23, 0x4b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x14, 0x03, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xae, 0x04, 0x24, 0x4a, 0x0a, 0x43, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x05, 0x12, 0x04, + 0xb2, 0x04, 0x02, 0x61, 0x1a, 0x35, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x64, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x2c, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x14, 0x02, 0x05, 0x04, 0x12, 0x04, 0xb2, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, + 0x02, 0x05, 0x06, 0x12, 0x04, 0xb2, 0x04, 0x0b, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, + 0x05, 0x01, 0x12, 0x04, 0xb2, 0x04, 0x1b, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, + 0x03, 0x12, 0x04, 0xb2, 0x04, 0x36, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x05, 0x08, + 0x12, 0x04, 0xb2, 0x04, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x05, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xb2, 0x04, 0x39, 0x5f, 0x0a, 0x85, 0x01, 0x0a, 0x02, 0x04, 0x15, 0x12, + 0x06, 0xb6, 0x04, 0x00, 0xb9, 0x04, 0x01, 0x1a, 0x77, 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, + 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, + 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, + 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xb6, 0x04, 0x08, 0x19, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xb7, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x15, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb7, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xb7, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xb7, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xb7, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb7, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, + 0x01, 0x12, 0x04, 0xb8, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xb8, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xb8, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xb8, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb8, + 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xb8, 0x04, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x04, 0xba, 0x04, 0x00, + 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xba, 0x04, 0x08, 0x1a, 0x0a, 0x9a, + 0x01, 0x0a, 0x02, 0x04, 0x17, 0x12, 0x06, 0xbd, 0x04, 0x00, 0xc0, 0x04, 0x01, 0x1a, 0x8b, 0x01, + 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, + 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, + 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, 0x62, 0x6f, 0x74, + 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x17, 0x01, 0x12, 0x04, 0xbd, 0x04, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x00, + 0x12, 0x04, 0xbe, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xbe, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xbe, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, + 0x04, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x04, + 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbe, 0x04, 0x1f, + 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, + 0x04, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x17, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x04, 0x02, + 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbf, 0x04, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, 0x04, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x04, 0x12, 0x1d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x17, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x04, 0x20, 0x21, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x17, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbf, 0x04, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x17, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x04, 0x23, 0x49, 0x0a, 0x0a, + 0x0a, 0x02, 0x04, 0x18, 0x12, 0x04, 0xc1, 0x04, 0x00, 0x23, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, + 0x01, 0x12, 0x04, 0xc1, 0x04, 0x08, 0x20, 0x0a, 0x87, 0x01, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x06, + 0xc4, 0x04, 0x00, 0xc7, 0x04, 0x01, 0x1a, 0x79, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, + 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, + 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, + 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, + 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0xc4, 0x04, 0x08, 0x1a, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x19, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x19, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x19, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xc5, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, + 0x02, 0x01, 0x12, 0x04, 0xc6, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, + 0x05, 0x12, 0x04, 0xc6, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xc6, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x03, 0x12, + 0x04, 0xc6, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x08, 0x12, 0x04, + 0xc6, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xc6, 0x04, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x04, 0xc8, 0x04, + 0x00, 0x1e, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xc8, 0x04, 0x08, 0x1b, 0x0a, + 0x9c, 0x01, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x06, 0xcb, 0x04, 0x00, 0xce, 0x04, 0x01, 0x1a, 0x8d, + 0x01, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, + 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, + 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, + 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, 0x04, 0xcb, 0x04, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x1b, 0x02, 0x00, 0x12, 0x04, 0xcc, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, + 0x00, 0x04, 0x12, 0x04, 0xcc, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xcc, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xcc, 0x04, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xcc, 0x04, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xcc, 0x04, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xcc, 0x04, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x04, + 0xcd, 0x04, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x04, 0x12, 0x04, 0xcd, + 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xcd, 0x04, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcd, 0x04, 0x12, + 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcd, 0x04, 0x20, 0x21, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcd, 0x04, 0x22, 0x4a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcd, 0x04, 0x23, + 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1c, 0x12, 0x04, 0xcf, 0x04, 0x00, 0x24, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x1c, 0x01, 0x12, 0x04, 0xcf, 0x04, 0x08, 0x21, 0x0a, 0x89, 0x01, 0x0a, 0x02, 0x04, + 0x1d, 0x12, 0x06, 0xd2, 0x04, 0x00, 0xd5, 0x04, 0x01, 0x1a, 0x7b, 0x20, 0x55, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xd2, + 0x04, 0x08, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xd3, 0x04, 0x02, + 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd3, 0x04, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd3, 0x04, 0x09, 0x10, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd3, 0x04, 0x13, 0x14, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd3, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x1d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x04, 0x16, 0x3c, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x01, 0x12, 0x04, 0xd4, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd4, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd4, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd4, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xd4, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1d, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd4, 0x04, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, + 0x1e, 0x12, 0x04, 0xd6, 0x04, 0x00, 0x1f, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1e, 0x01, 0x12, 0x04, + 0xd6, 0x04, 0x08, 0x1c, 0x0a, 0x9c, 0x01, 0x0a, 0x02, 0x04, 0x1f, 0x12, 0x06, 0xd9, 0x04, 0x00, + 0xdc, 0x04, 0x01, 0x1a, 0x8d, 0x01, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x20, 0x69, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, + 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, + 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1f, 0x01, 0x12, 0x04, 0xd9, 0x04, 0x08, 0x21, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x00, 0x12, 0x04, 0xda, 0x04, 0x02, 0x48, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x04, 0x12, 0x04, 0xda, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x1f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xda, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x1f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xda, 0x04, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x1f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xda, 0x04, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xda, 0x04, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1f, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x04, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x1f, 0x02, 0x01, 0x12, 0x04, 0xdb, 0x04, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, + 0x01, 0x04, 0x12, 0x04, 0xdb, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, + 0x05, 0x12, 0x04, 0xdb, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xdb, 0x04, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x03, 0x12, + 0x04, 0xdb, 0x04, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x08, 0x12, 0x04, + 0xdb, 0x04, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xdb, 0x04, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x20, 0x12, 0x04, 0xdd, 0x04, + 0x00, 0x25, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x20, 0x01, 0x12, 0x04, 0xdd, 0x04, 0x08, 0x22, 0x0a, + 0x8b, 0x01, 0x0a, 0x02, 0x04, 0x21, 0x12, 0x06, 0xe0, 0x04, 0x00, 0xe3, 0x04, 0x01, 0x1a, 0x7d, + 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0xc2, 0x04, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, - 0x02, 0x00, 0x12, 0x04, 0xc3, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xc3, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xc3, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xc3, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xc3, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc3, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x19, 0x02, 0x01, 0x12, 0x04, - 0xc4, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc4, - 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc4, 0x04, - 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc4, 0x04, 0x16, - 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x19, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc4, 0x04, 0x18, 0x40, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x19, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc4, 0x04, - 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x04, 0xc6, 0x04, 0x00, 0x1e, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xc6, 0x04, 0x08, 0x1b, 0x0a, 0x9c, 0x01, 0x0a, 0x02, - 0x04, 0x1b, 0x12, 0x06, 0xc9, 0x04, 0x00, 0xcc, 0x04, 0x01, 0x1a, 0x8d, 0x01, 0x20, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, - 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, - 0x01, 0x12, 0x04, 0xc9, 0x04, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x00, 0x12, - 0x04, 0xca, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x04, 0x12, 0x04, - 0xca, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xca, - 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xca, 0x04, - 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xca, 0x04, 0x1d, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x12, 0x04, 0xca, 0x04, 0x1f, 0x47, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xca, 0x04, - 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1b, 0x02, 0x01, 0x12, 0x04, 0xcb, 0x04, 0x02, 0x4b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x04, 0x12, 0x04, 0xcb, 0x04, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xcb, 0x04, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x1b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcb, 0x04, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcb, 0x04, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1b, 0x02, 0x01, 0x08, 0x12, 0x04, 0xcb, 0x04, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x1b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x04, 0x23, 0x49, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x1c, 0x12, 0x04, 0xcd, 0x04, 0x00, 0x24, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1c, 0x01, - 0x12, 0x04, 0xcd, 0x04, 0x08, 0x21, 0x0a, 0x89, 0x01, 0x0a, 0x02, 0x04, 0x1d, 0x12, 0x06, 0xd0, - 0x04, 0x00, 0xd3, 0x04, 0x01, 0x1a, 0x7b, 0x20, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, - 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, - 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1d, 0x01, 0x12, 0x04, 0xd0, 0x04, 0x08, 0x1b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x1d, 0x02, 0x00, 0x12, 0x04, 0xd1, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x1d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd1, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x1d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd1, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x1d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd1, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xd1, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1d, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x1d, 0x02, 0x01, 0x12, 0x04, 0xd2, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, - 0x01, 0x05, 0x12, 0x04, 0xd2, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, - 0x01, 0x12, 0x04, 0xd2, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x03, - 0x12, 0x04, 0xd2, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1d, 0x02, 0x01, 0x08, 0x12, - 0x04, 0xd2, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1d, 0x02, 0x01, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd2, 0x04, 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1e, 0x12, 0x04, 0xd4, - 0x04, 0x00, 0x1f, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1e, 0x01, 0x12, 0x04, 0xd4, 0x04, 0x08, 0x1c, - 0x0a, 0x9c, 0x01, 0x0a, 0x02, 0x04, 0x1f, 0x12, 0x06, 0xd7, 0x04, 0x00, 0xda, 0x04, 0x01, 0x1a, - 0x8d, 0x01, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, 0x6e, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, - 0x46, 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, - 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x1f, 0x01, 0x12, 0x04, 0xd7, 0x04, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x1f, 0x02, 0x00, 0x12, 0x04, 0xd8, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, - 0x02, 0x00, 0x04, 0x12, 0x04, 0xd8, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xd8, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd8, 0x04, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd8, 0x04, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xd8, 0x04, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1f, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd8, 0x04, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x1f, 0x02, 0x01, 0x12, - 0x04, 0xd9, 0x04, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x04, 0x12, 0x04, - 0xd9, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd9, - 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd9, 0x04, - 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd9, 0x04, 0x20, - 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1f, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd9, 0x04, 0x22, 0x4a, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1f, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x04, - 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x20, 0x12, 0x04, 0xdb, 0x04, 0x00, 0x25, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x20, 0x01, 0x12, 0x04, 0xdb, 0x04, 0x08, 0x22, 0x0a, 0x8b, 0x01, 0x0a, 0x02, - 0x04, 0x21, 0x12, 0x06, 0xde, 0x04, 0x00, 0xe1, 0x04, 0x01, 0x1a, 0x7d, 0x20, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, 0x6e, - 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x21, 0x01, - 0x12, 0x04, 0xde, 0x04, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x00, 0x12, 0x04, - 0xdf, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x05, 0x12, 0x04, 0xdf, - 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x04, - 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x03, 0x12, 0x04, 0xdf, 0x04, 0x13, - 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x08, 0x12, 0x04, 0xdf, 0x04, 0x15, 0x3d, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x21, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdf, 0x04, - 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x01, 0x12, 0x04, 0xe0, 0x04, 0x02, 0x41, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe0, 0x04, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe0, 0x04, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe0, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x21, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe0, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x21, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe0, 0x04, 0x19, 0x3f, 0x0a, 0x0a, - 0x0a, 0x02, 0x04, 0x22, 0x12, 0x04, 0xe2, 0x04, 0x00, 0x20, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x22, - 0x01, 0x12, 0x04, 0xe2, 0x04, 0x08, 0x1d, 0x0a, 0xa0, 0x01, 0x0a, 0x02, 0x04, 0x23, 0x12, 0x06, - 0xe5, 0x04, 0x00, 0xe8, 0x04, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x55, - 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6c, 0x65, - 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x65, - 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, 0x62, 0x6f, 0x74, 0x68, - 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6f, - 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x23, - 0x01, 0x12, 0x04, 0xe5, 0x04, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x23, 0x02, 0x00, 0x12, - 0x04, 0xe6, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x04, 0x12, 0x04, - 0xe6, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe6, - 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe6, 0x04, - 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe6, 0x04, 0x1d, - 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x08, 0x12, 0x04, 0xe6, 0x04, 0x1f, 0x47, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x23, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x04, - 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x23, 0x02, 0x01, 0x12, 0x04, 0xe7, 0x04, 0x02, 0x4b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x04, 0x12, 0x04, 0xe7, 0x04, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe7, 0x04, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe7, 0x04, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x23, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe7, 0x04, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x23, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe7, 0x04, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x23, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe7, 0x04, 0x23, 0x49, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x24, 0x12, 0x04, 0xe9, 0x04, 0x00, 0x26, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x24, 0x01, - 0x12, 0x04, 0xe9, 0x04, 0x08, 0x23, 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x25, 0x12, 0x06, 0xec, 0x04, - 0x00, 0xef, 0x04, 0x01, 0x1a, 0x28, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, + 0x03, 0x04, 0x21, 0x01, 0x12, 0x04, 0xe0, 0x04, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, + 0x02, 0x00, 0x12, 0x04, 0xe1, 0x04, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xe1, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xe1, 0x04, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xe1, 0x04, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xe1, 0x04, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x21, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe1, 0x04, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x21, 0x02, 0x01, 0x12, 0x04, + 0xe2, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe2, + 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe2, 0x04, + 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe2, 0x04, 0x16, + 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x21, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe2, 0x04, 0x18, 0x40, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x21, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe2, 0x04, + 0x19, 0x3f, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x22, 0x12, 0x04, 0xe4, 0x04, 0x00, 0x20, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x22, 0x01, 0x12, 0x04, 0xe4, 0x04, 0x08, 0x1d, 0x0a, 0xa0, 0x01, 0x0a, 0x02, + 0x04, 0x23, 0x12, 0x06, 0xe7, 0x04, 0x00, 0xea, 0x04, 0x01, 0x1a, 0x91, 0x01, 0x20, 0x42, 0x61, + 0x74, 0x63, 0x68, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x52, 0x75, 0x6c, 0x65, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, + 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x61, 0x20, + 0x72, 0x75, 0x6c, 0x65, 0x20, 0x62, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, + 0x6f, 0x72, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x2e, 0x20, 0x46, + 0x6f, 0x72, 0x20, 0x65, 0x61, 0x63, 0x68, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x69, 0x66, 0x20, + 0x62, 0x6f, 0x74, 0x68, 0x20, 0x61, 0x72, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x2c, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x23, 0x01, 0x12, 0x04, 0xe7, 0x04, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x23, 0x02, 0x00, 0x12, 0x04, 0xe8, 0x04, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, + 0x00, 0x04, 0x12, 0x04, 0xe8, 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xe8, 0x04, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xe8, 0x04, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xe8, 0x04, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xe8, 0x04, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x23, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xe8, 0x04, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x23, 0x02, 0x01, 0x12, 0x04, + 0xe9, 0x04, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x04, 0x12, 0x04, 0xe9, + 0x04, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x05, 0x12, 0x04, 0xe9, 0x04, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe9, 0x04, 0x12, + 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe9, 0x04, 0x20, 0x21, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x23, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe9, 0x04, 0x22, 0x4a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x23, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x04, 0x23, + 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x24, 0x12, 0x04, 0xeb, 0x04, 0x00, 0x26, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x24, 0x01, 0x12, 0x04, 0xeb, 0x04, 0x08, 0x23, 0x0a, 0x36, 0x0a, 0x02, 0x04, 0x25, + 0x12, 0x06, 0xee, 0x04, 0x00, 0xf1, 0x04, 0x01, 0x1a, 0x28, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, + 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, + 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x25, 0x01, 0x12, 0x04, 0xee, 0x04, 0x08, 0x25, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x25, 0x07, 0x12, 0x04, 0xef, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x25, 0x07, 0x03, 0x12, 0x04, 0xef, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x25, + 0x02, 0x00, 0x12, 0x04, 0xf0, 0x04, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, + 0x05, 0x12, 0x04, 0xf0, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xf0, 0x04, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xf0, 0x04, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xf0, 0x04, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x25, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xf0, 0x04, 0x17, 0x3d, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x26, 0x12, 0x06, 0xf4, 0x04, + 0x00, 0xf7, 0x04, 0x01, 0x1a, 0x29, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, - 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x25, 0x01, 0x12, 0x04, 0xec, 0x04, 0x08, 0x25, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x25, 0x07, 0x12, 0x04, 0xed, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x25, 0x07, 0x03, - 0x12, 0x04, 0xed, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x25, 0x02, 0x00, 0x12, 0x04, - 0xee, 0x04, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x05, 0x12, 0x04, 0xee, - 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x01, 0x12, 0x04, 0xee, 0x04, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, 0x04, 0x14, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x25, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x04, 0x16, 0x3e, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x25, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xee, 0x04, - 0x17, 0x3d, 0x0a, 0x37, 0x0a, 0x02, 0x04, 0x26, 0x12, 0x06, 0xf2, 0x04, 0x00, 0xf5, 0x04, 0x01, - 0x1a, 0x29, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, - 0x75, 0x73, 0x65, 0x20, 0x56, 0x69, 0x65, 0x77, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x26, 0x01, 0x12, 0x04, 0xf2, 0x04, 0x08, 0x26, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x26, 0x07, 0x12, - 0x04, 0xf3, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x07, 0x03, 0x12, 0x04, 0xf3, - 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x00, 0x12, 0x04, 0xf4, 0x04, 0x02, - 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf4, 0x04, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf4, 0x04, 0x09, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf4, 0x04, 0x16, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf4, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x26, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf4, 0x04, 0x19, 0x3f, 0x0a, - 0x38, 0x0a, 0x02, 0x04, 0x27, 0x12, 0x06, 0xf8, 0x04, 0x00, 0xfd, 0x04, 0x01, 0x1a, 0x2a, 0x20, - 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x27, 0x01, - 0x12, 0x04, 0xf8, 0x04, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x27, 0x07, 0x12, 0x04, 0xf9, - 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x07, 0x03, 0x12, 0x04, 0xf9, 0x04, 0x02, - 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x02, 0x00, 0x12, 0x04, 0xfa, 0x04, 0x02, 0x3f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfa, 0x04, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfa, 0x04, 0x09, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x27, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfa, 0x04, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x27, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfa, 0x04, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x27, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfa, 0x04, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x27, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x27, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfb, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xfb, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xfb, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x01, - 0x08, 0x12, 0x04, 0xfb, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, 0x01, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x04, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x02, - 0x02, 0x12, 0x04, 0xfc, 0x04, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xfc, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xfc, 0x04, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xfc, 0x04, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, 0x08, 0x12, 0x04, 0xfc, - 0x04, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xfc, 0x04, 0x1e, 0x44, 0x0a, 0x39, 0x0a, 0x02, 0x04, 0x28, 0x12, 0x06, 0x80, 0x05, 0x00, - 0x85, 0x05, 0x01, 0x1a, 0x2b, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, - 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, 0x01, 0x12, 0x04, 0x80, 0x05, 0x08, 0x28, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x28, 0x07, 0x12, 0x04, 0x81, 0x05, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, - 0x07, 0x03, 0x12, 0x04, 0x81, 0x05, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, 0x02, 0x00, - 0x12, 0x04, 0x82, 0x05, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, 0x05, 0x12, - 0x04, 0x82, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, 0x01, 0x12, 0x04, - 0x82, 0x05, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, 0x03, 0x12, 0x04, 0x82, - 0x05, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, 0x08, 0x12, 0x04, 0x82, 0x05, - 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x28, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0x82, 0x05, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, 0x02, 0x01, 0x12, 0x04, 0x83, 0x05, - 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x05, 0x12, 0x04, 0x83, 0x05, 0x02, - 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x01, 0x12, 0x04, 0x83, 0x05, 0x08, 0x13, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x03, 0x12, 0x04, 0x83, 0x05, 0x16, 0x17, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x08, 0x12, 0x04, 0x83, 0x05, 0x18, 0x40, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x28, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x05, 0x19, 0x3f, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, 0x02, 0x02, 0x12, 0x04, 0x84, 0x05, 0x02, 0x3f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x28, 0x02, 0x02, 0x05, 0x12, 0x04, 0x84, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x28, 0x02, 0x02, 0x01, 0x12, 0x04, 0x84, 0x05, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x28, 0x02, 0x02, 0x03, 0x12, 0x04, 0x84, 0x05, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x28, 0x02, 0x02, 0x08, 0x12, 0x04, 0x84, 0x05, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x28, - 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x05, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x29, 0x12, 0x06, 0x87, 0x05, 0x00, 0x89, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x29, - 0x01, 0x12, 0x04, 0x87, 0x05, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x29, 0x02, 0x00, 0x12, - 0x04, 0x88, 0x05, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x05, 0x12, 0x04, - 0x88, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x01, 0x12, 0x04, 0x88, - 0x05, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x03, 0x12, 0x04, 0x88, 0x05, - 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x08, 0x12, 0x04, 0x88, 0x05, 0x16, - 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x29, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, - 0x05, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2a, 0x12, 0x06, 0x8b, 0x05, 0x00, 0x8d, 0x05, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2a, 0x01, 0x12, 0x04, 0x8b, 0x05, 0x08, 0x1d, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x00, 0x12, 0x04, 0x8c, 0x05, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2a, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8c, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8c, 0x05, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, - 0x02, 0x00, 0x03, 0x12, 0x04, 0x8c, 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, - 0x00, 0x08, 0x12, 0x04, 0x8c, 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2a, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x05, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2b, - 0x12, 0x06, 0x8f, 0x05, 0x00, 0x93, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2b, 0x01, 0x12, - 0x04, 0x8f, 0x05, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, 0x00, 0x12, 0x04, 0x90, - 0x05, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x05, 0x12, 0x04, 0x90, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x05, 0x09, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x05, 0x14, 0x15, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x05, 0x16, 0x3e, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x2b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x05, 0x17, - 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, 0x01, 0x12, 0x04, 0x91, 0x05, 0x02, 0x41, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x05, 0x12, 0x04, 0x91, 0x05, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x01, 0x12, 0x04, 0x91, 0x05, 0x09, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x2b, 0x02, 0x01, 0x03, 0x12, 0x04, 0x91, 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2b, 0x02, 0x01, 0x08, 0x12, 0x04, 0x91, 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x2b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x91, 0x05, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x2b, 0x02, 0x02, 0x12, 0x04, 0x92, 0x05, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2b, 0x02, 0x02, 0x05, 0x12, 0x04, 0x92, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, - 0x02, 0x02, 0x01, 0x12, 0x04, 0x92, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, - 0x02, 0x03, 0x12, 0x04, 0x92, 0x05, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x02, - 0x08, 0x12, 0x04, 0x92, 0x05, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2b, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x05, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2c, 0x12, - 0x06, 0x95, 0x05, 0x00, 0x9c, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2c, 0x01, 0x12, 0x04, - 0x95, 0x05, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x00, 0x12, 0x04, 0x96, 0x05, - 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x05, 0x12, 0x04, 0x96, 0x05, 0x02, - 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x05, 0x07, 0x0e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x05, 0x11, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x96, 0x05, 0x13, 0x3b, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x96, 0x05, 0x14, 0x3a, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x01, 0x12, 0x04, 0x97, 0x05, 0x02, 0x47, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x05, 0x12, 0x04, 0x97, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x2c, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, 0x05, 0x08, 0x19, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x97, 0x05, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2c, 0x02, 0x01, 0x08, 0x12, 0x04, 0x97, 0x05, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, 0x05, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x2c, 0x02, 0x02, 0x12, 0x04, 0x98, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, - 0x02, 0x02, 0x05, 0x12, 0x04, 0x98, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, - 0x02, 0x01, 0x12, 0x04, 0x98, 0x05, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x02, - 0x03, 0x12, 0x04, 0x98, 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x02, 0x08, - 0x12, 0x04, 0x98, 0x05, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x98, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x03, - 0x12, 0x04, 0x99, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x05, 0x12, - 0x04, 0x99, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x01, 0x12, 0x04, - 0x99, 0x05, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x03, 0x12, 0x04, 0x99, - 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x08, 0x12, 0x04, 0x99, 0x05, - 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0x99, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x04, 0x12, 0x04, 0x9a, 0x05, - 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9a, 0x05, 0x02, - 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9a, 0x05, 0x08, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9a, 0x05, 0x1e, 0x1f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9a, 0x05, 0x20, 0x48, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x05, 0x21, 0x47, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x05, 0x12, 0x04, 0x9b, 0x05, 0x02, 0x25, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x05, 0x04, 0x12, 0x04, 0x9b, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x2c, 0x02, 0x05, 0x05, 0x12, 0x04, 0x9b, 0x05, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x2c, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9b, 0x05, 0x12, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x2c, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9b, 0x05, 0x23, 0x24, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2d, - 0x12, 0x06, 0x9e, 0x05, 0x00, 0xa0, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2d, 0x01, 0x12, - 0x04, 0x9e, 0x05, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2d, 0x02, 0x00, 0x12, 0x04, 0x9f, - 0x05, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9f, 0x05, - 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9f, 0x05, 0x13, - 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9f, 0x05, 0x1d, 0x1e, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9f, 0x05, 0x1f, 0x47, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x2d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9f, 0x05, 0x20, - 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2e, 0x12, 0x06, 0xa2, 0x05, 0x00, 0xa4, 0x05, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x2e, 0x01, 0x12, 0x04, 0xa2, 0x05, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x2e, 0x02, 0x00, 0x12, 0x04, 0xa3, 0x05, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2e, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xa3, 0x05, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2e, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xa3, 0x05, 0x14, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2e, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xa3, 0x05, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2e, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xa3, 0x05, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2e, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xa3, 0x05, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2f, 0x12, 0x06, - 0xa6, 0x05, 0x00, 0xa8, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2f, 0x01, 0x12, 0x04, 0xa6, - 0x05, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2f, 0x02, 0x00, 0x12, 0x04, 0xa7, 0x05, 0x02, - 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa7, 0x05, 0x02, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa7, 0x05, 0x13, 0x1a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa7, 0x05, 0x1d, 0x1e, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa7, 0x05, 0x1f, 0x47, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x2f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa7, 0x05, 0x20, 0x46, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x30, 0x12, 0x06, 0xaa, 0x05, 0x00, 0xac, 0x05, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x30, 0x01, 0x12, 0x04, 0xaa, 0x05, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x30, - 0x02, 0x00, 0x12, 0x04, 0xab, 0x05, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xab, 0x05, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xab, 0x05, 0x14, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xab, 0x05, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xab, 0x05, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x30, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xab, 0x05, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x31, 0x12, 0x06, 0xae, 0x05, - 0x00, 0xc6, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x31, 0x01, 0x12, 0x04, 0xae, 0x05, 0x08, - 0x18, 0x0a, 0xe1, 0x01, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x00, 0x12, 0x04, 0xb3, 0x05, 0x02, 0x40, - 0x1a, 0xd2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, - 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, - 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, - 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, - 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xb3, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb3, - 0x05, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb3, 0x05, - 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb3, 0x05, 0x17, - 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x31, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb3, - 0x05, 0x18, 0x3e, 0x0a, 0xea, 0x01, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x01, 0x12, 0x04, 0xb9, 0x05, - 0x02, 0x41, 0x1a, 0xdb, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, + 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x26, 0x01, 0x12, 0x04, 0xf4, 0x04, 0x08, 0x26, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x26, 0x07, 0x12, 0x04, 0xf5, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x07, + 0x03, 0x12, 0x04, 0xf5, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x26, 0x02, 0x00, 0x12, + 0x04, 0xf6, 0x04, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xf6, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf6, + 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x04, + 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x26, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf6, 0x04, 0x18, + 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x26, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, + 0x04, 0x19, 0x3f, 0x0a, 0x38, 0x0a, 0x02, 0x04, 0x27, 0x12, 0x06, 0xfa, 0x04, 0x00, 0xff, 0x04, + 0x01, 0x1a, 0x2a, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, + 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x27, 0x01, 0x12, 0x04, 0xfa, 0x04, 0x08, 0x27, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x27, + 0x07, 0x12, 0x04, 0xfb, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x07, 0x03, 0x12, + 0x04, 0xfb, 0x04, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x02, 0x00, 0x12, 0x04, 0xfc, + 0x04, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfc, 0x04, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfc, 0x04, 0x09, + 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfc, 0x04, 0x14, 0x15, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfc, 0x04, 0x16, 0x3e, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfc, 0x04, 0x17, + 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x27, 0x02, 0x01, 0x12, 0x04, 0xfd, 0x04, 0x02, 0x41, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x01, 0x05, 0x12, 0x04, 0xfd, 0x04, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x27, 0x02, 0x01, 0x01, 0x12, 0x04, 0xfd, 0x04, 0x09, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x27, 0x02, 0x01, 0x03, 0x12, 0x04, 0xfd, 0x04, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x27, 0x02, 0x01, 0x08, 0x12, 0x04, 0xfd, 0x04, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x27, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x04, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x27, 0x02, 0x02, 0x12, 0x04, 0xfe, 0x04, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x27, 0x02, 0x02, 0x05, 0x12, 0x04, 0xfe, 0x04, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, + 0x02, 0x02, 0x01, 0x12, 0x04, 0xfe, 0x04, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, + 0x02, 0x03, 0x12, 0x04, 0xfe, 0x04, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x27, 0x02, 0x02, + 0x08, 0x12, 0x04, 0xfe, 0x04, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x27, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfe, 0x04, 0x1e, 0x44, 0x0a, 0x39, 0x0a, 0x02, 0x04, 0x28, 0x12, + 0x06, 0x82, 0x05, 0x00, 0x87, 0x05, 0x01, 0x1a, 0x2b, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4a, 0x73, 0x6f, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, 0x01, 0x12, 0x04, 0x82, 0x05, 0x08, + 0x28, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x28, 0x07, 0x12, 0x04, 0x83, 0x05, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x28, 0x07, 0x03, 0x12, 0x04, 0x83, 0x05, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x28, 0x02, 0x00, 0x12, 0x04, 0x84, 0x05, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, + 0x02, 0x00, 0x05, 0x12, 0x04, 0x84, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, + 0x00, 0x01, 0x12, 0x04, 0x84, 0x05, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, + 0x03, 0x12, 0x04, 0x84, 0x05, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x00, 0x08, + 0x12, 0x04, 0x84, 0x05, 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x28, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x84, 0x05, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, 0x02, 0x01, + 0x12, 0x04, 0x85, 0x05, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x05, 0x12, + 0x04, 0x85, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x01, 0x12, 0x04, + 0x85, 0x05, 0x08, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x03, 0x12, 0x04, 0x85, + 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x01, 0x08, 0x12, 0x04, 0x85, 0x05, + 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x28, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x85, 0x05, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x28, 0x02, 0x02, 0x12, 0x04, 0x86, 0x05, + 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x02, 0x05, 0x12, 0x04, 0x86, 0x05, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x02, 0x01, 0x12, 0x04, 0x86, 0x05, 0x09, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x02, 0x03, 0x12, 0x04, 0x86, 0x05, 0x14, 0x15, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x28, 0x02, 0x02, 0x08, 0x12, 0x04, 0x86, 0x05, 0x16, 0x3e, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x28, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x05, 0x17, 0x3d, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x29, 0x12, 0x06, 0x89, 0x05, 0x00, 0x8b, 0x05, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x29, 0x01, 0x12, 0x04, 0x89, 0x05, 0x08, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x29, 0x02, 0x00, 0x12, 0x04, 0x8a, 0x05, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x8a, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x8a, 0x05, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x8a, 0x05, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x29, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x8a, 0x05, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x29, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x8a, 0x05, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2a, 0x12, 0x06, 0x8d, + 0x05, 0x00, 0x8f, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2a, 0x01, 0x12, 0x04, 0x8d, 0x05, + 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2a, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x05, 0x02, 0x41, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x05, 0x12, 0x04, 0x8e, 0x05, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x05, 0x09, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x2a, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8e, 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x2a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8e, 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x2a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8e, 0x05, 0x19, 0x3f, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x2b, 0x12, 0x06, 0x91, 0x05, 0x00, 0x95, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x2b, 0x01, 0x12, 0x04, 0x91, 0x05, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, + 0x00, 0x12, 0x04, 0x92, 0x05, 0x02, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x92, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x92, 0x05, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x92, 0x05, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x92, + 0x05, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x92, 0x05, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, 0x01, 0x12, 0x04, 0x93, + 0x05, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x05, 0x12, 0x04, 0x93, 0x05, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x01, 0x12, 0x04, 0x93, 0x05, 0x09, + 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x03, 0x12, 0x04, 0x93, 0x05, 0x16, 0x17, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x01, 0x08, 0x12, 0x04, 0x93, 0x05, 0x18, 0x40, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x2b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x05, 0x19, + 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2b, 0x02, 0x02, 0x12, 0x04, 0x94, 0x05, 0x02, 0x46, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x02, 0x05, 0x12, 0x04, 0x94, 0x05, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x2b, 0x02, 0x02, 0x01, 0x12, 0x04, 0x94, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x2b, 0x02, 0x02, 0x03, 0x12, 0x04, 0x94, 0x05, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x2b, 0x02, 0x02, 0x08, 0x12, 0x04, 0x94, 0x05, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x2b, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x05, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x2c, 0x12, 0x06, 0x97, 0x05, 0x00, 0x9e, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x2c, 0x01, 0x12, 0x04, 0x97, 0x05, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x00, + 0x12, 0x04, 0x98, 0x05, 0x02, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x05, 0x12, + 0x04, 0x98, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x01, 0x12, 0x04, + 0x98, 0x05, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x03, 0x12, 0x04, 0x98, + 0x05, 0x11, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x12, 0x04, 0x98, 0x05, + 0x13, 0x3b, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x98, 0x05, 0x14, 0x3a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x01, 0x12, 0x04, 0x99, 0x05, + 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x05, 0x12, 0x04, 0x99, 0x05, 0x02, + 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x01, 0x12, 0x04, 0x99, 0x05, 0x08, 0x19, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x03, 0x12, 0x04, 0x99, 0x05, 0x1c, 0x1d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x01, 0x08, 0x12, 0x04, 0x99, 0x05, 0x1e, 0x46, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x99, 0x05, 0x1f, 0x45, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x02, 0x12, 0x04, 0x9a, 0x05, 0x02, 0x49, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x02, 0x05, 0x12, 0x04, 0x9a, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x2c, 0x02, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x05, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x2c, 0x02, 0x02, 0x03, 0x12, 0x04, 0x9a, 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x2c, 0x02, 0x02, 0x08, 0x12, 0x04, 0x9a, 0x05, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, + 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x2c, 0x02, 0x03, 0x12, 0x04, 0x9b, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, + 0x02, 0x03, 0x05, 0x12, 0x04, 0x9b, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, + 0x03, 0x01, 0x12, 0x04, 0x9b, 0x05, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, + 0x03, 0x12, 0x04, 0x9b, 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x03, 0x08, + 0x12, 0x04, 0x9b, 0x05, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x03, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x9b, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x04, + 0x12, 0x04, 0x9c, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x05, 0x12, + 0x04, 0x9c, 0x05, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x01, 0x12, 0x04, + 0x9c, 0x05, 0x08, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9c, + 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x04, 0x08, 0x12, 0x04, 0x9c, 0x05, + 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2c, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x9c, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2c, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x05, + 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x05, 0x04, 0x12, 0x04, 0x9d, 0x05, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x05, 0x05, 0x12, 0x04, 0x9d, 0x05, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x05, 0x12, 0x20, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x2c, 0x02, 0x05, 0x03, 0x12, 0x04, 0x9d, 0x05, 0x23, 0x24, 0x0a, 0x0c, + 0x0a, 0x02, 0x04, 0x2d, 0x12, 0x06, 0xa0, 0x05, 0x00, 0xa2, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x2d, 0x01, 0x12, 0x04, 0xa0, 0x05, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2d, 0x02, + 0x00, 0x12, 0x04, 0xa1, 0x05, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x06, + 0x12, 0x04, 0xa1, 0x05, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x01, 0x12, + 0x04, 0xa1, 0x05, 0x13, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x03, 0x12, 0x04, + 0xa1, 0x05, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa1, + 0x05, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xa1, 0x05, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x2e, 0x12, 0x06, 0xa4, 0x05, 0x00, + 0xa6, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2e, 0x01, 0x12, 0x04, 0xa4, 0x05, 0x08, 0x21, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2e, 0x02, 0x00, 0x12, 0x04, 0xa5, 0x05, 0x02, 0x4a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x2e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa5, 0x05, 0x02, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x2e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa5, 0x05, 0x14, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x2e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa5, 0x05, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x2e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa5, 0x05, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2e, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa5, 0x05, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x2f, 0x12, 0x06, 0xa8, 0x05, 0x00, 0xaa, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x2f, + 0x01, 0x12, 0x04, 0xa8, 0x05, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x2f, 0x02, 0x00, 0x12, + 0x04, 0xa9, 0x05, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x06, 0x12, 0x04, + 0xa9, 0x05, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa9, + 0x05, 0x13, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x05, + 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x2f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa9, 0x05, 0x1f, + 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x2f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, + 0x05, 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x30, 0x12, 0x06, 0xac, 0x05, 0x00, 0xae, 0x05, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x30, 0x01, 0x12, 0x04, 0xac, 0x05, 0x08, 0x1f, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x30, 0x02, 0x00, 0x12, 0x04, 0xad, 0x05, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x30, 0x02, 0x00, 0x06, 0x12, 0x04, 0xad, 0x05, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x30, 0x02, 0x00, 0x01, 0x12, 0x04, 0xad, 0x05, 0x14, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xad, 0x05, 0x1f, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x30, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xad, 0x05, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x30, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xad, 0x05, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x31, + 0x12, 0x06, 0xb0, 0x05, 0x00, 0xc8, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x31, 0x01, 0x12, + 0x04, 0xb0, 0x05, 0x08, 0x18, 0x0a, 0xe1, 0x01, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x00, 0x12, 0x04, + 0xb5, 0x05, 0x02, 0x40, 0x1a, 0xd2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x52, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, + 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, + 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, + 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, + 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, + 0x00, 0x05, 0x12, 0x04, 0xb5, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xb5, 0x05, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xb5, 0x05, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x00, 0x08, 0x12, + 0x04, 0xb5, 0x05, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x31, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xb5, 0x05, 0x18, 0x3e, 0x0a, 0xea, 0x01, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x01, + 0x12, 0x04, 0xbb, 0x05, 0x02, 0x41, 0x1a, 0xdb, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, + 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, + 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, + 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, + 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x60, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbb, + 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbb, 0x05, + 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbb, 0x05, 0x16, + 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x08, 0x12, 0x04, 0xbb, 0x05, 0x18, 0x40, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x31, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x05, + 0x19, 0x3f, 0x0a, 0xba, 0x04, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x02, 0x12, 0x04, 0xc2, 0x05, 0x02, + 0x3d, 0x1a, 0xab, 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, + 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, + 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, + 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, + 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, + 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x60, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, + 0x60, 0x69, 0x73, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x60, 0x2c, 0x20, 0x60, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, + 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, + 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, + 0x60, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, + 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x60, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, + 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x60, + 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, + 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, + 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, + 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, + 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, + 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc2, 0x05, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x31, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x05, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x31, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc2, 0x05, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x31, 0x02, 0x02, 0x08, 0x12, 0x04, 0xc2, 0x05, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x31, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x05, 0x15, 0x3b, 0x0a, 0x94, 0x02, + 0x0a, 0x04, 0x04, 0x31, 0x02, 0x03, 0x12, 0x04, 0xc7, 0x05, 0x02, 0x3f, 0x1a, 0x85, 0x02, 0x20, + 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, + 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, + 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, + 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, + 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, + 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, + 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, + 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, + 0x74, 0x29, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x05, 0x12, 0x04, 0xc7, + 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc7, 0x05, + 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc7, 0x05, 0x14, + 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc7, 0x05, 0x16, 0x3e, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x31, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x05, + 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x32, 0x12, 0x06, 0xca, 0x05, 0x00, 0xcd, 0x05, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x32, 0x01, 0x12, 0x04, 0xca, 0x05, 0x08, 0x19, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x32, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x05, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x32, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcb, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, + 0x02, 0x00, 0x06, 0x12, 0x04, 0xcb, 0x05, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xcb, 0x05, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xcb, 0x05, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x08, + 0x12, 0x04, 0xcb, 0x05, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x32, 0x02, 0x00, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xcb, 0x05, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x32, 0x02, 0x01, + 0x12, 0x04, 0xcc, 0x05, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x05, 0x12, + 0x04, 0xcc, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xcc, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcc, + 0x05, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x33, 0x12, 0x06, 0xcf, 0x05, 0x00, 0xe2, 0x05, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x33, 0x01, 0x12, 0x04, 0xcf, 0x05, 0x08, 0x1f, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x33, 0x02, 0x00, 0x12, 0x04, 0xd0, 0x05, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x33, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd0, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x33, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x05, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xd0, 0x05, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, + 0x00, 0x08, 0x12, 0x04, 0xd0, 0x05, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x33, 0x02, 0x00, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd0, 0x05, 0x16, 0x3c, 0x0a, 0xf1, 0x01, 0x0a, 0x04, 0x04, + 0x33, 0x02, 0x01, 0x12, 0x04, 0xd6, 0x05, 0x02, 0x40, 0x1a, 0xe2, 0x01, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, + 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, + 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, + 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x33, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd6, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x33, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd6, 0x05, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x33, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd6, 0x05, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x33, 0x02, 0x01, 0x08, 0x12, 0x04, 0xd6, 0x05, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x33, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x05, 0x18, 0x3e, 0x0a, 0xf8, 0x01, 0x0a, + 0x04, 0x04, 0x33, 0x02, 0x02, 0x12, 0x04, 0xdc, 0x05, 0x02, 0x41, 0x1a, 0xe9, 0x01, 0x20, 0x41, + 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, + 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb9, 0x05, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb9, 0x05, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x31, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb9, 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x31, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb9, 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x31, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x05, 0x19, 0x3f, 0x0a, 0xba, - 0x04, 0x0a, 0x04, 0x04, 0x31, 0x02, 0x02, 0x12, 0x04, 0xc0, 0x05, 0x02, 0x3d, 0x1a, 0xab, 0x04, - 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, - 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, - 0x65, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, - 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, - 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, - 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, - 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, - 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, - 0x60, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x5f, 0x65, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x60, 0x2e, 0x0a, 0x20, 0x46, - 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, - 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, - 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, - 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, - 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, - 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x31, 0x02, 0x02, 0x05, 0x12, 0x04, 0xc0, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, - 0x02, 0x02, 0x01, 0x12, 0x04, 0xc0, 0x05, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, - 0x02, 0x03, 0x12, 0x04, 0xc0, 0x05, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x02, - 0x08, 0x12, 0x04, 0xc0, 0x05, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x31, 0x02, 0x02, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc0, 0x05, 0x15, 0x3b, 0x0a, 0x94, 0x02, 0x0a, 0x04, 0x04, 0x31, - 0x02, 0x03, 0x12, 0x04, 0xc5, 0x05, 0x02, 0x3f, 0x1a, 0x85, 0x02, 0x20, 0x48, 0x6f, 0x77, 0x20, - 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, - 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x2e, 0x20, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, - 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, - 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, - 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, - 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x05, 0x12, 0x04, 0xc5, 0x05, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc5, 0x05, 0x09, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x31, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc5, 0x05, 0x14, 0x15, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x31, 0x02, 0x03, 0x08, 0x12, 0x04, 0xc5, 0x05, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x31, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x05, 0x17, 0x3d, 0x0a, 0x0c, - 0x0a, 0x02, 0x04, 0x32, 0x12, 0x06, 0xc8, 0x05, 0x00, 0xcb, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x32, 0x01, 0x12, 0x04, 0xc8, 0x05, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x32, 0x02, - 0x00, 0x12, 0x04, 0xc9, 0x05, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x04, - 0x12, 0x04, 0xc9, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x06, 0x12, - 0x04, 0xc9, 0x05, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x01, 0x12, 0x04, - 0xc9, 0x05, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc9, - 0x05, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc9, 0x05, - 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x32, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xc9, 0x05, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x32, 0x02, 0x01, 0x12, 0x04, 0xca, 0x05, - 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x05, 0x12, 0x04, 0xca, 0x05, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x01, 0x12, 0x04, 0xca, 0x05, 0x09, 0x18, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x32, 0x02, 0x01, 0x03, 0x12, 0x04, 0xca, 0x05, 0x1b, 0x1c, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x33, 0x12, 0x06, 0xcd, 0x05, 0x00, 0xe0, 0x05, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x33, 0x01, 0x12, 0x04, 0xcd, 0x05, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x33, - 0x02, 0x00, 0x12, 0x04, 0xce, 0x05, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xce, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xce, 0x05, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xce, 0x05, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xce, 0x05, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x33, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xce, 0x05, 0x16, 0x3c, 0x0a, 0xf1, 0x01, 0x0a, 0x04, 0x04, 0x33, 0x02, 0x01, 0x12, - 0x04, 0xd4, 0x05, 0x02, 0x40, 0x1a, 0xe2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, - 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x52, - 0x75, 0x6c, 0x65, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, - 0x35, 0x30, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, - 0x02, 0x01, 0x05, 0x12, 0x04, 0xd4, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, - 0x01, 0x01, 0x12, 0x04, 0xd4, 0x05, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x01, - 0x03, 0x12, 0x04, 0xd4, 0x05, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x01, 0x08, - 0x12, 0x04, 0xd4, 0x05, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x33, 0x02, 0x01, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xd4, 0x05, 0x18, 0x3e, 0x0a, 0xf8, 0x01, 0x0a, 0x04, 0x04, 0x33, 0x02, - 0x02, 0x12, 0x04, 0xda, 0x05, 0x02, 0x41, 0x1a, 0xe9, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, - 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, - 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, - 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, - 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, - 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, - 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x05, 0x12, 0x04, 0xda, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x01, 0x12, 0x04, 0xda, 0x05, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x03, 0x12, 0x04, 0xda, 0x05, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x08, 0x12, 0x04, 0xda, 0x05, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x33, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xda, 0x05, 0x19, - 0x3f, 0x0a, 0xef, 0x02, 0x0a, 0x04, 0x04, 0x33, 0x02, 0x03, 0x12, 0x04, 0xdf, 0x05, 0x02, 0x14, - 0x1a, 0xe0, 0x02, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, - 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, - 0x2c, 0x20, 0x60, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, 0x73, 0x60, 0x2c, 0x20, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x5f, 0x6d, 0x65, 0x73, - 0x73, 0x61, 0x67, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, - 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, - 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, - 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, - 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, - 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, - 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x05, 0x12, 0x04, 0xdf, 0x05, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x01, 0x12, 0x04, 0xdf, 0x05, 0x09, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x03, 0x12, 0x04, 0xdf, 0x05, 0x12, 0x13, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x34, 0x12, 0x06, 0xe2, 0x05, 0x00, 0xf3, 0x05, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x34, 0x01, 0x12, 0x04, 0xe2, 0x05, 0x08, 0x13, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x34, 0x02, 0x00, 0x12, 0x04, 0xe3, 0x05, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xe3, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xe3, 0x05, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xe3, 0x05, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xe3, 0x05, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xe3, 0x05, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x01, 0x12, - 0x04, 0xe4, 0x05, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xe4, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x01, 0x12, 0x04, 0xe4, - 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe4, 0x05, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x08, 0x12, 0x04, 0xe4, 0x05, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe4, - 0x05, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x02, 0x12, 0x04, 0xe5, 0x05, 0x02, - 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe5, 0x05, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe5, 0x05, 0x09, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x05, 0x13, 0x14, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x08, 0x12, 0x04, 0xe5, 0x05, 0x15, 0x3d, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x34, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x05, 0x16, 0x3c, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x03, 0x12, 0x04, 0xe6, 0x05, 0x02, 0x56, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x34, 0x02, 0x03, 0x06, 0x12, 0x04, 0xe6, 0x05, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x34, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe6, 0x05, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x34, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe6, 0x05, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, - 0x02, 0x03, 0x08, 0x12, 0x04, 0xe6, 0x05, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, - 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x05, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x34, 0x02, 0x04, 0x12, 0x04, 0xe7, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, - 0x04, 0x05, 0x12, 0x04, 0xe7, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x04, - 0x01, 0x12, 0x04, 0xe7, 0x05, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x04, 0x03, - 0x12, 0x04, 0xe7, 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x04, 0x08, 0x12, - 0x04, 0xe7, 0x05, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x04, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xe7, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x05, 0x12, - 0x04, 0xe8, 0x05, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x05, 0x12, 0x04, - 0xe8, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x01, 0x12, 0x04, 0xe8, - 0x05, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x03, 0x12, 0x04, 0xe8, 0x05, - 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x08, 0x12, 0x04, 0xe8, 0x05, 0x1b, - 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, - 0x05, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x06, 0x12, 0x04, 0xe9, 0x05, 0x02, - 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x05, 0x12, 0x04, 0xe9, 0x05, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x01, 0x12, 0x04, 0xe9, 0x05, 0x09, 0x21, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x03, 0x12, 0x04, 0xe9, 0x05, 0x24, 0x25, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x08, 0x12, 0x04, 0xe9, 0x05, 0x26, 0x4e, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x34, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x05, 0x27, 0x4d, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x07, 0x12, 0x06, 0xea, 0x05, 0x02, 0xed, 0x05, 0x04, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x06, 0x12, 0x04, 0xea, 0x05, 0x02, 0x1b, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x01, 0x12, 0x04, 0xea, 0x05, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x34, 0x02, 0x07, 0x03, 0x12, 0x04, 0xea, 0x05, 0x2b, 0x2c, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x34, 0x02, 0x07, 0x08, 0x12, 0x06, 0xea, 0x05, 0x2d, 0xed, 0x05, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x34, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x05, 0x04, 0x2a, 0x0a, - 0x0e, 0x0a, 0x06, 0x04, 0x34, 0x02, 0x07, 0x08, 0x03, 0x12, 0x04, 0xec, 0x05, 0x04, 0x15, 0x0a, - 0x4a, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x08, 0x12, 0x04, 0xef, 0x05, 0x02, 0x57, 0x1a, 0x3c, 0x20, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x6e, - 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x77, 0x61, - 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x34, 0x02, 0x08, 0x06, 0x12, 0x04, 0xef, 0x05, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, - 0x02, 0x08, 0x01, 0x12, 0x04, 0xef, 0x05, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, - 0x08, 0x03, 0x12, 0x04, 0xef, 0x05, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x08, - 0x08, 0x12, 0x04, 0xef, 0x05, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x08, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xef, 0x05, 0x2f, 0x55, 0x0a, 0x4b, 0x0a, 0x04, 0x04, 0x34, 0x02, - 0x09, 0x12, 0x04, 0xf2, 0x05, 0x02, 0x41, 0x1a, 0x3d, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, 0x05, 0x12, - 0x04, 0xf2, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, 0x01, 0x12, 0x04, - 0xf2, 0x05, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, 0x03, 0x12, 0x04, 0xf2, - 0x05, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, 0x08, 0x12, 0x04, 0xf2, 0x05, - 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf2, 0x05, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x35, 0x12, 0x06, 0xf5, 0x05, 0x00, 0xf8, - 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x35, 0x01, 0x12, 0x04, 0xf5, 0x05, 0x08, 0x20, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x35, 0x02, 0x00, 0x12, 0x04, 0xf6, 0x05, 0x02, 0x52, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x35, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf6, 0x05, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x35, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf6, 0x05, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x35, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf6, 0x05, 0x17, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xf6, 0x05, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xf6, 0x05, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x35, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf6, 0x05, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x35, - 0x02, 0x01, 0x12, 0x04, 0xf7, 0x05, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xf7, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xf7, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xf7, 0x05, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x36, 0x12, 0x06, 0xfa, 0x05, 0x00, - 0xfc, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x36, 0x01, 0x12, 0x04, 0xfa, 0x05, 0x08, 0x1d, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x36, 0x02, 0x00, 0x12, 0x04, 0xfb, 0x05, 0x02, 0x46, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x36, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfb, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x36, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfb, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x36, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfb, 0x05, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x36, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfb, 0x05, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x36, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x05, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x02, - 0x04, 0x37, 0x12, 0x06, 0xfe, 0x05, 0x00, 0x80, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x37, - 0x01, 0x12, 0x04, 0xfe, 0x05, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x37, 0x02, 0x00, 0x12, - 0x04, 0xff, 0x05, 0x02, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x06, 0x12, 0x04, - 0xff, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x01, 0x12, 0x04, 0xff, - 0x05, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x03, 0x12, 0x04, 0xff, 0x05, - 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x08, 0x12, 0x04, 0xff, 0x05, 0x10, - 0x38, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x37, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xff, - 0x05, 0x11, 0x37, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x38, 0x12, 0x06, 0x82, 0x06, 0x00, 0x84, 0x06, - 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x38, 0x01, 0x12, 0x04, 0x82, 0x06, 0x08, 0x23, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x38, 0x02, 0x00, 0x12, 0x04, 0x83, 0x06, 0x02, 0x50, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x38, 0x02, 0x00, 0x04, 0x12, 0x04, 0x83, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x38, 0x02, 0x00, 0x05, 0x12, 0x04, 0x83, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x38, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x83, 0x06, 0x12, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x38, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x83, 0x06, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x38, 0x02, 0x00, - 0x08, 0x12, 0x04, 0x83, 0x06, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x38, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0x83, 0x06, 0x28, 0x4e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x39, 0x12, - 0x06, 0x86, 0x06, 0x00, 0x88, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x39, 0x01, 0x12, 0x04, - 0x86, 0x06, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x39, 0x02, 0x00, 0x12, 0x04, 0x87, 0x06, - 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x04, 0x12, 0x04, 0x87, 0x06, 0x02, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x06, 0x12, 0x04, 0x87, 0x06, 0x0b, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x01, 0x12, 0x04, 0x87, 0x06, 0x10, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x03, 0x12, 0x04, 0x87, 0x06, 0x18, 0x19, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x08, 0x12, 0x04, 0x87, 0x06, 0x1a, 0x42, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x39, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x06, 0x1b, 0x41, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x3a, 0x12, 0x06, 0x8a, 0x06, 0x00, 0x8f, 0x06, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x3a, 0x01, 0x12, 0x04, 0x8a, 0x06, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x3a, - 0x08, 0x00, 0x12, 0x06, 0x8b, 0x06, 0x02, 0x8e, 0x06, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, - 0x08, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x06, 0x08, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3a, 0x02, - 0x00, 0x12, 0x04, 0x8c, 0x06, 0x04, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x00, 0x06, - 0x12, 0x04, 0x8c, 0x06, 0x04, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x8c, 0x06, 0x26, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x8c, 0x06, 0x42, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8c, - 0x06, 0x44, 0x57, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x3a, 0x02, 0x00, 0x08, 0x03, 0x12, 0x04, 0x8c, - 0x06, 0x45, 0x56, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3a, 0x02, 0x01, 0x12, 0x04, 0x8d, 0x06, 0x04, - 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x06, 0x12, 0x04, 0x8d, 0x06, 0x04, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x06, 0x1c, 0x2e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8d, 0x06, 0x31, 0x32, 0x0a, 0x39, - 0x0a, 0x02, 0x04, 0x3b, 0x12, 0x06, 0x92, 0x06, 0x00, 0x9d, 0x06, 0x01, 0x1a, 0x2b, 0x20, 0x44, + 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, + 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x05, + 0x12, 0x04, 0xdc, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xdc, 0x05, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xdc, 0x05, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x02, 0x08, 0x12, 0x04, 0xdc, + 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x33, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xdc, 0x05, 0x19, 0x3f, 0x0a, 0xef, 0x02, 0x0a, 0x04, 0x04, 0x33, 0x02, 0x03, 0x12, 0x04, + 0xe1, 0x05, 0x02, 0x14, 0x1a, 0xe0, 0x02, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, + 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, + 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, + 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, + 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x6e, 0x6f, 0x74, 0x65, + 0x73, 0x60, 0x2c, 0x20, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, + 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, + 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, + 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x05, + 0x12, 0x04, 0xe1, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x01, 0x12, + 0x04, 0xe1, 0x05, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x33, 0x02, 0x03, 0x03, 0x12, 0x04, + 0xe1, 0x05, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x34, 0x12, 0x06, 0xe4, 0x05, 0x00, 0xf5, + 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x34, 0x01, 0x12, 0x04, 0xe4, 0x05, 0x08, 0x13, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x05, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x34, 0x02, 0x00, 0x05, 0x12, 0x04, 0xe5, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x34, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x05, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x34, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe5, 0x05, 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xe5, 0x05, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe5, 0x05, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x34, 0x02, 0x01, 0x12, 0x04, 0xe6, 0x05, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, + 0x01, 0x05, 0x12, 0x04, 0xe6, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, + 0x01, 0x12, 0x04, 0xe6, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x03, + 0x12, 0x04, 0xe6, 0x05, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x01, 0x08, 0x12, + 0x04, 0xe6, 0x05, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x01, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xe6, 0x05, 0x1e, 0x44, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x02, 0x12, + 0x04, 0xe7, 0x05, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x05, 0x12, 0x04, + 0xe7, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe7, + 0x05, 0x09, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe7, 0x05, + 0x13, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x02, 0x08, 0x12, 0x04, 0xe7, 0x05, 0x15, + 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe7, + 0x05, 0x16, 0x3c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x03, 0x12, 0x04, 0xe8, 0x05, 0x02, + 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x03, 0x06, 0x12, 0x04, 0xe8, 0x05, 0x02, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe8, 0x05, 0x1c, 0x28, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe8, 0x05, 0x2b, 0x2c, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x34, 0x02, 0x03, 0x08, 0x12, 0x04, 0xe8, 0x05, 0x2d, 0x55, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x34, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe8, 0x05, 0x2e, 0x54, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x04, 0x12, 0x04, 0xe9, 0x05, 0x02, 0x49, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x34, 0x02, 0x04, 0x05, 0x12, 0x04, 0xe9, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x34, 0x02, 0x04, 0x01, 0x12, 0x04, 0xe9, 0x05, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x34, 0x02, 0x04, 0x03, 0x12, 0x04, 0xe9, 0x05, 0x1e, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, + 0x02, 0x04, 0x08, 0x12, 0x04, 0xe9, 0x05, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, + 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe9, 0x05, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x34, 0x02, 0x05, 0x12, 0x04, 0xea, 0x05, 0x02, 0x44, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, + 0x05, 0x05, 0x12, 0x04, 0xea, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, + 0x01, 0x12, 0x04, 0xea, 0x05, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x03, + 0x12, 0x04, 0xea, 0x05, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x05, 0x08, 0x12, + 0x04, 0xea, 0x05, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x05, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xea, 0x05, 0x1c, 0x42, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x06, 0x12, + 0x04, 0xeb, 0x05, 0x02, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x05, 0x12, 0x04, + 0xeb, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x01, 0x12, 0x04, 0xeb, + 0x05, 0x09, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x03, 0x12, 0x04, 0xeb, 0x05, + 0x24, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x06, 0x08, 0x12, 0x04, 0xeb, 0x05, 0x26, + 0x4e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, + 0x05, 0x27, 0x4d, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x07, 0x12, 0x06, 0xec, 0x05, 0x02, + 0xef, 0x05, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x06, 0x12, 0x04, 0xec, 0x05, + 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x01, 0x12, 0x04, 0xec, 0x05, 0x1c, + 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x03, 0x12, 0x04, 0xec, 0x05, 0x2b, 0x2c, + 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x07, 0x08, 0x12, 0x06, 0xec, 0x05, 0x2d, 0xef, 0x05, + 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xed, + 0x05, 0x04, 0x2a, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x34, 0x02, 0x07, 0x08, 0x03, 0x12, 0x04, 0xee, + 0x05, 0x04, 0x15, 0x0a, 0x4a, 0x0a, 0x04, 0x04, 0x34, 0x02, 0x08, 0x12, 0x04, 0xf1, 0x05, 0x02, + 0x57, 0x1a, 0x3c, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x65, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x08, 0x06, 0x12, 0x04, 0xf1, 0x05, 0x02, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x34, 0x02, 0x08, 0x01, 0x12, 0x04, 0xf1, 0x05, 0x1c, 0x29, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x34, 0x02, 0x08, 0x03, 0x12, 0x04, 0xf1, 0x05, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x34, 0x02, 0x08, 0x08, 0x12, 0x04, 0xf1, 0x05, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x34, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf1, 0x05, 0x2f, 0x55, 0x0a, 0x4b, 0x0a, + 0x04, 0x04, 0x34, 0x02, 0x09, 0x12, 0x04, 0xf4, 0x05, 0x02, 0x41, 0x1a, 0x3d, 0x20, 0x69, 0x73, + 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, + 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6e, 0x75, 0x6c, 0x6c, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, + 0x02, 0x09, 0x05, 0x12, 0x04, 0xf4, 0x05, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, + 0x09, 0x01, 0x12, 0x04, 0xf4, 0x05, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, + 0x03, 0x12, 0x04, 0xf4, 0x05, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x34, 0x02, 0x09, 0x08, + 0x12, 0x04, 0xf4, 0x05, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x34, 0x02, 0x09, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0xf4, 0x05, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x35, 0x12, 0x06, + 0xf7, 0x05, 0x00, 0xfa, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x35, 0x01, 0x12, 0x04, 0xf7, + 0x05, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x35, 0x02, 0x00, 0x12, 0x04, 0xf8, 0x05, 0x02, + 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x00, 0x04, 0x12, 0x04, 0xf8, 0x05, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x00, 0x06, 0x12, 0x04, 0xf8, 0x05, 0x0b, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x35, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf8, 0x05, 0x17, 0x24, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x35, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf8, 0x05, 0x27, 0x28, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x35, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf8, 0x05, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x35, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x05, 0x2a, 0x50, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x35, 0x02, 0x01, 0x12, 0x04, 0xf9, 0x05, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x35, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf9, 0x05, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x35, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf9, 0x05, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x35, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xf9, 0x05, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x36, 0x12, + 0x06, 0xfc, 0x05, 0x00, 0xfe, 0x05, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x36, 0x01, 0x12, 0x04, + 0xfc, 0x05, 0x08, 0x1d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x36, 0x02, 0x00, 0x12, 0x04, 0xfd, 0x05, + 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x36, 0x02, 0x00, 0x05, 0x12, 0x04, 0xfd, 0x05, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x36, 0x02, 0x00, 0x01, 0x12, 0x04, 0xfd, 0x05, 0x09, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x36, 0x02, 0x00, 0x03, 0x12, 0x04, 0xfd, 0x05, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x36, 0x02, 0x00, 0x08, 0x12, 0x04, 0xfd, 0x05, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x36, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x05, 0x1e, 0x44, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x37, 0x12, 0x06, 0x80, 0x06, 0x00, 0x82, 0x06, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x37, 0x01, 0x12, 0x04, 0x80, 0x06, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x37, 0x02, 0x00, 0x12, 0x04, 0x81, 0x06, 0x02, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, + 0x00, 0x06, 0x12, 0x04, 0x81, 0x06, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x81, 0x06, 0x07, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x81, 0x06, 0x0e, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x37, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x81, 0x06, 0x10, 0x38, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x37, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x81, 0x06, 0x11, 0x37, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x38, 0x12, 0x06, 0x84, + 0x06, 0x00, 0x86, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x38, 0x01, 0x12, 0x04, 0x84, 0x06, + 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x38, 0x02, 0x00, 0x12, 0x04, 0x85, 0x06, 0x02, 0x50, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x38, 0x02, 0x00, 0x04, 0x12, 0x04, 0x85, 0x06, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x38, 0x02, 0x00, 0x05, 0x12, 0x04, 0x85, 0x06, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x38, 0x02, 0x00, 0x01, 0x12, 0x04, 0x85, 0x06, 0x12, 0x22, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x38, 0x02, 0x00, 0x03, 0x12, 0x04, 0x85, 0x06, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x38, 0x02, 0x00, 0x08, 0x12, 0x04, 0x85, 0x06, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x38, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x06, 0x28, 0x4e, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x39, 0x12, 0x06, 0x88, 0x06, 0x00, 0x8a, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x39, 0x01, 0x12, 0x04, 0x88, 0x06, 0x08, 0x24, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x39, 0x02, 0x00, + 0x12, 0x04, 0x89, 0x06, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x04, 0x12, + 0x04, 0x89, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x06, 0x12, 0x04, + 0x89, 0x06, 0x0b, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x01, 0x12, 0x04, 0x89, + 0x06, 0x10, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x03, 0x12, 0x04, 0x89, 0x06, + 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x39, 0x02, 0x00, 0x08, 0x12, 0x04, 0x89, 0x06, 0x1a, + 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x39, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, + 0x06, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x3a, 0x12, 0x06, 0x8c, 0x06, 0x00, 0x91, 0x06, + 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3a, 0x01, 0x12, 0x04, 0x8c, 0x06, 0x08, 0x1f, 0x0a, 0x0e, + 0x0a, 0x04, 0x04, 0x3a, 0x08, 0x00, 0x12, 0x06, 0x8d, 0x06, 0x02, 0x90, 0x06, 0x03, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x3a, 0x08, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x06, 0x08, 0x12, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x3a, 0x02, 0x00, 0x12, 0x04, 0x8e, 0x06, 0x04, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x3a, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8e, 0x06, 0x04, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x8e, 0x06, 0x26, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x8e, 0x06, 0x42, 0x43, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x8e, 0x06, 0x44, 0x57, 0x0a, 0x0e, 0x0a, 0x06, 0x04, 0x3a, 0x02, 0x00, 0x08, + 0x03, 0x12, 0x04, 0x8e, 0x06, 0x45, 0x56, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3a, 0x02, 0x01, 0x12, + 0x04, 0x8f, 0x06, 0x04, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x06, 0x12, 0x04, + 0x8f, 0x06, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8f, + 0x06, 0x1c, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3a, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8f, 0x06, + 0x31, 0x32, 0x0a, 0x39, 0x0a, 0x02, 0x04, 0x3b, 0x12, 0x06, 0x94, 0x06, 0x00, 0x9f, 0x06, 0x01, + 0x1a, 0x2b, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, + 0x75, 0x73, 0x65, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x3b, 0x01, 0x12, 0x04, 0x94, 0x06, 0x08, 0x29, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, + 0x3b, 0x02, 0x00, 0x12, 0x04, 0x96, 0x06, 0x02, 0x48, 0x1a, 0x88, 0x01, 0x20, 0x44, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x63, 0x68, + 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, + 0x61, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, + 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, + 0x6e, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x65, + 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, + 0x61, 0x73, 0x20, 0x60, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, + 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x05, 0x12, 0x04, 0x96, + 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x96, 0x06, + 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x96, 0x06, 0x1d, + 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x96, 0x06, 0x1f, 0x47, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x96, 0x06, + 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x01, 0x12, 0x04, 0x97, 0x06, 0x02, 0x43, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x01, 0x05, 0x12, 0x04, 0x97, 0x06, 0x02, 0x08, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x01, 0x01, 0x12, 0x04, 0x97, 0x06, 0x09, 0x15, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x01, 0x03, 0x12, 0x04, 0x97, 0x06, 0x18, 0x19, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x3b, 0x02, 0x01, 0x08, 0x12, 0x04, 0x97, 0x06, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x3b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, 0x06, 0x1b, 0x41, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x02, 0x12, 0x04, 0x98, 0x06, 0x02, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x3b, 0x02, 0x02, 0x06, 0x12, 0x04, 0x98, 0x06, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x3b, 0x02, 0x02, 0x01, 0x12, 0x04, 0x98, 0x06, 0x16, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, + 0x02, 0x02, 0x03, 0x12, 0x04, 0x98, 0x06, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, + 0x02, 0x08, 0x12, 0x04, 0x98, 0x06, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3b, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x98, 0x06, 0x26, 0x4c, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, + 0x3b, 0x08, 0x00, 0x12, 0x06, 0x9a, 0x06, 0x02, 0x9e, 0x06, 0x03, 0x1a, 0x8a, 0x01, 0x20, 0x54, + 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, + 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x42, 0x6f, 0x6f, + 0x6c, 0x65, 0x61, 0x6e, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, + 0x30, 0x2e, 0x20, 0x45, 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x08, 0x00, + 0x01, 0x12, 0x04, 0x9a, 0x06, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x03, 0x12, + 0x04, 0x9b, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x05, 0x12, 0x04, + 0x9b, 0x06, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x01, 0x12, 0x04, 0x9b, + 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x03, 0x12, 0x04, 0x9b, 0x06, + 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x04, 0x12, 0x04, 0x9c, 0x06, 0x04, 0x16, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9c, 0x06, 0x04, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9c, 0x06, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x04, 0x03, 0x12, 0x04, 0x9c, 0x06, 0x14, 0x15, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x3b, 0x02, 0x05, 0x12, 0x04, 0x9d, 0x06, 0x04, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x3b, 0x02, 0x05, 0x06, 0x12, 0x04, 0x9d, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, + 0x02, 0x05, 0x01, 0x12, 0x04, 0x9d, 0x06, 0x17, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, + 0x05, 0x03, 0x12, 0x04, 0x9d, 0x06, 0x24, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x3c, 0x12, 0x04, + 0xa0, 0x06, 0x00, 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3c, 0x01, 0x12, 0x04, 0xa0, 0x06, 0x08, + 0x1a, 0x0a, 0x0c, 0x0a, 0x02, 0x05, 0x02, 0x12, 0x06, 0xa1, 0x06, 0x00, 0xa9, 0x06, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x05, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x06, 0x05, 0x18, 0x0a, 0x0c, 0x0a, 0x04, + 0x05, 0x02, 0x02, 0x00, 0x12, 0x04, 0xa2, 0x06, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x06, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x00, 0x02, 0x12, 0x04, 0xa2, 0x06, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xa2, 0x06, 0x27, 0x3a, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, + 0x01, 0x12, 0x04, 0xa2, 0x06, 0x28, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xa3, 0x06, 0x02, 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xa3, 0x06, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa3, + 0x06, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x06, 0x02, + 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x06, 0x02, 0x14, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x06, 0x17, 0x18, 0x0a, + 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa5, 0x06, 0x02, 0x13, 0x0a, 0x0d, 0x0a, + 0x05, 0x05, 0x02, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa5, 0x06, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, + 0x05, 0x02, 0x02, 0x03, 0x02, 0x12, 0x04, 0xa5, 0x06, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x05, + 0x02, 0x02, 0x04, 0x12, 0x04, 0xa6, 0x06, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, + 0x04, 0x01, 0x12, 0x04, 0xa6, 0x06, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, + 0x02, 0x12, 0x04, 0xa6, 0x06, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, + 0x04, 0xa7, 0x06, 0x02, 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, + 0xa7, 0x06, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x05, 0x02, 0x12, 0x04, 0xa7, + 0x06, 0x0a, 0x0b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa8, 0x06, 0x02, + 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa8, 0x06, 0x02, 0x0b, + 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x06, 0x02, 0x12, 0x04, 0xa8, 0x06, 0x0e, 0x0f, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x3d, 0x12, 0x06, 0xaa, 0x06, 0x00, 0xb2, 0x06, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x3d, 0x01, 0x12, 0x04, 0xaa, 0x06, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3d, + 0x02, 0x00, 0x12, 0x04, 0xab, 0x06, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xab, 0x06, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xab, 0x06, 0x20, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xab, 0x06, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xab, 0x06, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xab, 0x06, 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x01, 0x12, 0x04, + 0xac, 0x06, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xac, + 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xac, 0x06, + 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xac, 0x06, 0x16, + 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xac, 0x06, 0x18, 0x40, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x06, + 0x19, 0x3f, 0x0a, 0x55, 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x02, 0x12, 0x04, 0xae, 0x06, 0x02, 0x75, + 0x1a, 0x47, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, + 0x02, 0x04, 0x12, 0x04, 0xae, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, + 0x06, 0x12, 0x04, 0xae, 0x06, 0x0b, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x01, + 0x12, 0x04, 0xae, 0x06, 0x32, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x03, 0x12, + 0x04, 0xae, 0x06, 0x4a, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x08, 0x12, 0x04, + 0xae, 0x06, 0x4c, 0x74, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3d, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xae, 0x06, 0x4d, 0x73, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x03, 0x12, + 0x05, 0xb1, 0x06, 0x02, 0x8b, 0x01, 0x1a, 0x87, 0x01, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x69, + 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, + 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x2e, 0x0a, + 0x20, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x73, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, + 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, + 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, + 0x75, 0x6c, 0x65, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x03, 0x04, 0x12, 0x04, 0xb1, 0x06, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x03, 0x06, 0x12, 0x04, 0xb1, 0x06, 0x0b, 0x3a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb1, 0x06, 0x3b, 0x5a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x3d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb1, 0x06, 0x5d, 0x5e, 0x0a, 0x0e, 0x0a, 0x05, + 0x04, 0x3d, 0x02, 0x03, 0x08, 0x12, 0x05, 0xb1, 0x06, 0x5f, 0x8a, 0x01, 0x0a, 0x11, 0x0a, 0x08, + 0x04, 0x3d, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x05, 0xb1, 0x06, 0x60, 0x89, 0x01, 0x0a, + 0x0c, 0x0a, 0x02, 0x04, 0x3e, 0x12, 0x06, 0xb3, 0x06, 0x00, 0xbc, 0x06, 0x01, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x3e, 0x01, 0x12, 0x04, 0xb3, 0x06, 0x08, 0x18, 0x0a, 0x77, 0x0a, 0x04, 0x04, 0x3e, + 0x02, 0x00, 0x12, 0x04, 0xb5, 0x06, 0x02, 0x3b, 0x1a, 0x69, 0x20, 0x52, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x63, + 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 0x2e, 0x20, 0x4d, 0x75, 0x73, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, + 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb5, 0x06, + 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x06, 0x09, + 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb5, 0x06, 0x10, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb5, 0x06, 0x12, 0x3a, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x3e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x06, 0x13, + 0x39, 0x0a, 0xb9, 0x01, 0x0a, 0x04, 0x04, 0x3e, 0x02, 0x01, 0x12, 0x04, 0xb8, 0x06, 0x02, 0x40, + 0x1a, 0xaa, 0x01, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6a, 0x6f, 0x69, + 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x73, 0x20, 0x60, 0x63, 0x6f, 0x6d, 0x70, 0x6f, + 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x4d, 0x75, 0x73, + 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x20, + 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x3e, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb8, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x3e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb8, 0x06, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x3e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb8, 0x06, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xb8, 0x06, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3e, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb8, 0x06, 0x18, 0x3e, 0x0a, 0xc6, 0x01, 0x0a, 0x04, + 0x04, 0x3e, 0x02, 0x02, 0x12, 0x04, 0xbb, 0x06, 0x02, 0x5d, 0x1a, 0xb7, 0x01, 0x20, 0x52, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x20, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x73, 0x65, + 0x74, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x0a, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x6c, 0x6f, 0x6f, 0x6b, 0x69, 0x6e, 0x67, 0x20, + 0x75, 0x70, 0x20, 0x61, 0x20, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, + 0x6e, 0x65, 0x6c, 0x20, 0x62, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x20, 0x4d, 0x75, 0x73, + 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x02, 0x04, 0x12, 0x04, 0xbb, + 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x02, 0x05, 0x12, 0x04, 0xbb, 0x06, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xbb, 0x06, 0x12, + 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xbb, 0x06, 0x32, 0x33, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x02, 0x08, 0x12, 0x04, 0xbb, 0x06, 0x34, 0x5c, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x3e, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x06, 0x35, + 0x5b, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x3f, 0x12, 0x06, 0xbe, 0x06, 0x00, 0xc4, 0x06, 0x01, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x3f, 0x01, 0x12, 0x04, 0xbe, 0x06, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, + 0x04, 0x3f, 0x08, 0x00, 0x12, 0x06, 0xbf, 0x06, 0x02, 0xc3, 0x06, 0x03, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x3f, 0x08, 0x00, 0x01, 0x12, 0x04, 0xbf, 0x06, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x3f, 0x02, 0x00, 0x12, 0x04, 0xc0, 0x06, 0x04, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, + 0x00, 0x06, 0x12, 0x04, 0xc0, 0x06, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x00, + 0x01, 0x12, 0x04, 0xc0, 0x06, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x00, 0x03, + 0x12, 0x04, 0xc0, 0x06, 0x33, 0x34, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3f, 0x02, 0x01, 0x12, 0x04, + 0xc1, 0x06, 0x04, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc1, + 0x06, 0x04, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc1, 0x06, + 0x22, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc1, 0x06, 0x2f, + 0x30, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3f, 0x02, 0x02, 0x12, 0x04, 0xc2, 0x06, 0x04, 0x2b, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xc2, 0x06, 0x04, 0x1e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc2, 0x06, 0x1f, 0x26, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x3f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc2, 0x06, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x02, + 0x04, 0x40, 0x12, 0x06, 0xc6, 0x06, 0x00, 0xc8, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x40, + 0x01, 0x12, 0x04, 0xc6, 0x06, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x40, 0x02, 0x00, 0x12, + 0x04, 0xc7, 0x06, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x04, 0x12, 0x04, + 0xc7, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc7, + 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc7, 0x06, + 0x12, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc7, 0x06, 0x27, + 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc7, 0x06, 0x29, 0x51, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x40, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x06, + 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x41, 0x12, 0x06, 0xca, 0x06, 0x00, 0xcc, 0x06, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x41, 0x01, 0x12, 0x04, 0xca, 0x06, 0x08, 0x22, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x41, 0x02, 0x00, 0x12, 0x04, 0xcb, 0x06, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x41, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcb, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xcb, 0x06, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xcb, 0x06, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xcb, 0x06, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x41, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x06, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x42, 0x12, + 0x06, 0xce, 0x06, 0x00, 0xd3, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x42, 0x01, 0x12, 0x04, + 0xce, 0x06, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x00, 0x12, 0x04, 0xcf, 0x06, + 0x02, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x04, 0x12, 0x04, 0xcf, 0x06, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x05, 0x12, 0x04, 0xcf, 0x06, 0x0b, 0x11, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcf, 0x06, 0x12, 0x19, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcf, 0x06, 0x1c, 0x1d, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcf, 0x06, 0x1e, 0x46, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x42, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x06, 0x1f, 0x45, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x01, 0x12, 0x04, 0xd0, 0x06, 0x02, 0x39, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x42, 0x02, 0x01, 0x06, 0x12, 0x04, 0xd0, 0x06, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x42, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd0, 0x06, 0x25, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x42, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd0, 0x06, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, + 0x02, 0x02, 0x12, 0x04, 0xd1, 0x06, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, + 0x04, 0x12, 0x04, 0xd1, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x05, + 0x12, 0x04, 0xd1, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x01, 0x12, + 0x04, 0xd1, 0x06, 0x12, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x03, 0x12, 0x04, + 0xd1, 0x06, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x03, 0x12, 0x04, 0xd2, 0x06, + 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x04, 0x12, 0x04, 0xd2, 0x06, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x06, 0x12, 0x04, 0xd2, 0x06, 0x0b, 0x29, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x06, 0x2a, 0x32, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd2, 0x06, 0x35, 0x36, 0x0a, 0x3f, + 0x0a, 0x02, 0x04, 0x43, 0x12, 0x06, 0xd7, 0x06, 0x00, 0xe0, 0x06, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3b, 0x01, - 0x12, 0x04, 0x92, 0x06, 0x08, 0x29, 0x0a, 0x97, 0x01, 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x00, 0x12, - 0x04, 0x94, 0x06, 0x02, 0x48, 0x1a, 0x88, 0x01, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, - 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, - 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x63, 0x68, 0x61, - 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x61, 0x73, 0x20, 0x60, - 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x05, 0x12, 0x04, 0x94, 0x06, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x06, 0x09, 0x1a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x06, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x3b, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x06, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x3b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x06, 0x20, 0x46, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x01, 0x12, 0x04, 0x95, 0x06, 0x02, 0x43, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x3b, 0x02, 0x01, 0x05, 0x12, 0x04, 0x95, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x3b, 0x02, 0x01, 0x01, 0x12, 0x04, 0x95, 0x06, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, - 0x02, 0x01, 0x03, 0x12, 0x04, 0x95, 0x06, 0x18, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, - 0x01, 0x08, 0x12, 0x04, 0x95, 0x06, 0x1a, 0x42, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3b, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x95, 0x06, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, - 0x02, 0x02, 0x12, 0x04, 0x96, 0x06, 0x02, 0x4e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x02, - 0x06, 0x12, 0x04, 0x96, 0x06, 0x02, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x02, 0x01, - 0x12, 0x04, 0x96, 0x06, 0x16, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x02, 0x03, 0x12, - 0x04, 0x96, 0x06, 0x23, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x02, 0x08, 0x12, 0x04, - 0x96, 0x06, 0x25, 0x4d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3b, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x96, 0x06, 0x26, 0x4c, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x04, 0x3b, 0x08, 0x00, 0x12, - 0x06, 0x98, 0x06, 0x02, 0x9c, 0x06, 0x03, 0x1a, 0x8a, 0x01, 0x20, 0x54, 0x68, 0x72, 0x65, 0x73, - 0x68, 0x6f, 0x6c, 0x64, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x65, 0x69, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x61, 0x20, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x20, 0x42, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, - 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x65, 0x6e, 0x63, 0x6f, - 0x64, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x31, 0x20, 0x6f, 0x72, 0x20, 0x30, 0x2e, 0x20, 0x45, - 0x6e, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x73, - 0x74, 0x6f, 0x72, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x08, 0x00, 0x01, 0x12, 0x04, 0x98, - 0x06, 0x08, 0x11, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x03, 0x12, 0x04, 0x99, 0x06, 0x04, - 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x05, 0x12, 0x04, 0x99, 0x06, 0x04, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x01, 0x12, 0x04, 0x99, 0x06, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x03, 0x03, 0x12, 0x04, 0x99, 0x06, 0x14, 0x15, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x3b, 0x02, 0x04, 0x12, 0x04, 0x9a, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x3b, 0x02, 0x04, 0x05, 0x12, 0x04, 0x9a, 0x06, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x3b, 0x02, 0x04, 0x01, 0x12, 0x04, 0x9a, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, - 0x02, 0x04, 0x03, 0x12, 0x04, 0x9a, 0x06, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3b, 0x02, - 0x05, 0x12, 0x04, 0x9b, 0x06, 0x04, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x05, 0x06, - 0x12, 0x04, 0x9b, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x05, 0x01, 0x12, - 0x04, 0x9b, 0x06, 0x17, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3b, 0x02, 0x05, 0x03, 0x12, 0x04, - 0x9b, 0x06, 0x24, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x3c, 0x12, 0x04, 0x9e, 0x06, 0x00, 0x1d, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3c, 0x01, 0x12, 0x04, 0x9e, 0x06, 0x08, 0x1a, 0x0a, 0x0c, 0x0a, - 0x02, 0x05, 0x02, 0x12, 0x06, 0x9f, 0x06, 0x00, 0xa7, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x05, - 0x02, 0x01, 0x12, 0x04, 0x9f, 0x06, 0x05, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x00, - 0x12, 0x04, 0xa0, 0x06, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xa0, 0x06, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x02, 0x12, 0x04, - 0xa0, 0x06, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa0, - 0x06, 0x27, 0x3a, 0x0a, 0x0e, 0x0a, 0x06, 0x05, 0x02, 0x02, 0x00, 0x03, 0x01, 0x12, 0x04, 0xa0, - 0x06, 0x28, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa1, 0x06, 0x02, - 0x10, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa1, 0x06, 0x02, 0x0b, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa1, 0x06, 0x0e, 0x0f, 0x0a, - 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa2, 0x06, 0x02, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x02, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa2, 0x06, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x02, 0x02, 0x02, 0x02, 0x12, 0x04, 0xa2, 0x06, 0x17, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x05, - 0x02, 0x02, 0x03, 0x12, 0x04, 0xa3, 0x06, 0x02, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, - 0x03, 0x01, 0x12, 0x04, 0xa3, 0x06, 0x02, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x03, - 0x02, 0x12, 0x04, 0xa3, 0x06, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, - 0x04, 0xa4, 0x06, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, 0x01, 0x12, 0x04, - 0xa4, 0x06, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x04, 0x02, 0x12, 0x04, 0xa4, - 0x06, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa5, 0x06, 0x02, - 0x0c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x05, 0x01, 0x12, 0x04, 0xa5, 0x06, 0x02, 0x07, - 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x02, 0x02, 0x05, 0x02, 0x12, 0x04, 0xa5, 0x06, 0x0a, 0x0b, 0x0a, - 0x0c, 0x0a, 0x04, 0x05, 0x02, 0x02, 0x06, 0x12, 0x04, 0xa6, 0x06, 0x02, 0x10, 0x0a, 0x0d, 0x0a, - 0x05, 0x05, 0x02, 0x02, 0x06, 0x01, 0x12, 0x04, 0xa6, 0x06, 0x02, 0x0b, 0x0a, 0x0d, 0x0a, 0x05, - 0x05, 0x02, 0x02, 0x06, 0x02, 0x12, 0x04, 0xa6, 0x06, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x3d, 0x12, 0x06, 0xa8, 0x06, 0x00, 0xad, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3d, 0x01, - 0x12, 0x04, 0xa8, 0x06, 0x08, 0x1f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x00, 0x12, 0x04, - 0xa9, 0x06, 0x02, 0x60, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x06, 0x12, 0x04, 0xa9, - 0x06, 0x02, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x06, - 0x20, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa9, 0x06, 0x35, - 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa9, 0x06, 0x37, 0x5f, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x06, - 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x01, 0x12, 0x04, 0xaa, 0x06, 0x02, 0x41, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xaa, 0x06, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xaa, 0x06, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xaa, 0x06, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x3d, 0x02, 0x01, 0x08, 0x12, 0x04, 0xaa, 0x06, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x3d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaa, 0x06, 0x19, 0x3f, 0x0a, 0x55, - 0x0a, 0x04, 0x04, 0x3d, 0x02, 0x02, 0x12, 0x04, 0xac, 0x06, 0x02, 0x75, 0x1a, 0x47, 0x20, 0x54, - 0x68, 0x69, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x69, 0x67, 0x6e, 0x6f, - 0x72, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, - 0x6c, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x04, 0x12, 0x04, - 0xac, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x06, 0x12, 0x04, 0xac, - 0x06, 0x0b, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xac, 0x06, - 0x32, 0x47, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xac, 0x06, 0x4a, - 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3d, 0x02, 0x02, 0x08, 0x12, 0x04, 0xac, 0x06, 0x4c, 0x74, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3d, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xac, 0x06, - 0x4d, 0x73, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x3e, 0x12, 0x06, 0xae, 0x06, 0x00, 0xb2, 0x06, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x3e, 0x01, 0x12, 0x04, 0xae, 0x06, 0x08, 0x18, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x3e, 0x02, 0x00, 0x12, 0x04, 0xaf, 0x06, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x3e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xaf, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xaf, 0x06, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xaf, 0x06, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xaf, 0x06, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x3e, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x06, 0x13, 0x39, 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x3e, 0x02, - 0x01, 0x12, 0x04, 0xb1, 0x06, 0x02, 0x40, 0x1a, 0x68, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, - 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x64, 0x2c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, - 0x62, 0x65, 0x20, 0x6a, 0x6f, 0x69, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x73, 0x20, - 0x60, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x60, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x01, 0x05, 0x12, 0x04, 0xb1, 0x06, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb1, 0x06, 0x09, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb1, 0x06, 0x15, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x3e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xb1, 0x06, 0x17, 0x3f, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x3e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x06, 0x18, 0x3e, 0x0a, - 0x0c, 0x0a, 0x02, 0x04, 0x3f, 0x12, 0x06, 0xb4, 0x06, 0x00, 0xba, 0x06, 0x01, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x3f, 0x01, 0x12, 0x04, 0xb4, 0x06, 0x08, 0x1f, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x3f, - 0x08, 0x00, 0x12, 0x06, 0xb5, 0x06, 0x02, 0xb9, 0x06, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, - 0x08, 0x00, 0x01, 0x12, 0x04, 0xb5, 0x06, 0x08, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3f, 0x02, - 0x00, 0x12, 0x04, 0xb6, 0x06, 0x04, 0x35, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xb6, 0x06, 0x04, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xb6, 0x06, 0x24, 0x30, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xb6, 0x06, 0x33, 0x34, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x3f, 0x02, 0x01, 0x12, 0x04, 0xb7, 0x06, - 0x04, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x06, 0x12, 0x04, 0xb7, 0x06, 0x04, - 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x01, 0x12, 0x04, 0xb7, 0x06, 0x22, 0x2c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x3f, 0x02, 0x01, 0x03, 0x12, 0x04, 0xb7, 0x06, 0x2f, 0x30, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x3f, 0x02, 0x02, 0x12, 0x04, 0xb8, 0x06, 0x04, 0x2b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x3f, 0x02, 0x02, 0x06, 0x12, 0x04, 0xb8, 0x06, 0x04, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x3f, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb8, 0x06, 0x1f, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x3f, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb8, 0x06, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x40, - 0x12, 0x06, 0xbc, 0x06, 0x00, 0xbe, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x40, 0x01, 0x12, - 0x04, 0xbc, 0x06, 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x40, 0x02, 0x00, 0x12, 0x04, 0xbd, - 0x06, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbd, 0x06, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x05, 0x12, 0x04, 0xbd, 0x06, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbd, 0x06, 0x12, 0x24, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbd, 0x06, 0x27, 0x28, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x40, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbd, 0x06, 0x29, 0x51, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x40, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, 0x06, 0x2a, 0x50, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x41, 0x12, 0x06, 0xc0, 0x06, 0x00, 0xc2, 0x06, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x41, 0x01, 0x12, 0x04, 0xc0, 0x06, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x41, 0x02, 0x00, 0x12, 0x04, 0xc1, 0x06, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, - 0x00, 0x05, 0x12, 0x04, 0xc1, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xc1, 0x06, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xc1, 0x06, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x41, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xc1, 0x06, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x41, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xc1, 0x06, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x42, 0x12, 0x06, 0xc4, - 0x06, 0x00, 0xc9, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x42, 0x01, 0x12, 0x04, 0xc4, 0x06, - 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x06, 0x02, 0x47, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x04, 0x12, 0x04, 0xc5, 0x06, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, 0x06, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x42, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x06, 0x12, 0x19, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x42, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x06, 0x1c, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x42, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x06, 0x1e, 0x46, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x42, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x06, 0x1f, 0x45, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x42, 0x02, 0x01, 0x12, 0x04, 0xc6, 0x06, 0x02, 0x39, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x42, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc6, 0x06, 0x02, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x06, 0x25, 0x34, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xc6, 0x06, 0x37, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x02, - 0x12, 0x04, 0xc7, 0x06, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x04, 0x12, - 0x04, 0xc7, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x05, 0x12, 0x04, - 0xc7, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc7, - 0x06, 0x12, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc7, 0x06, - 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x42, 0x02, 0x03, 0x12, 0x04, 0xc8, 0x06, 0x02, 0x37, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x04, 0x12, 0x04, 0xc8, 0x06, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x06, 0x12, 0x04, 0xc8, 0x06, 0x0b, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x42, 0x02, 0x03, 0x01, 0x12, 0x04, 0xc8, 0x06, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x42, 0x02, 0x03, 0x03, 0x12, 0x04, 0xc8, 0x06, 0x35, 0x36, 0x0a, 0x3f, 0x0a, 0x02, - 0x04, 0x43, 0x12, 0x06, 0xcc, 0x06, 0x00, 0xd5, 0x06, 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, - 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, - 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x43, 0x01, 0x12, 0x04, 0xcc, 0x06, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x43, - 0x07, 0x12, 0x04, 0xcd, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x07, 0x03, 0x12, - 0x04, 0xcd, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x00, 0x12, 0x04, 0xce, - 0x06, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x04, 0x12, 0x04, 0xce, 0x06, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x05, 0x12, 0x04, 0xce, 0x06, 0x0b, - 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x06, 0x12, 0x1a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x06, 0x1d, 0x1e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x08, 0x12, 0x04, 0xce, 0x06, 0x1f, 0x47, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x43, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xce, 0x06, 0x20, 0x46, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x01, 0x12, 0x04, 0xcf, 0x06, 0x02, 0x34, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x43, 0x02, 0x01, 0x06, 0x12, 0x04, 0xcf, 0x06, 0x02, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x43, 0x02, 0x01, 0x01, 0x12, 0x04, 0xcf, 0x06, 0x1d, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x43, 0x02, 0x01, 0x03, 0x12, 0x04, 0xcf, 0x06, 0x32, 0x33, 0x0a, 0x0e, 0x0a, 0x04, 0x04, - 0x43, 0x08, 0x00, 0x12, 0x06, 0xd0, 0x06, 0x02, 0xd3, 0x06, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x43, 0x08, 0x00, 0x01, 0x12, 0x04, 0xd0, 0x06, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, - 0x02, 0x02, 0x12, 0x04, 0xd1, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x02, - 0x05, 0x12, 0x04, 0xd1, 0x06, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x02, 0x01, - 0x12, 0x04, 0xd1, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x02, 0x03, 0x12, - 0x04, 0xd1, 0x06, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x03, 0x12, 0x04, 0xd2, - 0x06, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x06, 0x12, 0x04, 0xd2, 0x06, - 0x04, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd2, 0x06, 0x13, - 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd2, 0x06, 0x20, 0x21, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x04, 0x12, 0x04, 0xd4, 0x06, 0x02, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x43, 0x02, 0x04, 0x05, 0x12, 0x04, 0xd4, 0x06, 0x02, 0x06, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x43, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd4, 0x06, 0x07, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x43, 0x02, 0x04, 0x03, 0x12, 0x04, 0xd4, 0x06, 0x11, 0x12, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x44, 0x12, 0x06, 0xd6, 0x06, 0x00, 0xd8, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x44, 0x01, - 0x12, 0x04, 0xd6, 0x06, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x44, 0x02, 0x00, 0x12, 0x04, - 0xd7, 0x06, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x04, 0x12, 0x04, 0xd7, - 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd7, 0x06, - 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd7, 0x06, 0x12, - 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd7, 0x06, 0x1c, 0x1d, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x45, 0x12, 0x06, 0xd9, 0x06, 0x00, 0xdc, 0x06, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x45, 0x01, 0x12, 0x04, 0xd9, 0x06, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x45, 0x02, 0x00, 0x12, 0x04, 0xda, 0x06, 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xda, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xda, 0x06, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xda, 0x06, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x45, 0x02, 0x01, 0x12, 0x04, - 0xdb, 0x06, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x06, 0x12, 0x04, 0xdb, - 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdb, 0x06, - 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdb, 0x06, 0x27, - 0x28, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x46, 0x12, 0x06, 0xdf, 0x06, 0x00, 0xe7, 0x06, 0x01, 0x1a, - 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, 0x20, 0x75, - 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x46, 0x01, 0x12, 0x04, 0xdf, 0x06, 0x08, 0x1d, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x46, 0x07, 0x12, 0x04, 0xe0, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x46, 0x07, 0x03, 0x12, 0x04, 0xe0, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x46, - 0x02, 0x00, 0x12, 0x04, 0xe1, 0x06, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xe1, 0x06, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xe1, 0x06, 0x08, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xe1, 0x06, 0x23, 0x24, 0x0a, 0x65, 0x0a, 0x04, 0x04, 0x46, 0x02, 0x01, 0x12, 0x04, 0xe3, - 0x06, 0x02, 0x34, 0x1a, 0x57, 0x20, 0x49, 0x66, 0x20, 0x64, 0x72, 0x79, 0x5f, 0x72, 0x75, 0x6e, - 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x77, - 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, 0x6c, 0x64, - 0x20, 0x62, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x46, 0x02, 0x01, 0x04, 0x12, 0x04, 0xe3, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x46, 0x02, 0x01, 0x06, 0x12, 0x04, 0xe3, 0x06, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, - 0x02, 0x01, 0x01, 0x12, 0x04, 0xe3, 0x06, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, - 0x01, 0x03, 0x12, 0x04, 0xe3, 0x06, 0x32, 0x33, 0x0a, 0x7b, 0x0a, 0x04, 0x04, 0x46, 0x02, 0x02, - 0x12, 0x04, 0xe5, 0x06, 0x02, 0x1d, 0x1a, 0x6d, 0x20, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x74, 0x65, - 0x6e, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x69, 0x73, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, 0x63, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, 0x6f, 0x75, - 0x73, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x04, 0x12, 0x04, - 0xe5, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe5, - 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe5, 0x06, - 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe5, 0x06, 0x1b, - 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x46, 0x02, 0x03, 0x12, 0x04, 0xe6, 0x06, 0x02, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x04, 0x12, 0x04, 0xe6, 0x06, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe6, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x46, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe6, 0x06, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x46, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe6, 0x06, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x02, 0x04, - 0x47, 0x12, 0x06, 0xe9, 0x06, 0x00, 0xef, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x47, 0x01, - 0x12, 0x04, 0xe9, 0x06, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x00, 0x12, 0x04, - 0xea, 0x06, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x05, 0x12, 0x04, 0xea, - 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x01, 0x12, 0x04, 0xea, 0x06, - 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x03, 0x12, 0x04, 0xea, 0x06, 0x18, - 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x01, 0x12, 0x04, 0xeb, 0x06, 0x02, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x01, 0x05, 0x12, 0x04, 0xeb, 0x06, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x47, 0x02, 0x01, 0x01, 0x12, 0x04, 0xeb, 0x06, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x47, 0x02, 0x01, 0x03, 0x12, 0x04, 0xeb, 0x06, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x47, 0x02, 0x02, 0x12, 0x04, 0xec, 0x06, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, - 0x02, 0x02, 0x06, 0x12, 0x04, 0xec, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xec, 0x06, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xec, 0x06, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xec, 0x06, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x47, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xec, 0x06, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x03, - 0x12, 0x04, 0xed, 0x06, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x06, 0x12, - 0x04, 0xed, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x01, 0x12, 0x04, - 0xed, 0x06, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x03, 0x12, 0x04, 0xed, - 0x06, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x08, 0x12, 0x04, 0xed, 0x06, - 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x47, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xed, 0x06, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x04, 0x12, 0x04, 0xee, 0x06, - 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x05, 0x12, 0x04, 0xee, 0x06, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x01, 0x12, 0x04, 0xee, 0x06, 0x09, 0x1d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x03, 0x12, 0x04, 0xee, 0x06, 0x20, 0x21, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x43, 0x01, 0x12, 0x04, 0xd7, 0x06, 0x08, 0x1c, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x43, 0x07, 0x12, 0x04, 0xd8, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x07, + 0x03, 0x12, 0x04, 0xd8, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x00, 0x12, + 0x04, 0xd9, 0x06, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x04, 0x12, 0x04, + 0xd9, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd9, + 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd9, 0x06, + 0x12, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd9, 0x06, 0x1d, + 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x00, 0x08, 0x12, 0x04, 0xd9, 0x06, 0x1f, 0x47, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x43, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x06, + 0x20, 0x46, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x01, 0x12, 0x04, 0xda, 0x06, 0x02, 0x34, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x01, 0x06, 0x12, 0x04, 0xda, 0x06, 0x02, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x01, 0x01, 0x12, 0x04, 0xda, 0x06, 0x1d, 0x2f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x43, 0x02, 0x01, 0x03, 0x12, 0x04, 0xda, 0x06, 0x32, 0x33, 0x0a, 0x0e, 0x0a, + 0x04, 0x04, 0x43, 0x08, 0x00, 0x12, 0x06, 0xdb, 0x06, 0x02, 0xde, 0x06, 0x03, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x43, 0x08, 0x00, 0x01, 0x12, 0x04, 0xdb, 0x06, 0x08, 0x0c, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x43, 0x02, 0x02, 0x12, 0x04, 0xdc, 0x06, 0x04, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, + 0x02, 0x02, 0x05, 0x12, 0x04, 0xdc, 0x06, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, + 0x02, 0x01, 0x12, 0x04, 0xdc, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x02, + 0x03, 0x12, 0x04, 0xdc, 0x06, 0x14, 0x15, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x03, 0x12, + 0x04, 0xdd, 0x06, 0x04, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x06, 0x12, 0x04, + 0xdd, 0x06, 0x04, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x01, 0x12, 0x04, 0xdd, + 0x06, 0x13, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x03, 0x03, 0x12, 0x04, 0xdd, 0x06, + 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x43, 0x02, 0x04, 0x12, 0x04, 0xdf, 0x06, 0x02, 0x13, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x04, 0x05, 0x12, 0x04, 0xdf, 0x06, 0x02, 0x06, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x43, 0x02, 0x04, 0x01, 0x12, 0x04, 0xdf, 0x06, 0x07, 0x0e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x43, 0x02, 0x04, 0x03, 0x12, 0x04, 0xdf, 0x06, 0x11, 0x12, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x44, 0x12, 0x06, 0xe1, 0x06, 0x00, 0xe3, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x44, 0x01, 0x12, 0x04, 0xe1, 0x06, 0x08, 0x22, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x44, 0x02, 0x00, + 0x12, 0x04, 0xe2, 0x06, 0x02, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x04, 0x12, + 0x04, 0xe2, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x05, 0x12, 0x04, + 0xe2, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x01, 0x12, 0x04, 0xe2, + 0x06, 0x12, 0x19, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x44, 0x02, 0x00, 0x03, 0x12, 0x04, 0xe2, 0x06, + 0x1c, 0x1d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x45, 0x12, 0x06, 0xe4, 0x06, 0x00, 0xe7, 0x06, 0x01, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x45, 0x01, 0x12, 0x04, 0xe4, 0x06, 0x08, 0x16, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x45, 0x02, 0x00, 0x12, 0x04, 0xe5, 0x06, 0x02, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x45, 0x02, 0x00, 0x06, 0x12, 0x04, 0xe5, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xe5, 0x06, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xe5, 0x06, 0x29, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x45, 0x02, 0x01, + 0x12, 0x04, 0xe6, 0x06, 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xe6, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xe6, 0x06, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x45, 0x02, 0x01, 0x03, 0x12, 0x04, 0xe6, + 0x06, 0x27, 0x28, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x46, 0x12, 0x06, 0xea, 0x06, 0x00, 0xf2, 0x06, + 0x01, 0x1a, 0x31, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x20, 0x2d, + 0x20, 0x75, 0x73, 0x65, 0x20, 0x52, 0x75, 0x6c, 0x65, 0x45, 0x76, 0x61, 0x6c, 0x75, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, + 0x61, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x46, 0x01, 0x12, 0x04, 0xea, 0x06, 0x08, + 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x46, 0x07, 0x12, 0x04, 0xeb, 0x06, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x46, 0x07, 0x03, 0x12, 0x04, 0xeb, 0x06, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, + 0x04, 0x46, 0x02, 0x00, 0x12, 0x04, 0xec, 0x06, 0x02, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, + 0x02, 0x00, 0x05, 0x12, 0x04, 0xec, 0x06, 0x02, 0x07, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, + 0x00, 0x01, 0x12, 0x04, 0xec, 0x06, 0x08, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x00, + 0x03, 0x12, 0x04, 0xec, 0x06, 0x23, 0x24, 0x0a, 0x65, 0x0a, 0x04, 0x04, 0x46, 0x02, 0x01, 0x12, + 0x04, 0xee, 0x06, 0x02, 0x34, 0x1a, 0x57, 0x20, 0x49, 0x66, 0x20, 0x64, 0x72, 0x79, 0x5f, 0x72, + 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x6f, 0x75, + 0x6c, 0x64, 0x20, 0x62, 0x65, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x46, 0x02, 0x01, 0x04, 0x12, 0x04, 0xee, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x46, 0x02, 0x01, 0x06, 0x12, 0x04, 0xee, 0x06, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x46, 0x02, 0x01, 0x01, 0x12, 0x04, 0xee, 0x06, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x46, 0x02, 0x01, 0x03, 0x12, 0x04, 0xee, 0x06, 0x32, 0x33, 0x0a, 0x7b, 0x0a, 0x04, 0x04, 0x46, + 0x02, 0x02, 0x12, 0x04, 0xf0, 0x06, 0x02, 0x1d, 0x1a, 0x6d, 0x20, 0x6a, 0x6f, 0x62, 0x5f, 0x69, + 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x69, 0x64, 0x20, + 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x6a, 0x6f, 0x62, 0x20, 0x68, 0x61, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, + 0x74, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x72, 0x6f, + 0x63, 0x65, 0x73, 0x73, 0x65, 0x64, 0x20, 0x61, 0x73, 0x79, 0x6e, 0x63, 0x68, 0x72, 0x6f, 0x6e, + 0x6f, 0x75, 0x73, 0x6c, 0x79, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x04, + 0x12, 0x04, 0xf0, 0x06, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x05, 0x12, + 0x04, 0xf0, 0x06, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x01, 0x12, 0x04, + 0xf0, 0x06, 0x12, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf0, + 0x06, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x46, 0x02, 0x03, 0x12, 0x04, 0xf1, 0x06, 0x02, + 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x04, 0x12, 0x04, 0xf1, 0x06, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x05, 0x12, 0x04, 0xf1, 0x06, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf1, 0x06, 0x12, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x46, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf1, 0x06, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x47, 0x12, 0x06, 0xf4, 0x06, 0x00, 0xfa, 0x06, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x47, 0x01, 0x12, 0x04, 0xf4, 0x06, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x00, + 0x12, 0x04, 0xf5, 0x06, 0x02, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x05, 0x12, + 0x04, 0xf5, 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xf5, 0x06, 0x09, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf5, + 0x06, 0x18, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x01, 0x12, 0x04, 0xf6, 0x06, 0x02, + 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf6, 0x06, 0x02, 0x08, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf6, 0x06, 0x09, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x01, 0x03, 0x12, 0x04, 0xf6, 0x06, 0x10, 0x11, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x47, 0x02, 0x02, 0x12, 0x04, 0xf7, 0x06, 0x02, 0x54, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x47, 0x02, 0x02, 0x06, 0x12, 0x04, 0xf7, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x47, 0x02, 0x02, 0x01, 0x12, 0x04, 0xf7, 0x06, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, + 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, 0x06, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, + 0x02, 0x08, 0x12, 0x04, 0xf7, 0x06, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x47, 0x02, 0x02, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf7, 0x06, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, + 0x02, 0x03, 0x12, 0x04, 0xf8, 0x06, 0x02, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, + 0x06, 0x12, 0x04, 0xf8, 0x06, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x01, + 0x12, 0x04, 0xf8, 0x06, 0x1c, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x03, 0x12, + 0x04, 0xf8, 0x06, 0x27, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x03, 0x08, 0x12, 0x04, + 0xf8, 0x06, 0x29, 0x51, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x47, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xf8, 0x06, 0x2a, 0x50, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x47, 0x02, 0x04, 0x12, 0x04, + 0xf9, 0x06, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x05, 0x12, 0x04, 0xf9, + 0x06, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x01, 0x12, 0x04, 0xf9, 0x06, + 0x09, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x47, 0x02, 0x04, 0x03, 0x12, 0x04, 0xf9, 0x06, 0x20, + 0x21, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.rules.v1.tonic.rs"); include!("sift.rules.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.serde.rs index 0b9923599..e607a42ed 100644 --- a/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/rules/v1/sift.rules.v1.serde.rs @@ -2113,6 +2113,9 @@ impl serde::Serialize for CalculatedChannelConfig { if !self.function_dependencies.is_empty() { len += 1; } + if !self.calculated_channel_dependencies.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.rules.v1.CalculatedChannelConfig", len)?; if !self.channel_references.is_empty() { struct_ser.serialize_field("channelReferences", &self.channel_references)?; @@ -2123,6 +2126,9 @@ impl serde::Serialize for CalculatedChannelConfig { if !self.function_dependencies.is_empty() { struct_ser.serialize_field("functionDependencies", &self.function_dependencies)?; } + if !self.calculated_channel_dependencies.is_empty() { + struct_ser.serialize_field("calculatedChannelDependencies", &self.calculated_channel_dependencies)?; + } struct_ser.end() } } @@ -2138,6 +2144,8 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfig { "expression", "function_dependencies", "functionDependencies", + "calculated_channel_dependencies", + "calculatedChannelDependencies", ]; #[allow(clippy::enum_variant_names)] @@ -2145,6 +2153,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfig { ChannelReferences, Expression, FunctionDependencies, + CalculatedChannelDependencies, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2169,6 +2178,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfig { "channelReferences" | "channel_references" => Ok(GeneratedField::ChannelReferences), "expression" => Ok(GeneratedField::Expression), "functionDependencies" | "function_dependencies" => Ok(GeneratedField::FunctionDependencies), + "calculatedChannelDependencies" | "calculated_channel_dependencies" => Ok(GeneratedField::CalculatedChannelDependencies), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2191,6 +2201,7 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfig { let mut channel_references__ = None; let mut expression__ = None; let mut function_dependencies__ = None; + let mut calculated_channel_dependencies__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::ChannelReferences => { @@ -2213,12 +2224,19 @@ impl<'de> serde::Deserialize<'de> for CalculatedChannelConfig { } function_dependencies__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannelDependencies => { + if calculated_channel_dependencies__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelDependencies")); + } + calculated_channel_dependencies__ = Some(map_.next_value()?); + } } } Ok(CalculatedChannelConfig { channel_references: channel_references__.unwrap_or_default(), expression: expression__.unwrap_or_default(), function_dependencies: function_dependencies__.unwrap_or_default(), + calculated_channel_dependencies: calculated_channel_dependencies__.unwrap_or_default(), }) } } @@ -2239,6 +2257,9 @@ impl serde::Serialize for ChannelReference { if !self.component.is_empty() { len += 1; } + if self.calculated_channel_version_id.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.rules.v1.ChannelReference", len)?; if !self.name.is_empty() { struct_ser.serialize_field("name", &self.name)?; @@ -2246,6 +2267,9 @@ impl serde::Serialize for ChannelReference { if !self.component.is_empty() { struct_ser.serialize_field("component", &self.component)?; } + if let Some(v) = self.calculated_channel_version_id.as_ref() { + struct_ser.serialize_field("calculatedChannelVersionId", v)?; + } struct_ser.end() } } @@ -2258,12 +2282,15 @@ impl<'de> serde::Deserialize<'de> for ChannelReference { const FIELDS: &[&str] = &[ "name", "component", + "calculated_channel_version_id", + "calculatedChannelVersionId", ]; #[allow(clippy::enum_variant_names)] enum GeneratedField { Name, Component, + CalculatedChannelVersionId, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -2287,6 +2314,7 @@ impl<'de> serde::Deserialize<'de> for ChannelReference { match value { "name" => Ok(GeneratedField::Name), "component" => Ok(GeneratedField::Component), + "calculatedChannelVersionId" | "calculated_channel_version_id" => Ok(GeneratedField::CalculatedChannelVersionId), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -2308,6 +2336,7 @@ impl<'de> serde::Deserialize<'de> for ChannelReference { { let mut name__ = None; let mut component__ = None; + let mut calculated_channel_version_id__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::Name => { @@ -2322,11 +2351,18 @@ impl<'de> serde::Deserialize<'de> for ChannelReference { } component__ = Some(map_.next_value()?); } + GeneratedField::CalculatedChannelVersionId => { + if calculated_channel_version_id__.is_some() { + return Err(serde::de::Error::duplicate_field("calculatedChannelVersionId")); + } + calculated_channel_version_id__ = map_.next_value()?; + } } } Ok(ChannelReference { name: name__.unwrap_or_default(), component: component__.unwrap_or_default(), + calculated_channel_version_id: calculated_channel_version_id__, }) } } @@ -8784,6 +8820,9 @@ impl serde::Serialize for ValidationResult { if self.error.is_some() { len += 1; } + if !self.rule_name.is_empty() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.rules.v1.ValidationResult", len)?; if !self.rule_id.is_empty() { struct_ser.serialize_field("ruleId", &self.rule_id)?; @@ -8797,6 +8836,9 @@ impl serde::Serialize for ValidationResult { if let Some(v) = self.error.as_ref() { struct_ser.serialize_field("error", v)?; } + if !self.rule_name.is_empty() { + struct_ser.serialize_field("ruleName", &self.rule_name)?; + } struct_ser.end() } } @@ -8814,6 +8856,8 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { "asset_expression_validation_results", "assetExpressionValidationResults", "error", + "rule_name", + "ruleName", ]; #[allow(clippy::enum_variant_names)] @@ -8822,6 +8866,7 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { ClientKey, AssetExpressionValidationResults, Error, + RuleName, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -8847,6 +8892,7 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { "clientKey" | "client_key" => Ok(GeneratedField::ClientKey), "assetExpressionValidationResults" | "asset_expression_validation_results" => Ok(GeneratedField::AssetExpressionValidationResults), "error" => Ok(GeneratedField::Error), + "ruleName" | "rule_name" => Ok(GeneratedField::RuleName), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -8870,6 +8916,7 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { let mut client_key__ = None; let mut asset_expression_validation_results__ = None; let mut error__ = None; + let mut rule_name__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::RuleId => { @@ -8896,6 +8943,12 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { } error__ = map_.next_value()?; } + GeneratedField::RuleName => { + if rule_name__.is_some() { + return Err(serde::de::Error::duplicate_field("ruleName")); + } + rule_name__ = Some(map_.next_value()?); + } } } Ok(ValidationResult { @@ -8903,6 +8956,7 @@ impl<'de> serde::Deserialize<'de> for ValidationResult { client_key: client_key__.unwrap_or_default(), asset_expression_validation_results: asset_expression_validation_results__.unwrap_or_default(), error: error__, + rule_name: rule_name__.unwrap_or_default(), }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.rs b/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.rs index 1a11031dd..6d355f181 100644 --- a/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.rs +++ b/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.rs @@ -89,6 +89,8 @@ pub struct CreateRunRequest { pub client_key: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, repeated, tag="9")] pub metadata: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag="10")] + pub create_default_report: ::core::option::Option, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct CreateRunResponse { @@ -159,7 +161,7 @@ pub struct StopRunResponse { } /// Encoded file descriptor set for the `sift.runs.v2` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0x82, 0x9d, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, + 0x0a, 0xad, 0xa1, 0x01, 0x0a, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0c, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, @@ -267,7 +269,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdb, 0x04, 0x0a, 0x10, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb3, 0x05, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, @@ -304,1118 +306,1153 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x3d, 0x0a, 0x11, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, - 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe3, 0x04, 0x0a, 0x15, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x04, 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, - 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, - 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, - 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, - 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0xf0, 0x01, 0x0a, - 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x42, 0xcb, 0x01, 0xe0, 0x41, 0x01, 0xba, 0x48, 0xc4, 0x01, 0xba, 0x01, 0xc0, 0x01, 0x0a, - 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, - 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x33, 0x2d, 0x31, 0x32, 0x38, 0x20, 0x63, 0x68, - 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, - 0x61, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, - 0x61, 0x6c, 0x70, 0x68, 0x61, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x69, 0x63, 0x2c, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x5b, - 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x2e, 0x1a, - 0x3e, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, - 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, - 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x7b, 0x30, 0x2c, 0x31, 0x32, 0x36, - 0x7d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5d, 0x24, 0x27, 0x29, 0x48, - 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, - 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x42, - 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, - 0x75, 0x6e, 0x22, 0xe2, 0x04, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, - 0x6e, 0x12, 0xa3, 0x04, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, - 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, - 0x61, 0x73, 0x6b, 0x42, 0xe5, 0x03, 0xe0, 0x41, 0x02, 0xba, 0x48, 0xde, 0x03, 0xba, 0x01, 0xda, - 0x03, 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, 0x74, 0x68, 0x12, 0xdc, 0x01, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, - 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, - 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, - 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, - 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, - 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, - 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, - 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, 0x20, - 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, - 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x5d, 0x1a, 0xdf, 0x01, 0x74, 0x68, 0x69, 0x73, - 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x61, 0x6c, 0x6c, 0x28, 0x70, 0x61, 0x74, 0x68, 0x2c, - 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, - 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, - 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, - 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, - 0x2c, 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, - 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, 0x20, 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, - 0x20, 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, - 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, 0x5d, 0x29, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x3d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, - 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0x79, 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x15, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x70, + 0x6f, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, + 0x52, 0x13, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, + 0x65, 0x70, 0x6f, 0x72, 0x74, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x63, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x22, 0x3d, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, + 0x22, 0xe3, 0x04, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x04, + 0x72, 0x02, 0x10, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x28, 0x0a, 0x09, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x92, 0x01, 0x02, 0x08, 0x01, 0x52, + 0x08, 0x61, 0x73, 0x73, 0x65, 0x74, 0x49, 0x64, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x74, 0x61, + 0x67, 0x73, 0x12, 0x40, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x07, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0xf0, 0x01, 0x0a, 0x0a, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, + 0x6b, 0x65, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0xcb, 0x01, 0xe0, 0x41, 0x01, 0xba, + 0x48, 0xc4, 0x01, 0xba, 0x01, 0xc0, 0x01, 0x0a, 0x12, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, + 0x5f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x12, 0x6a, 0x63, 0x6c, 0x69, + 0x65, 0x6e, 0x74, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, + 0x33, 0x2d, 0x31, 0x32, 0x38, 0x20, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, + 0x2c, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x6e, 0x64, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x6e, 0x75, 0x6d, + 0x65, 0x72, 0x69, 0x63, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, + 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, + 0x39, 0x5f, 0x7e, 0x2e, 0x2d, 0x5d, 0x2e, 0x1a, 0x3e, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x65, 0x73, 0x28, 0x27, 0x5e, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, + 0x2d, 0x39, 0x5d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, 0x30, 0x2d, 0x39, 0x5f, 0x7e, 0x2e, + 0x2d, 0x5d, 0x7b, 0x30, 0x2c, 0x31, 0x32, 0x36, 0x7d, 0x5b, 0x61, 0x2d, 0x7a, 0x41, 0x2d, 0x5a, + 0x30, 0x2d, 0x39, 0x5d, 0x24, 0x27, 0x29, 0x48, 0x00, 0x52, 0x09, 0x63, 0x6c, 0x69, 0x65, 0x6e, + 0x74, 0x4b, 0x65, 0x79, 0x88, 0x01, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x42, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0xe2, 0x04, 0x0a, 0x10, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x75, 0x6e, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x12, 0xa3, 0x04, 0x0a, 0x0b, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0xe5, 0x03, 0xe0, 0x41, + 0x02, 0xba, 0x48, 0xde, 0x03, 0xba, 0x01, 0xda, 0x03, 0x0a, 0x17, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x5f, 0x70, 0x61, + 0x74, 0x68, 0x12, 0xdc, 0x01, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6d, 0x61, 0x73, 0x6b, 0x20, + 0x70, 0x61, 0x74, 0x68, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x69, 0x6e, 0x20, + 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, + 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, + 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, 0x6e, + 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, + 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, 0x20, + 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, + 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x27, + 0x5d, 0x1a, 0xdf, 0x01, 0x74, 0x68, 0x69, 0x73, 0x2e, 0x70, 0x61, 0x74, 0x68, 0x73, 0x2e, 0x61, + 0x6c, 0x6c, 0x28, 0x70, 0x61, 0x74, 0x68, 0x2c, 0x20, 0x70, 0x61, 0x74, 0x68, 0x20, 0x69, 0x6e, + 0x20, 0x5b, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, + 0x65, 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x27, 0x2c, + 0x20, 0x27, 0x73, 0x74, 0x6f, 0x70, 0x54, 0x69, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, + 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x50, 0x69, 0x6e, + 0x6e, 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, + 0x79, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x27, 0x2c, + 0x20, 0x27, 0x74, 0x61, 0x67, 0x73, 0x27, 0x2c, 0x20, 0x27, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, + 0x27, 0x5d, 0x29, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, + 0x3d, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, 0x0a, 0x03, 0x72, 0x75, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x11, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x52, 0x75, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x72, 0x75, 0x6e, 0x22, 0x79, + 0x0a, 0x2d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, + 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, + 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, + 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x22, 0x30, 0x0a, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, + 0x6e, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, + 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x11, + 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x32, 0xdd, 0x0d, 0x0a, 0x0a, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x7e, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x12, 0x1b, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x92, 0x41, 0x19, 0x12, 0x06, 0x47, 0x65, 0x74, 0x52, + 0x75, 0x6e, 0x1a, 0x0f, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, + 0x12, 0x95, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x1d, 0x2e, + 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, + 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, + 0x33, 0x12, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x1a, 0x27, 0x52, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, + 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, + 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x92, 0x41, 0x1a, 0x12, 0x09, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, + 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xa3, 0x01, + 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, + 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, + 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, + 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x26, + 0x12, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, + 0x1a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x68, 0x6f, + 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, + 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x61, 0x64, + 0x68, 0x6f, 0x63, 0x12, 0xc7, 0x01, 0x0a, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, 0x5f, 0x12, 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, + 0x75, 0x6e, 0x1a, 0x52, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, + 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x32, + 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xc6, 0x01, + 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x92, 0x41, + 0x55, 0x12, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x48, 0x50, 0x65, + 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x44, 0x65, + 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, + 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x17, 0x2a, 0x15, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, + 0x69, 0x64, 0x7d, 0x88, 0x02, 0x01, 0x12, 0xe6, 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, + 0x75, 0x6e, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, + 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, + 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x9d, 0x01, 0x92, 0x41, 0x7e, 0x12, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x1a, 0x73, + 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, + 0x54, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, + 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x20, 0x73, 0x65, 0x65, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, + 0x6e, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x3a, 0x01, 0x2a, 0x32, 0x11, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x12, + 0xcc, 0x02, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x0b, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x61, 0x73, 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x22, 0x30, 0x0a, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x36, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, - 0x03, 0xb0, 0x01, 0x01, 0x52, 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x13, 0x0a, 0x11, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x34, 0x0a, 0x0e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, - 0x05, 0x72, 0x75, 0x6e, 0x49, 0x64, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xdd, 0x0d, 0x0a, 0x0a, 0x52, 0x75, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7e, 0x0a, 0x06, 0x47, 0x65, 0x74, 0x52, - 0x75, 0x6e, 0x12, 0x1b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x1c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x47, - 0x65, 0x74, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x39, 0x92, - 0x41, 0x19, 0x12, 0x06, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x1a, 0x0f, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x17, 0x12, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, - 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0x95, 0x01, 0x0a, 0x08, 0x4c, 0x69, 0x73, - 0x74, 0x52, 0x75, 0x6e, 0x73, 0x12, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, - 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, - 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x33, 0x12, 0x08, 0x4c, 0x69, 0x73, 0x74, 0x52, - 0x75, 0x6e, 0x73, 0x1a, 0x27, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, - 0x12, 0x82, 0x01, 0x0a, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x34, 0x92, 0x41, 0x1a, 0x12, 0x09, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, - 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x22, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, - 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x12, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, - 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x26, 0x12, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x1a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x17, 0x3a, 0x01, 0x2a, 0x22, 0x12, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, - 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x3a, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x12, 0xc7, 0x01, 0x0a, 0x09, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, - 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x79, 0x92, 0x41, 0x5f, 0x12, - 0x09, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x52, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, - 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x11, 0x3a, 0x01, 0x2a, 0x32, 0x0c, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, - 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x12, 0xc6, 0x01, 0x0a, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x52, 0x75, 0x6e, 0x12, 0x1e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, - 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x78, 0x92, 0x41, 0x55, 0x12, 0x09, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x75, 0x6e, 0x1a, 0x48, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, - 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, - 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, - 0x68, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x17, 0x2a, 0x15, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, - 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x88, 0x02, 0x01, 0x12, 0xe6, - 0x01, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x12, 0x1c, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9d, 0x01, 0x92, 0x41, 0x7e, 0x12, 0x07, 0x53, - 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x1a, 0x73, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, - 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, - 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x65, 0x20, 0x60, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x16, 0x3a, 0x01, 0x2a, 0x32, 0x11, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, - 0x6e, 0x73, 0x3a, 0x73, 0x74, 0x6f, 0x70, 0x12, 0xcc, 0x02, 0x0a, 0x26, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x12, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, - 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, - 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, - 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, - 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, - 0x92, 0x41, 0x57, 0x12, 0x26, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, - 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0x2d, 0x41, 0x73, 0x73, - 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, - 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, - 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, - 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x2d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x2d, 0x72, 0x75, 0x6e, 0x2d, - 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x66, 0x6f, 0x72, 0x2d, - 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0xc0, 0x01, 0x92, 0x41, 0xbc, 0x01, 0x12, 0x40, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, - 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x5b, 0x72, 0x75, 0x6e, 0x73, 0x5d, 0x28, - 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, 0x79, 0x23, 0x72, 0x75, 0x6e, 0x29, 0x2e, 0x1a, - 0x78, 0x0a, 0x1e, 0x52, 0x65, 0x61, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, - 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, - 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, - 0x32, 0x36, 0x35, 0x34, 0x35, 0x34, 0x30, 0x35, 0x33, 0x42, 0x81, 0x01, 0x92, 0x41, 0x0f, 0x12, - 0x0d, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x10, - 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, - 0x42, 0x09, 0x52, 0x75, 0x6e, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, - 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x73, 0x2e, - 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, - 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, 0x32, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, - 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6e, 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0x9e, 0x6e, - 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xd5, 0x02, 0x1a, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, - 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x15, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, - 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, - 0x03, 0x08, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x29, 0x0a, - 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, - 0x12, 0x03, 0x0b, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0d, 0x00, 0x0f, 0x02, - 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0d, 0x00, 0x0f, 0x02, 0x0a, 0x0b, 0x0a, - 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0e, 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, - 0x08, 0x02, 0x01, 0x12, 0x03, 0x0e, 0x09, 0x1d, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, - 0x11, 0x00, 0x72, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x11, 0x08, 0x12, - 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x12, 0x02, 0x18, 0x04, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x12, 0x02, 0x18, 0x04, 0x0a, 0x0d, 0x0a, 0x06, - 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, 0x13, 0x04, 0x53, 0x0a, 0x0e, 0x0a, 0x06, 0x06, - 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x14, 0x04, 0x17, 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, - 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, 0x15, 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, - 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, 0x16, 0x06, 0x33, 0x0a, 0x1f, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x00, 0x12, 0x04, 0x1b, 0x02, 0x21, 0x03, 0x1a, 0x11, 0x20, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1b, 0x06, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x1b, 0x0d, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x1b, 0x25, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x1c, 0x04, 0x3e, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x03, 0x1c, 0x04, 0x3e, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x1c, 0x20, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x12, 0x04, 0x1d, 0x04, 0x20, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x92, 0x08, 0x12, 0x04, 0x1d, 0x04, 0x20, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1e, 0x06, 0x17, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x1f, 0x06, 0x24, 0x0a, 0x37, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x01, 0x12, 0x04, 0x24, 0x02, 0x2a, 0x03, 0x1a, 0x29, 0x20, 0x52, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, - 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x24, - 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x24, 0x0f, 0x1e, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x24, 0x29, 0x39, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x25, 0x04, 0x35, 0x0a, 0x10, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x25, 0x04, 0x35, 0x0a, 0x11, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x25, 0x20, - 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, - 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x26, 0x04, 0x29, - 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x27, - 0x06, 0x19, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, - 0x28, 0x06, 0x3c, 0x0a, 0x1d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x2d, 0x02, 0x36, - 0x03, 0x1a, 0x0f, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x06, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x2d, 0x10, 0x20, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x2d, 0x2b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x2e, 0x04, 0x31, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, - 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x2e, 0x04, 0x31, 0x06, 0x0a, 0x11, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x2f, 0x06, - 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, - 0x03, 0x30, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x32, - 0x04, 0x35, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, - 0x32, 0x04, 0x35, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, - 0x12, 0x03, 0x33, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x03, 0x34, 0x06, 0x22, 0x0a, 0x5f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, - 0x39, 0x02, 0x42, 0x03, 0x1a, 0x51, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x64, - 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, - 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x68, 0x61, 0x73, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, - 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, - 0x12, 0x03, 0x39, 0x06, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, - 0x39, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x39, 0x35, - 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x3a, 0x04, 0x3d, 0x06, - 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x3a, - 0x04, 0x3d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x04, 0x12, 0x03, 0x3b, 0x06, 0x20, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x3c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x03, 0x04, 0x12, 0x04, 0x3e, 0x04, 0x41, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, - 0x04, 0x92, 0x08, 0x12, 0x04, 0x3e, 0x04, 0x41, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x3f, 0x06, 0x1f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x40, 0x06, 0x29, 0x0a, 0x62, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x04, 0x12, 0x04, 0x45, 0x02, 0x4e, 0x03, 0x1a, 0x54, 0x20, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, - 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x45, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x45, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x45, 0x2b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x04, 0x04, 0x12, 0x04, 0x46, 0x04, 0x49, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x46, 0x04, 0x49, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x47, 0x06, 0x1b, 0x0a, 0x11, - 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x48, 0x06, - 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x4a, 0x04, 0x4d, 0x06, - 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, 0x4a, 0x04, 0x4d, - 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x4b, - 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, - 0x4c, 0x06, 0x67, 0x0a, 0x9b, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x52, 0x02, - 0x59, 0x03, 0x1a, 0x8c, 0x01, 0x20, 0x50, 0x65, 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, - 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x6e, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, 0x74, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, - 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, - 0x69, 0x74, 0x68, 0x20, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x52, 0x06, 0x0f, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x52, 0x10, 0x20, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x52, 0x2b, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x53, 0x04, 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, - 0x05, 0x04, 0x21, 0x12, 0x03, 0x53, 0x04, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, - 0x04, 0x12, 0x03, 0x54, 0x04, 0x41, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x12, 0x03, 0x54, 0x04, 0x41, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x05, 0x12, 0x03, 0x54, 0x20, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x55, 0x04, 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x55, 0x04, 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x56, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x57, 0x06, 0x5d, 0x0a, 0x83, 0x01, - 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x5c, 0x02, 0x65, 0x03, 0x1a, 0x75, 0x20, 0x53, - 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, - 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x20, 0x73, 0x65, 0x65, 0x20, 0x60, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, - 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x5c, 0x06, - 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x5c, 0x0e, 0x1c, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x5c, 0x27, 0x36, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, 0x11, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x5e, - 0x06, 0x20, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, - 0x12, 0x03, 0x5f, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, - 0x61, 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, - 0x04, 0x61, 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, - 0x02, 0x12, 0x03, 0x62, 0x06, 0x18, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x04, 0x63, 0x06, 0x88, 0x01, 0x0a, 0x3d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, - 0x12, 0x04, 0x68, 0x02, 0x71, 0x03, 0x1a, 0x2f, 0x20, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, - 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, - 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, - 0x12, 0x03, 0x68, 0x06, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, - 0x68, 0x2d, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0x68, 0x65, - 0x93, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x69, 0x04, 0x6c, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x69, 0x04, 0x6c, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x04, 0x12, 0x03, 0x6a, 0x06, 0x4f, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x6b, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x12, 0x04, 0x6d, 0x04, 0x70, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x6d, 0x04, 0x70, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x6e, 0x06, 0x37, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x6f, 0x06, 0x42, 0x0a, 0x0b, 0x0a, 0x02, - 0x04, 0x00, 0x12, 0x05, 0x74, 0x00, 0x8d, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, - 0x12, 0x03, 0x74, 0x08, 0x0b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x75, - 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x75, 0x09, 0x0f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x75, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x75, 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x75, 0x15, 0x3b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x01, 0x12, 0x03, 0x76, 0x02, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, - 0x06, 0x12, 0x03, 0x76, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x76, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x76, - 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x76, 0x2d, 0x55, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x76, 0x2e, - 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x77, 0x02, 0x57, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, 0x03, 0x77, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x77, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x02, 0x03, 0x12, 0x03, 0x77, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, - 0x08, 0x12, 0x03, 0x77, 0x2e, 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x77, 0x2f, 0x55, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, - 0x03, 0x78, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x78, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x78, 0x09, 0x1b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x78, 0x1e, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x78, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x78, 0x21, 0x47, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x79, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x04, 0x05, 0x12, 0x03, 0x79, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x01, 0x12, 0x03, 0x79, 0x09, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, - 0x03, 0x79, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x79, - 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x79, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x46, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x7a, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7a, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x05, 0x08, 0x12, 0x03, 0x7a, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7a, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x06, 0x12, 0x03, 0x7b, 0x02, 0x5d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x04, 0x12, - 0x03, 0x7b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x7b, - 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x25, 0x2f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x7b, 0x32, 0x33, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x03, 0x7b, 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x35, 0x5b, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x7c, 0x02, 0x5c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x07, 0x04, 0x12, 0x03, 0x7c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, - 0x06, 0x12, 0x03, 0x7c, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, - 0x03, 0x7c, 0x25, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7c, - 0x31, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x7c, 0x33, 0x5b, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, 0x34, - 0x5a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x03, 0x7d, 0x02, 0x3e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x03, 0x7d, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x7d, 0x07, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x08, 0x03, 0x12, 0x03, 0x7d, 0x13, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, - 0x08, 0x12, 0x03, 0x7d, 0x15, 0x3d, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x7d, 0x16, 0x3c, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, - 0x03, 0x7e, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, 0x7e, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x7e, 0x09, 0x0d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x7e, 0x10, 0x12, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x03, 0x7e, 0x13, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7e, 0x14, 0x3a, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x7f, 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0a, 0x05, 0x12, 0x03, 0x7f, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, - 0x01, 0x12, 0x03, 0x7f, 0x09, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, - 0x03, 0x7f, 0x17, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, 0x7f, - 0x1a, 0x42, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x7f, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0b, 0x12, 0x04, 0x80, 0x01, 0x02, - 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x04, 0x80, 0x01, 0x02, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x05, 0x12, 0x04, 0x80, 0x01, 0x0b, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x80, 0x01, 0x12, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x80, 0x01, 0x19, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x12, 0x04, 0x80, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x01, 0x1d, 0x43, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x04, 0x81, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x04, 0x81, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0x81, 0x01, 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x0c, 0x03, 0x12, 0x04, 0x81, 0x01, 0x1d, 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x0c, 0x08, 0x12, 0x04, 0x81, 0x01, 0x20, 0x48, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x01, 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x0d, 0x12, 0x04, 0x82, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, - 0x04, 0x12, 0x04, 0x82, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x05, - 0x12, 0x04, 0x82, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, - 0x04, 0x82, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, - 0x82, 0x01, 0x1f, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x04, 0x82, - 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x82, 0x01, 0x23, 0x49, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x04, 0x84, - 0x01, 0x02, 0x61, 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, - 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x04, 0x84, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x06, 0x12, 0x04, 0x84, 0x01, - 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x01, 0x12, 0x04, 0x84, 0x01, 0x2a, - 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x03, 0x12, 0x04, 0x84, 0x01, 0x35, 0x37, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x12, 0x04, 0x84, 0x01, 0x38, 0x60, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x01, 0x39, - 0x5f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0f, 0x12, 0x04, 0x85, 0x01, 0x02, 0x4a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x04, 0x12, 0x04, 0x85, 0x01, 0x02, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12, 0x04, 0x85, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x04, 0x85, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x04, 0x85, 0x01, 0x1e, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x0f, 0x08, 0x12, 0x04, 0x85, 0x01, 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x85, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x10, 0x12, 0x04, 0x86, 0x01, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x10, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x10, 0x06, 0x12, 0x04, 0x86, 0x01, 0x0b, 0x24, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, - 0x01, 0x12, 0x04, 0x86, 0x01, 0x25, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, - 0x12, 0x04, 0x86, 0x01, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, - 0x04, 0x86, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x86, 0x01, 0x39, 0x5f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, - 0x04, 0x87, 0x01, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x05, 0x12, 0x04, - 0x87, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0x87, - 0x01, 0x07, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0x87, 0x01, - 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x11, 0x08, 0x12, 0x04, 0x87, 0x01, 0x15, - 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, - 0x01, 0x16, 0x3c, 0x0a, 0x60, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x12, 0x12, 0x04, 0x89, 0x01, 0x02, - 0x41, 0x1a, 0x52, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x52, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, - 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x05, 0x12, 0x04, - 0x89, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0x89, - 0x01, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0x89, 0x01, - 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x12, 0x08, 0x12, 0x04, 0x89, 0x01, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x12, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, - 0x01, 0x19, 0x3f, 0x0a, 0xcd, 0x01, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x13, 0x12, 0x04, 0x8c, 0x01, - 0x02, 0x5b, 0x1a, 0xbe, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x43, - 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, - 0x65, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x6e, - 0x64, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x20, 0x49, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x67, - 0x6f, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x6e, 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x29, 0x2c, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, - 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x8c, 0x01, - 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x0b, - 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x24, 0x2c, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x03, 0x12, 0x04, 0x8c, 0x01, 0x2f, 0x31, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x08, 0x12, 0x04, 0x8c, 0x01, 0x32, 0x5a, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x13, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x33, 0x59, - 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0x90, 0x01, 0x00, 0x96, 0x01, 0x01, 0x1a, 0x40, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, - 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0x90, 0x01, 0x08, 0x15, 0x0a, 0x30, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x06, 0x92, 0x01, 0x02, 0x95, 0x01, 0x04, 0x1a, 0x20, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0x92, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x06, 0x92, 0x01, 0x14, 0x95, 0x01, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x93, 0x01, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0x94, 0x01, - 0x04, 0x2b, 0x0a, 0x5b, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0x99, 0x01, 0x00, 0x9b, 0x01, 0x01, - 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x60, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0x99, 0x01, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x00, 0x06, 0x12, 0x04, 0x9a, 0x01, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, - 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, - 0x03, 0x12, 0x04, 0x9a, 0x01, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, - 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x0f, 0x35, 0x0a, 0x51, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, - 0x9e, 0x01, 0x00, 0xba, 0x01, 0x01, 0x1a, 0x43, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x72, + 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa6, 0x01, 0x92, 0x41, 0x57, 0x12, 0x26, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x75, 0x6e, 0x41, + 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x46, 0x6f, 0x72, 0x41, 0x73, 0x73, + 0x65, 0x74, 0x73, 0x1a, 0x2d, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, + 0x61, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x46, 0x3a, 0x01, 0x2a, 0x22, 0x41, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x76, 0x32, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x2f, 0x7b, 0x72, 0x75, 0x6e, 0x5f, 0x69, + 0x64, 0x7d, 0x3a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2d, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x2d, 0x72, 0x75, 0x6e, 0x2d, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x66, 0x6f, 0x72, 0x2d, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x1a, 0xc0, + 0x01, 0x92, 0x41, 0xbc, 0x01, 0x12, 0x40, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, + 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, + 0x6c, 0x79, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, + 0x20, 0x5b, 0x72, 0x75, 0x6e, 0x73, 0x5d, 0x28, 0x2f, 0x67, 0x6c, 0x6f, 0x73, 0x73, 0x61, 0x72, + 0x79, 0x23, 0x72, 0x75, 0x6e, 0x29, 0x2e, 0x1a, 0x78, 0x0a, 0x1e, 0x52, 0x65, 0x61, 0x64, 0x20, + 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x77, 0x68, 0x61, 0x74, 0x20, + 0x72, 0x75, 0x6e, 0x73, 0x20, 0x61, 0x72, 0x65, 0x2e, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2e, 0x73, 0x75, 0x70, 0x70, + 0x6f, 0x72, 0x74, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x2f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x2f, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6c, 0x2f, 0x32, 0x2f, + 0x61, 0x72, 0x74, 0x69, 0x63, 0x6c, 0x65, 0x2f, 0x32, 0x36, 0x35, 0x34, 0x35, 0x34, 0x30, 0x35, + 0x33, 0x42, 0x81, 0x01, 0x92, 0x41, 0x0f, 0x12, 0x0d, 0x0a, 0x0b, 0x52, 0x75, 0x6e, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x10, 0x63, 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x76, 0x32, 0x42, 0x09, 0x52, 0x75, 0x6e, 0x73, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, 0x52, 0x58, 0xaa, 0x02, 0x0c, 0x53, 0x69, + 0x66, 0x74, 0x2e, 0x52, 0x75, 0x6e, 0x73, 0x2e, 0x56, 0x32, 0xca, 0x02, 0x0c, 0x53, 0x69, 0x66, + 0x74, 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0xe2, 0x02, 0x18, 0x53, 0x69, 0x66, 0x74, + 0x5c, 0x52, 0x75, 0x6e, 0x73, 0x5c, 0x56, 0x32, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0e, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x52, 0x75, 0x6e, + 0x73, 0x3a, 0x3a, 0x56, 0x32, 0x4a, 0xf1, 0x71, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xd9, 0x02, + 0x1a, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, + 0x12, 0x03, 0x02, 0x00, 0x15, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x25, + 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, + 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, + 0x28, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, + 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x06, 0x12, 0x03, 0x0a, + 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x07, 0x12, 0x03, 0x0b, 0x00, 0x29, 0x0a, 0x09, 0x0a, + 0x01, 0x08, 0x12, 0x04, 0x0d, 0x00, 0x0f, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, + 0x04, 0x0d, 0x00, 0x0f, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0e, + 0x02, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0e, 0x09, 0x1d, + 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, 0x12, 0x04, 0x11, 0x00, 0x72, 0x01, 0x0a, 0x0a, 0x0a, 0x03, + 0x06, 0x00, 0x01, 0x12, 0x03, 0x11, 0x08, 0x12, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, + 0x04, 0x12, 0x02, 0x18, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, + 0x12, 0x02, 0x18, 0x04, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x03, + 0x13, 0x04, 0x53, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x12, 0x04, 0x14, + 0x04, 0x17, 0x05, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x02, 0x12, 0x03, + 0x15, 0x06, 0x63, 0x0a, 0x0e, 0x0a, 0x07, 0x06, 0x00, 0x03, 0x92, 0x08, 0x03, 0x01, 0x12, 0x03, + 0x16, 0x06, 0x33, 0x0a, 0x1f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x1b, 0x02, 0x21, + 0x03, 0x1a, 0x11, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x1b, + 0x06, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x1b, 0x0d, 0x1a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x1b, 0x25, 0x33, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x03, 0x1c, 0x04, 0x3e, 0x0a, 0x10, 0x0a, 0x09, + 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x1c, 0x04, 0x3e, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x1c, 0x20, + 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x1d, 0x04, 0x20, 0x06, + 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x1d, 0x04, 0x20, + 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1e, + 0x06, 0x17, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, + 0x1f, 0x06, 0x24, 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x24, 0x02, 0x2a, + 0x03, 0x1a, 0x29, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x73, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x20, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x24, 0x06, 0x0e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x01, 0x02, 0x12, 0x03, 0x24, 0x0f, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x03, 0x12, 0x03, 0x24, 0x29, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, + 0x03, 0x25, 0x04, 0x35, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x12, 0x03, 0x25, 0x04, 0x35, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x25, 0x20, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x01, 0x04, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x92, 0x08, 0x12, 0x04, 0x26, 0x04, 0x29, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x27, 0x06, 0x19, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, + 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x28, 0x06, 0x3c, 0x0a, 0x1d, 0x0a, 0x04, 0x06, + 0x00, 0x02, 0x02, 0x12, 0x04, 0x2d, 0x02, 0x36, 0x03, 0x1a, 0x0f, 0x20, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x01, 0x12, 0x03, 0x2d, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, + 0x02, 0x12, 0x03, 0x2d, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, + 0x03, 0x2d, 0x2b, 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x2e, + 0x04, 0x31, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, + 0x12, 0x04, 0x2e, 0x04, 0x31, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x2f, 0x06, 0x1a, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, + 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x30, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x32, 0x04, 0x35, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x32, 0x04, 0x35, 0x06, 0x0a, 0x0f, 0x0a, 0x08, + 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x33, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x34, 0x06, 0x22, 0x0a, 0x5f, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x39, 0x02, 0x42, 0x03, 0x1a, 0x51, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2c, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, + 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x61, 0x66, + 0x74, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x68, 0x61, 0x73, + 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x39, 0x06, 0x14, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, 0x03, 0x39, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x39, 0x35, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x03, 0x04, 0x12, 0x04, 0x3a, 0x04, 0x3d, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x3a, 0x04, 0x3d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, + 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x3b, 0x06, 0x20, 0x0a, 0x11, + 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x3c, 0x06, + 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x3e, 0x04, 0x41, 0x06, + 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x3e, 0x04, 0x41, + 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x3f, + 0x06, 0x1f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, + 0x40, 0x06, 0x29, 0x0a, 0x62, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x45, 0x02, 0x4e, + 0x03, 0x1a, 0x54, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x75, 0x73, 0x69, 0x6e, + 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, + 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, + 0x12, 0x03, 0x45, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, + 0x45, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x45, 0x2b, + 0x3c, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x46, 0x04, 0x49, 0x06, + 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x46, + 0x04, 0x49, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, + 0x06, 0x12, 0x03, 0x47, 0x06, 0x1b, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, + 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x48, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x04, 0x04, 0x12, 0x04, 0x4a, 0x04, 0x4d, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, + 0x04, 0x92, 0x08, 0x12, 0x04, 0x4a, 0x04, 0x4d, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x4b, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, + 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x4c, 0x06, 0x67, 0x0a, 0x9b, 0x01, 0x0a, 0x04, + 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x52, 0x02, 0x59, 0x03, 0x1a, 0x8c, 0x01, 0x20, 0x50, 0x65, + 0x72, 0x6d, 0x61, 0x6e, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x6e, + 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x69, + 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x65, + 0x74, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2e, 0x0a, 0x20, + 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x20, 0x55, 0x73, 0x65, 0x20, + 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x69, 0x73, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x05, 0x01, 0x12, 0x03, 0x52, 0x06, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, + 0x12, 0x03, 0x52, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, + 0x52, 0x2b, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x53, 0x04, + 0x1d, 0x0a, 0x0d, 0x0a, 0x06, 0x06, 0x00, 0x02, 0x05, 0x04, 0x21, 0x12, 0x03, 0x53, 0x04, 0x1d, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x03, 0x54, 0x04, 0x41, 0x0a, 0x10, + 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x54, 0x04, 0x41, + 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x05, 0x12, 0x03, + 0x54, 0x20, 0x3f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x55, 0x04, + 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x55, + 0x04, 0x58, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, + 0x03, 0x56, 0x06, 0x1a, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, + 0x12, 0x03, 0x57, 0x06, 0x5d, 0x0a, 0x83, 0x01, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, + 0x5c, 0x02, 0x65, 0x03, 0x1a, 0x75, 0x20, 0x53, 0x65, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, + 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, + 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, + 0x72, 0x61, 0x72, 0x79, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x73, 0x65, 0x65, 0x20, 0x60, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x5c, 0x06, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x06, 0x02, 0x12, 0x03, 0x5c, 0x0e, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x03, + 0x12, 0x03, 0x5c, 0x27, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, + 0x5d, 0x04, 0x60, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, + 0x22, 0x12, 0x04, 0x5d, 0x04, 0x60, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x5e, 0x06, 0x20, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x5f, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x61, 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, 0x07, + 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x61, 0x04, 0x64, 0x06, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x62, 0x06, 0x18, 0x0a, 0x10, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x63, 0x06, 0x88, 0x01, + 0x0a, 0x3d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x68, 0x02, 0x71, 0x03, 0x1a, 0x2f, + 0x20, 0x41, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x68, 0x06, 0x2c, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x68, 0x2d, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0x68, 0x65, 0x93, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x07, 0x04, 0x12, 0x04, 0x69, 0x04, 0x6c, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, + 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x69, 0x04, 0x6c, 0x06, 0x0a, 0x11, 0x0a, 0x0a, + 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x6a, 0x06, 0x4f, 0x0a, + 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x6b, + 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x6d, 0x04, 0x70, + 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x6d, 0x04, + 0x70, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, + 0x6e, 0x06, 0x37, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, + 0x03, 0x6f, 0x06, 0x42, 0x0a, 0x0b, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x05, 0x74, 0x00, 0x8d, 0x01, + 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x74, 0x08, 0x0b, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x75, 0x02, 0x3d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x00, 0x05, 0x12, 0x03, 0x75, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, + 0x01, 0x12, 0x03, 0x75, 0x09, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x03, 0x12, + 0x03, 0x75, 0x12, 0x13, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, 0x03, 0x75, + 0x14, 0x3c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, + 0x75, 0x15, 0x3b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x76, 0x02, 0x56, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x06, 0x12, 0x03, 0x76, 0x02, 0x1b, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x76, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x76, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x01, 0x08, 0x12, 0x03, 0x76, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x76, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x02, 0x12, 0x03, 0x77, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x06, 0x12, + 0x03, 0x77, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x77, + 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x77, 0x2c, 0x2d, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x77, 0x2e, 0x56, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x77, 0x2f, 0x55, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x78, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x03, 0x78, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x03, 0x01, 0x12, 0x03, 0x78, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x78, 0x1e, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x08, 0x12, + 0x03, 0x78, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x78, 0x21, 0x47, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, 0x03, 0x79, + 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x79, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x79, 0x09, 0x1c, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x79, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x79, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x79, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x05, 0x12, 0x03, 0x7a, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, + 0x05, 0x12, 0x03, 0x7a, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, + 0x03, 0x7a, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x7a, + 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x03, 0x7a, 0x1d, 0x45, + 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7a, 0x1e, + 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x7b, 0x02, 0x5d, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x04, 0x12, 0x03, 0x7b, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x7b, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x06, 0x01, 0x12, 0x03, 0x7b, 0x25, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, + 0x03, 0x12, 0x03, 0x7b, 0x32, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, + 0x03, 0x7b, 0x34, 0x5c, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x7b, 0x35, 0x5b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x7c, + 0x02, 0x5c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x04, 0x12, 0x03, 0x7c, 0x02, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x03, 0x7c, 0x0b, 0x24, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x7c, 0x25, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x7c, 0x31, 0x32, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x07, 0x08, 0x12, 0x03, 0x7c, 0x33, 0x5b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7c, 0x34, 0x5a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x08, 0x12, 0x03, 0x7d, 0x02, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, + 0x03, 0x7d, 0x02, 0x06, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, 0x7d, + 0x07, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x7d, 0x13, 0x14, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x03, 0x7d, 0x15, 0x3d, 0x0a, 0x0f, + 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7d, 0x16, 0x3c, 0x0a, + 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x03, 0x7e, 0x02, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x09, 0x05, 0x12, 0x03, 0x7e, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x09, 0x01, 0x12, 0x03, 0x7e, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, + 0x03, 0x12, 0x03, 0x7e, 0x10, 0x12, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, + 0x03, 0x7e, 0x13, 0x3b, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x03, 0x7e, 0x14, 0x3a, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x03, 0x7f, + 0x02, 0x43, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x05, 0x12, 0x03, 0x7f, 0x02, 0x08, + 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x7f, 0x09, 0x14, 0x0a, 0x0c, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x7f, 0x17, 0x19, 0x0a, 0x0c, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x03, 0x7f, 0x1a, 0x42, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, + 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7f, 0x1b, 0x41, 0x0a, 0x0c, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x0b, 0x12, 0x04, 0x80, 0x01, 0x02, 0x45, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0b, 0x04, 0x12, 0x04, 0x80, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, + 0x05, 0x12, 0x04, 0x80, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x01, + 0x12, 0x04, 0x80, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x03, 0x12, + 0x04, 0x80, 0x01, 0x19, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x12, 0x04, + 0x80, 0x01, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0x80, 0x01, 0x1d, 0x43, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0c, 0x12, 0x04, + 0x81, 0x01, 0x02, 0x49, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x05, 0x12, 0x04, 0x81, + 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0x81, 0x01, + 0x09, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0x81, 0x01, 0x1d, + 0x1f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x12, 0x04, 0x81, 0x01, 0x20, 0x48, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x01, + 0x21, 0x47, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0d, 0x12, 0x04, 0x82, 0x01, 0x02, 0x4b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x04, 0x12, 0x04, 0x82, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x05, 0x12, 0x04, 0x82, 0x01, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0d, 0x01, 0x12, 0x04, 0x82, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x0d, 0x03, 0x12, 0x04, 0x82, 0x01, 0x1f, 0x21, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0d, 0x08, 0x12, 0x04, 0x82, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x82, 0x01, 0x23, 0x49, 0x0a, 0x3d, 0x0a, + 0x04, 0x04, 0x00, 0x02, 0x0e, 0x12, 0x04, 0x84, 0x01, 0x02, 0x61, 0x1a, 0x2f, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x0e, 0x04, 0x12, 0x04, 0x84, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x0e, 0x06, 0x12, 0x04, 0x84, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x0e, 0x01, 0x12, 0x04, 0x84, 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x0e, 0x03, 0x12, 0x04, 0x84, 0x01, 0x35, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0e, + 0x08, 0x12, 0x04, 0x84, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0e, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x01, 0x39, 0x5f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, + 0x0f, 0x12, 0x04, 0x85, 0x01, 0x02, 0x4a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x04, + 0x12, 0x04, 0x85, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x05, 0x12, + 0x04, 0x85, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x01, 0x12, 0x04, + 0x85, 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x03, 0x12, 0x04, 0x85, + 0x01, 0x1e, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x12, 0x04, 0x85, 0x01, + 0x21, 0x49, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0f, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0x85, 0x01, 0x22, 0x48, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x10, 0x12, 0x04, 0x86, 0x01, + 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x04, 0x12, 0x04, 0x86, 0x01, 0x02, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x06, 0x12, 0x04, 0x86, 0x01, 0x0b, 0x24, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x01, 0x12, 0x04, 0x86, 0x01, 0x25, 0x32, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x03, 0x12, 0x04, 0x86, 0x01, 0x35, 0x37, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x00, 0x02, 0x10, 0x08, 0x12, 0x04, 0x86, 0x01, 0x38, 0x60, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x10, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x01, 0x39, 0x5f, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x11, 0x12, 0x04, 0x87, 0x01, 0x02, 0x3e, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x11, 0x05, 0x12, 0x04, 0x87, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x11, 0x01, 0x12, 0x04, 0x87, 0x01, 0x07, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x11, 0x03, 0x12, 0x04, 0x87, 0x01, 0x12, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x11, 0x08, 0x12, 0x04, 0x87, 0x01, 0x15, 0x3d, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x11, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, 0x01, 0x16, 0x3c, 0x0a, 0x60, 0x0a, 0x04, 0x04, + 0x00, 0x02, 0x12, 0x12, 0x04, 0x89, 0x01, 0x02, 0x41, 0x1a, 0x52, 0x20, 0x57, 0x68, 0x65, 0x74, + 0x68, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x52, 0x75, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, + 0x20, 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, + 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x12, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x00, 0x02, 0x12, 0x01, 0x12, 0x04, 0x89, 0x01, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x12, 0x03, 0x12, 0x04, 0x89, 0x01, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x12, 0x08, 0x12, 0x04, 0x89, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x12, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, 0x01, 0x19, 0x3f, 0x0a, 0xcd, 0x01, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x13, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x5b, 0x1a, 0xbe, 0x01, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x43, 0x61, 0x6c, 0x63, 0x75, 0x6c, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, + 0x6e, 0x63, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x73, 0x74, 0x6f, 0x70, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x67, 0x6f, 0x69, 0x6e, 0x67, 0x20, 0x28, 0x6e, 0x6f, + 0x20, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x29, 0x2c, 0x20, 0x74, 0x68, 0x69, + 0x73, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x13, 0x04, 0x12, 0x04, 0x8c, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, + 0x02, 0x13, 0x06, 0x12, 0x04, 0x8c, 0x01, 0x0b, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x13, 0x01, 0x12, 0x04, 0x8c, 0x01, 0x24, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, + 0x03, 0x12, 0x04, 0x8c, 0x01, 0x2f, 0x31, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x13, 0x08, + 0x12, 0x04, 0x8c, 0x01, 0x32, 0x5a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x13, 0x08, 0x9c, + 0x08, 0x00, 0x12, 0x04, 0x8c, 0x01, 0x33, 0x59, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, + 0x90, 0x01, 0x00, 0x96, 0x01, 0x01, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, - 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x03, 0x01, 0x12, 0x04, 0x9e, 0x01, 0x08, 0x17, 0x0a, 0xdf, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x40, 0x1a, 0xd0, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, - 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, - 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, - 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, - 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, - 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x72, 0x75, 0x6e, 0x73, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, - 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xa3, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xa3, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x18, 0x3e, 0x0a, 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x01, 0x12, 0x04, 0xa9, 0x01, 0x02, 0x41, 0x1a, 0xd9, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, - 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, - 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, - 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, - 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, - 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa9, 0x01, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x09, - 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x16, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa9, 0x01, 0x18, 0x40, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x01, 0x19, - 0x3f, 0x0a, 0x96, 0x08, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x3d, - 0x1a, 0x87, 0x08, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, - 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, - 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, - 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, - 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, - 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, - 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, - 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, - 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, - 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x27, 0x64, 0x75, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x27, 0x2c, 0x20, 0x60, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, - 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, - 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, 0x20, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x62, - 0x79, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x60, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x2e, 0x0a, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, - 0x64, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x64, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x60, 0x20, - 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x60, 0x68, 0x60, 0x2c, 0x20, - 0x60, 0x6d, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x73, 0x60, 0x20, 0x73, - 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x20, 0x28, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x3a, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x20, 0x3e, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x27, 0x31, - 0x30, 0x68, 0x27, 0x29, 0x29, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, - 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, - 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, - 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, - 0x66, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x75, 0x6e, 0x73, 0x23, 0x72, 0x75, 0x6e, 0x29, 0x2e, 0x20, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, - 0x03, 0x12, 0x04, 0xb2, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, - 0x12, 0x04, 0xb2, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x15, 0x3b, 0x0a, 0xd9, 0x03, 0x0a, 0x04, 0x04, 0x03, 0x02, - 0x03, 0x12, 0x04, 0xb9, 0x01, 0x02, 0x3f, 0x1a, 0xca, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, - 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, - 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, - 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, - 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x73, 0x74, 0x6f, - 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, - 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, - 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, - 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, - 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x04, 0xb9, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb9, 0x01, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x04, 0xb9, 0x01, 0x14, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x08, 0x12, 0x04, 0xb9, 0x01, 0x16, 0x3e, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x01, - 0x17, 0x3d, 0x0a, 0x5a, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x06, 0xbd, 0x01, 0x00, 0xc0, 0x01, 0x01, - 0x1a, 0x4c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, - 0x73, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0xbd, 0x01, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x04, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xbe, 0x01, 0x0b, 0x0e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xbe, 0x01, 0x0f, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xbe, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xbe, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xbe, 0x01, 0x19, 0x3f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, - 0xbf, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, - 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x01, - 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x1b, - 0x1c, 0x0a, 0x55, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xc3, 0x01, 0x00, 0xe7, 0x01, 0x01, 0x1a, - 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, + 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, + 0x65, 0x74, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, + 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, + 0x04, 0x90, 0x01, 0x08, 0x15, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x06, 0x92, + 0x01, 0x02, 0x95, 0x01, 0x04, 0x1a, 0x20, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, + 0x12, 0x04, 0x92, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, + 0x04, 0x92, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x04, + 0x92, 0x01, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x06, 0x92, + 0x01, 0x14, 0x95, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x93, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x01, 0x02, 0x00, 0x08, + 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0x94, 0x01, 0x04, 0x2b, 0x0a, 0x5b, 0x0a, 0x02, 0x04, 0x02, + 0x12, 0x06, 0x99, 0x01, 0x00, 0x9b, 0x01, 0x01, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x47, 0x65, 0x74, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, + 0x99, 0x01, 0x08, 0x16, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0x9a, 0x01, + 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9a, 0x01, 0x02, + 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9a, 0x01, 0x06, 0x09, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9a, 0x01, 0x0c, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0x9a, 0x01, 0x0e, 0x36, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x01, 0x0f, 0x35, + 0x0a, 0x51, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0x9e, 0x01, 0x00, 0xba, 0x01, 0x01, 0x1a, 0x43, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, - 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, - 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, - 0x04, 0xc3, 0x01, 0x08, 0x18, 0x0a, 0x3e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xc5, - 0x01, 0x02, 0x3b, 0x1a, 0x30, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, - 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, - 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, - 0xc5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, - 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x01, - 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x12, - 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, - 0x01, 0x13, 0x39, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x02, - 0x42, 0x1a, 0x22, 0x20, 0x41, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, - 0xc8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc8, - 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc8, 0x01, - 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x19, - 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, - 0x01, 0x1a, 0x40, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x02, 0x12, 0x04, 0xcb, 0x01, 0x02, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, + 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0x9e, 0x01, 0x08, 0x17, + 0x0a, 0xdf, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x40, 0x1a, + 0xd0, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, + 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, + 0x20, 0x35, 0x30, 0x20, 0x72, 0x75, 0x6e, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, + 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, + 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x12, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x15, 0x16, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa3, 0x01, 0x17, 0x3f, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x18, 0x3e, + 0x0a, 0xe8, 0x01, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x02, 0x41, 0x1a, + 0xd9, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, + 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, + 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x52, + 0x75, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, + 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x01, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x01, 0x03, 0x12, 0x04, 0xa9, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, + 0x08, 0x12, 0x04, 0xa9, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x01, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa9, 0x01, 0x19, 0x3f, 0x0a, 0x96, 0x08, 0x0a, 0x04, 0x04, 0x03, + 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x3d, 0x1a, 0x87, 0x08, 0x20, 0x41, 0x20, 0x5b, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, + 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, + 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, + 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x20, + 0x60, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, + 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, + 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, + 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, + 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, + 0x2c, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, + 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, + 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x0a, 0x20, + 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, + 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, + 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x73, 0x73, 0x65, 0x74, 0x5f, 0x74, 0x61, 0x67, + 0x5f, 0x69, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, + 0x2c, 0x20, 0x27, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x27, 0x2c, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x60, + 0x2c, 0x20, 0x60, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, + 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, + 0x76, 0x65, 0x64, 0x60, 0x2c, 0x0a, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, 0x20, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x66, + 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x20, 0x62, 0x79, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, + 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x60, 0x20, 0x61, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x2e, 0x0a, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x20, 0x69, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, + 0x66, 0x20, 0x65, 0x6c, 0x61, 0x70, 0x73, 0x65, 0x64, 0x20, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x60, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x60, 0x68, 0x60, 0x2c, 0x20, 0x60, 0x6d, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x60, + 0x2c, 0x20, 0x60, 0x6d, 0x73, 0x60, 0x20, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x65, 0x73, 0x20, + 0x28, 0x65, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x60, 0x64, 0x75, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x3e, 0x20, 0x64, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x28, 0x27, 0x31, 0x30, 0x68, 0x27, 0x29, 0x29, 0x0a, 0x20, 0x46, + 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, + 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, + 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, + 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, + 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, + 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, + 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, + 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, + 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x72, 0x75, 0x6e, + 0x73, 0x23, 0x72, 0x75, 0x6e, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x09, 0x0f, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x12, 0x13, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, 0x04, 0xb2, 0x01, 0x14, 0x3c, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x15, 0x3b, + 0x0a, 0xd9, 0x03, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x04, 0xb9, 0x01, 0x02, 0x3f, 0x1a, + 0xca, 0x03, 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x72, 0x75, + 0x6e, 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, + 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, + 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, + 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, + 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, + 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x2c, + 0x20, 0x60, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, + 0x2c, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, + 0x61, 0x6e, 0x64, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2e, + 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, + 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x64, 0x65, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6e, 0x65, 0x77, 0x65, 0x73, 0x74, + 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, + 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, + 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, + 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, + 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, + 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x04, 0xb9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb9, 0x01, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x03, 0x03, 0x12, 0x04, 0xb9, 0x01, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, + 0x03, 0x08, 0x12, 0x04, 0xb9, 0x01, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x01, 0x17, 0x3d, 0x0a, 0x5a, 0x0a, 0x02, 0x04, 0x04, + 0x12, 0x06, 0xbd, 0x01, 0x00, 0xc0, 0x01, 0x01, 0x1a, 0x4c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, + 0x72, 0x75, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x04, 0xbd, + 0x01, 0x08, 0x18, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x02, + 0x41, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbe, 0x01, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, 0x12, 0x04, 0xbe, 0x01, 0x0b, 0x0e, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x04, 0xbe, 0x01, 0x0f, 0x13, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, 0xbe, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0xbe, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, + 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbe, 0x01, 0x19, 0x3f, 0x0a, 0x0c, + 0x0a, 0x04, 0x04, 0x04, 0x02, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x04, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbf, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x1b, 0x1c, 0x0a, 0x55, 0x0a, 0x02, 0x04, 0x05, 0x12, + 0x06, 0xc3, 0x01, 0x00, 0xeb, 0x01, 0x01, 0x1a, 0x47, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, + 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0xc3, 0x01, 0x08, 0x18, 0x0a, 0x3e, 0x0a, + 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x3b, 0x1a, 0x30, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc5, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x00, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x13, 0x39, 0x0a, 0x30, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x42, 0x1a, 0x22, 0x20, 0x41, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x01, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, + 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x01, 0x1a, 0x40, 0x0a, 0x33, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x02, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x44, 0x1a, 0x25, 0x20, 0x54, 0x61, 0x67, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x04, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcb, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcb, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0xcb, 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcb, 0x01, 0x1c, 0x42, 0x0a, 0xb9, 0x02, + 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x54, 0x1a, 0xaa, 0x02, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x6d, 0x75, 0x73, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x0a, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x6e, + 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, + 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, + 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x03, 0x06, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, + 0x01, 0x12, 0x04, 0xd1, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, + 0x12, 0x04, 0xd1, 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, + 0x04, 0xd1, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0xd1, 0x01, 0x2c, 0x52, 0x0a, 0xe1, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, + 0x12, 0x04, 0xd6, 0x01, 0x02, 0x53, 0x1a, 0xd2, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, + 0x6d, 0x65, 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x63, + 0x6c, 0x75, 0x64, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, + 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x64, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, + 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x73, 0x65, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, + 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x04, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x04, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, + 0x08, 0x12, 0x04, 0xd6, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x04, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x2b, 0x51, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x05, 0x02, + 0x05, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x46, 0x1a, 0x54, 0x20, 0x41, 0x6e, 0x20, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x49, 0x44, 0x20, 0x69, 0x73, 0x20, + 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x05, 0x05, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x05, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x05, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x05, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, + 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x01, 0x1e, 0x44, 0x0a, 0x80, 0x01, 0x0a, 0x04, + 0x04, 0x05, 0x02, 0x06, 0x12, 0x06, 0xdc, 0x01, 0x02, 0xe3, 0x01, 0x04, 0x1a, 0x70, 0x20, 0x41, + 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, + 0x2d, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x79, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, + 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x04, 0x12, 0x04, 0xdc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x06, 0x05, 0x12, 0x04, 0xdc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x06, 0x01, 0x12, 0x04, 0xdc, 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x06, 0x03, 0x12, 0x04, 0xdc, 0x01, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x06, 0x08, 0x12, 0x06, 0xdc, 0x01, 0x21, 0xe3, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x05, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x01, 0x04, 0x2a, 0x0a, 0x13, 0x0a, + 0x09, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x12, 0x06, 0xde, 0x01, 0x04, 0xe2, + 0x01, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, + 0x12, 0x04, 0xdf, 0x01, 0x06, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, + 0x09, 0x17, 0x00, 0x02, 0x12, 0x04, 0xe0, 0x01, 0x06, 0x7b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, + 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x03, 0x12, 0x04, 0xe1, 0x01, 0x06, 0x52, 0x0a, 0x3d, + 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x60, 0x1a, 0x2f, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x07, 0x04, 0x12, 0x04, 0xe6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x07, 0x06, 0x12, 0x04, 0xe6, 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x05, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe6, 0x01, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, + 0x02, 0x07, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, + 0x07, 0x08, 0x12, 0x04, 0xe6, 0x01, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x07, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x01, 0x38, 0x5e, 0x0a, 0xf3, 0x02, 0x0a, 0x04, 0x04, + 0x05, 0x02, 0x08, 0x12, 0x04, 0xea, 0x01, 0x02, 0x54, 0x1a, 0xe4, 0x02, 0x20, 0x57, 0x68, 0x65, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, + 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, 0x74, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x54, 0x68, + 0x69, 0x73, 0x20, 0x66, 0x61, 0x63, 0x69, 0x6c, 0x69, 0x74, 0x61, 0x74, 0x65, 0x73, 0x20, 0x67, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x72, + 0x74, 0x20, 0x49, 0x44, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6c, 0x69, 0x76, 0x65, 0x20, 0x72, 0x75, + 0x6c, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, + 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x72, 0x75, 0x6e, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x73, 0x74, + 0x72, 0x65, 0x61, 0x6d, 0x6c, 0x69, 0x6e, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, 0x61, 0x6d, + 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x43, 0x61, 0x6d, 0x70, 0x61, 0x69, 0x67, 0x6e, 0x73, 0x2e, 0x0a, 0x20, 0x44, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x20, + 0x69, 0x66, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, + 0x20, 0x28, 0x54, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x20, 0x63, + 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x79, 0x20, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x20, 0x43, 0x6f, 0x6e, + 0x74, 0x61, 0x63, 0x74, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x74, 0x6f, 0x20, + 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x20, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x29, 0x2e, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x04, 0x12, 0x04, 0xea, 0x01, 0x02, 0x0a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x05, 0x12, 0x04, 0xea, 0x01, 0x0b, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x08, 0x01, 0x12, 0x04, 0xea, 0x01, 0x10, 0x25, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x05, 0x02, 0x08, 0x03, 0x12, 0x04, 0xea, 0x01, 0x28, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x05, 0x02, 0x08, 0x08, 0x12, 0x04, 0xea, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x05, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x2c, 0x52, 0x0a, 0x0c, 0x0a, + 0x02, 0x04, 0x06, 0x12, 0x06, 0xed, 0x01, 0x00, 0xef, 0x01, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x06, 0x01, 0x12, 0x04, 0xed, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, + 0x12, 0x04, 0xee, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, + 0x04, 0xee, 0x01, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xee, 0x01, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xee, + 0x01, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xee, 0x01, + 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xee, 0x01, 0x0f, 0x35, 0x0a, 0x5d, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xf2, 0x01, 0x00, 0x90, + 0x02, 0x01, 0x1a, 0x4f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, + 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0xf2, 0x01, 0x08, 0x1d, + 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x06, 0xf4, 0x01, 0x02, 0xf7, 0x01, 0x04, + 0x1a, 0x30, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, + 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf4, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf4, 0x01, 0x09, 0x0d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf4, 0x01, 0x10, 0x11, 0x0a, + 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x06, 0xf4, 0x01, 0x12, 0xf7, 0x01, 0x03, + 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x01, + 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x02, 0x12, + 0x04, 0xf6, 0x01, 0x04, 0x2b, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xf9, + 0x01, 0x02, 0x42, 0x1a, 0x22, 0x20, 0x41, 0x20, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, + 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, + 0x12, 0x04, 0xf9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xf9, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xf9, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x08, 0x12, 0x04, 0xf9, + 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xf9, 0x01, 0x1a, 0x40, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x02, 0x12, 0x04, 0xfb, + 0x01, 0x02, 0x54, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, + 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x67, 0x61, 0x6e, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x49, + 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x06, 0x12, 0x04, 0xfb, 0x01, 0x02, 0x1b, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfb, 0x01, 0x1c, 0x26, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfb, 0x01, 0x29, 0x2a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, 0x04, 0xfb, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x07, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfb, 0x01, 0x2c, 0x52, 0x0a, + 0x4c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x53, 0x1a, 0x3e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, + 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x03, 0x06, 0x12, 0x04, 0xfd, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x1c, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x03, 0x03, 0x12, 0x04, 0xfd, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x03, 0x08, 0x12, 0x04, 0xfd, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, + 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfd, 0x01, 0x2b, 0x51, 0x0a, 0x44, 0x0a, 0x04, 0x04, + 0x07, 0x02, 0x04, 0x12, 0x06, 0xff, 0x01, 0x02, 0x82, 0x02, 0x04, 0x1a, 0x34, 0x20, 0x41, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x49, 0x44, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, + 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x04, 0x12, 0x04, 0xff, 0x01, 0x02, 0x0a, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x05, 0x12, 0x04, 0xff, 0x01, 0x0b, 0x11, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x01, 0x12, 0x04, 0xff, 0x01, 0x12, 0x1b, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, 0x04, 0xff, 0x01, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x04, 0x08, 0x12, 0x06, 0xff, 0x01, 0x20, 0x82, 0x02, 0x03, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x07, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x02, 0x04, 0x2a, + 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x04, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0x81, + 0x02, 0x04, 0x2f, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x05, 0x12, 0x04, 0x84, 0x02, 0x02, 0x44, 0x1a, 0x25, 0x20, 0x54, 0x61, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, - 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, - 0x04, 0x12, 0x04, 0xcb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x05, - 0x12, 0x04, 0xcb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x01, 0x12, - 0x04, 0xcb, 0x01, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x03, 0x12, 0x04, - 0xcb, 0x01, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x02, 0x08, 0x12, 0x04, 0xcb, - 0x01, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xcb, 0x01, 0x1c, 0x42, 0x0a, 0xb9, 0x02, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x03, 0x12, 0x04, - 0xd1, 0x01, 0x02, 0x54, 0x1a, 0xaa, 0x02, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, - 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, - 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x73, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x20, 0x49, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, - 0x0a, 0x20, 0x62, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x69, 0x66, - 0x20, 0x61, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x69, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x2e, 0x0a, 0x20, 0x49, 0x6d, 0x70, - 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x60, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, - 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, - 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x0a, 0x20, - 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x06, 0x12, 0x04, 0xd1, 0x01, 0x02, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x1c, 0x26, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x03, 0x12, 0x04, 0xd1, 0x01, 0x29, 0x2a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x05, 0x02, 0x03, 0x08, 0x12, 0x04, 0xd1, 0x01, 0x2b, 0x53, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x05, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd1, 0x01, 0x2c, 0x52, 0x0a, - 0xe1, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x04, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x53, 0x1a, 0xd2, - 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, - 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x2e, 0x0a, 0x20, - 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x6e, 0x6f, 0x74, 0x65, 0x3a, 0x20, - 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, - 0x79, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x64, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, - 0x67, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x0a, 0x20, 0x73, 0x65, - 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, - 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x06, 0x12, 0x04, 0xd6, 0x01, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x1c, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x28, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x04, 0x08, 0x12, 0x04, 0xd6, 0x01, 0x2a, 0x52, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x2b, - 0x51, 0x0a, 0x62, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x05, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x46, 0x1a, - 0x54, 0x20, 0x41, 0x6e, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x49, 0x44, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, - 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x05, 0x12, 0x04, - 0xd9, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x01, 0x12, 0x04, 0xd9, - 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x03, 0x12, 0x04, 0xd9, 0x01, - 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x05, 0x08, 0x12, 0x04, 0xd9, 0x01, 0x1d, - 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, - 0x01, 0x1e, 0x44, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x06, 0x12, 0x06, 0xdc, 0x01, - 0x02, 0xe3, 0x01, 0x04, 0x1a, 0x70, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, - 0x61, 0x72, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x20, - 0x6b, 0x65, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, - 0x79, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, - 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, - 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x04, 0x12, - 0x04, 0xdc, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x05, 0x12, 0x04, - 0xdc, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x01, 0x12, 0x04, 0xdc, - 0x01, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x03, 0x12, 0x04, 0xdc, 0x01, - 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x06, 0x08, 0x12, 0x06, 0xdc, 0x01, 0x21, - 0xe3, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xdd, 0x01, 0x04, 0x2a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, 0x09, - 0x17, 0x00, 0x12, 0x06, 0xde, 0x01, 0x04, 0xe2, 0x01, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, - 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, 0x12, 0x04, 0xdf, 0x01, 0x06, 0x1e, 0x0a, 0x12, - 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x02, 0x12, 0x04, 0xe0, 0x01, - 0x06, 0x7b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x05, 0x02, 0x06, 0x08, 0x87, 0x09, 0x17, 0x00, 0x03, - 0x12, 0x04, 0xe1, 0x01, 0x06, 0x52, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x07, 0x12, 0x04, - 0xe6, 0x01, 0x02, 0x60, 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, - 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x04, 0x12, 0x04, - 0xe6, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x06, 0x12, 0x04, 0xe6, - 0x01, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x01, 0x12, 0x04, 0xe6, 0x01, - 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x03, 0x12, 0x04, 0xe6, 0x01, 0x35, - 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x07, 0x08, 0x12, 0x04, 0xe6, 0x01, 0x37, 0x5f, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xe6, 0x01, - 0x38, 0x5e, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0xe9, 0x01, 0x00, 0xeb, 0x01, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xe9, 0x01, 0x08, 0x19, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xea, 0x01, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xea, 0x01, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, - 0x02, 0x00, 0x01, 0x12, 0x04, 0xea, 0x01, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, - 0x00, 0x03, 0x12, 0x04, 0xea, 0x01, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, - 0x08, 0x12, 0x04, 0xea, 0x01, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xea, 0x01, 0x0f, 0x35, 0x0a, 0x5d, 0x0a, 0x02, 0x04, 0x07, 0x12, - 0x06, 0xee, 0x01, 0x00, 0x8c, 0x02, 0x01, 0x1a, 0x4f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x60, 0x20, - 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x64, 0x68, - 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, - 0x04, 0xee, 0x01, 0x08, 0x1d, 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x06, 0xf0, - 0x01, 0x02, 0xf3, 0x01, 0x04, 0x1a, 0x30, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x73, - 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, - 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, - 0x12, 0x04, 0xf0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xf0, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xf0, 0x01, 0x10, 0x11, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x06, 0xf0, - 0x01, 0x12, 0xf3, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xf1, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x00, 0x08, - 0x87, 0x09, 0x0e, 0x02, 0x12, 0x04, 0xf2, 0x01, 0x04, 0x2b, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x42, 0x1a, 0x22, 0x20, 0x41, 0x20, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf5, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xf5, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xf5, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x01, 0x1a, 0x40, 0x0a, 0x6a, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x02, 0x12, 0x04, 0xf7, 0x01, 0x02, 0x54, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, - 0x69, 0x6d, 0x65, 0x20, 0x61, 0x74, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, - 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x67, 0x61, - 0x6e, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, - 0x75, 0x6e, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x62, 0x65, 0x20, 0x62, - 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x60, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x06, 0x12, - 0x04, 0xf7, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, - 0xf7, 0x01, 0x1c, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0xf7, - 0x01, 0x29, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x02, 0x08, 0x12, 0x04, 0xf7, 0x01, - 0x2b, 0x53, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xf7, 0x01, 0x2c, 0x52, 0x0a, 0x4c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x03, 0x12, 0x04, 0xf9, 0x01, - 0x02, 0x53, 0x1a, 0x3e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x20, 0x61, 0x74, - 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x06, 0x12, 0x04, 0xf9, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0xf9, 0x01, 0x1c, 0x25, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x03, 0x12, 0x04, 0xf9, 0x01, 0x28, 0x29, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x03, 0x08, 0x12, 0x04, 0xf9, 0x01, 0x2a, 0x52, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x07, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf9, 0x01, 0x2b, 0x51, - 0x0a, 0x44, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x04, 0x12, 0x06, 0xfb, 0x01, 0x02, 0xfe, 0x01, 0x04, - 0x1a, 0x34, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, - 0x65, 0x74, 0x20, 0x49, 0x44, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, - 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, - 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x04, 0x12, - 0x04, 0xfb, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x05, 0x12, 0x04, - 0xfb, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x01, 0x12, 0x04, 0xfb, - 0x01, 0x12, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, 0x04, 0xfb, 0x01, - 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x08, 0x12, 0x06, 0xfb, 0x01, 0x20, - 0xfe, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xfc, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x04, 0x08, 0x87, 0x09, - 0x12, 0x01, 0x12, 0x04, 0xfd, 0x01, 0x04, 0x2f, 0x0a, 0x33, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x05, - 0x12, 0x04, 0x80, 0x02, 0x02, 0x44, 0x1a, 0x25, 0x20, 0x54, 0x61, 0x67, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x05, 0x04, 0x12, 0x04, 0x80, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x05, 0x05, 0x12, 0x04, 0x80, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x05, 0x01, 0x12, 0x04, 0x80, 0x02, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x05, 0x03, 0x12, 0x04, 0x80, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x05, 0x08, 0x12, 0x04, 0x80, 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x05, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x02, 0x1c, 0x42, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x06, 0x12, 0x04, 0x82, 0x02, 0x02, 0x60, 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x06, 0x04, 0x12, 0x04, 0x82, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, - 0x06, 0x12, 0x04, 0x82, 0x02, 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x01, - 0x12, 0x04, 0x82, 0x02, 0x2a, 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x03, 0x12, - 0x04, 0x82, 0x02, 0x35, 0x36, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x08, 0x12, 0x04, - 0x82, 0x02, 0x37, 0x5f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x82, 0x02, 0x38, 0x5e, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x07, 0x12, - 0x06, 0x84, 0x02, 0x02, 0x8b, 0x02, 0x04, 0x1a, 0x70, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x72, 0x62, - 0x69, 0x74, 0x72, 0x61, 0x72, 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x63, 0x68, 0x6f, 0x73, - 0x65, 0x6e, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x71, - 0x75, 0x65, 0x6c, 0x79, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x61, 0x6c, 0x2c, 0x20, 0x74, 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, - 0x20, 0x72, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x07, 0x04, 0x12, 0x04, 0x84, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, - 0x05, 0x12, 0x04, 0x84, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x01, - 0x12, 0x04, 0x84, 0x02, 0x12, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x03, 0x12, - 0x04, 0x84, 0x02, 0x1f, 0x20, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x08, 0x12, 0x06, - 0x84, 0x02, 0x21, 0x8b, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x07, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0x85, 0x02, 0x04, 0x2a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x07, - 0x08, 0x87, 0x09, 0x17, 0x00, 0x12, 0x06, 0x86, 0x02, 0x04, 0x8a, 0x02, 0x05, 0x0a, 0x12, 0x0a, - 0x0a, 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, 0x12, 0x04, 0x87, 0x02, 0x06, - 0x1e, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, 0x17, 0x00, 0x02, 0x12, - 0x04, 0x88, 0x02, 0x06, 0x7b, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, - 0x17, 0x00, 0x03, 0x12, 0x04, 0x89, 0x02, 0x06, 0x52, 0x0a, 0x6d, 0x0a, 0x02, 0x04, 0x08, 0x12, - 0x06, 0x8f, 0x02, 0x00, 0x91, 0x02, 0x01, 0x1a, 0x5f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x65, 0x77, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, + 0x04, 0x12, 0x04, 0x84, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x05, + 0x12, 0x04, 0x84, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x01, 0x12, + 0x04, 0x84, 0x02, 0x12, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x03, 0x12, 0x04, + 0x84, 0x02, 0x19, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x08, 0x12, 0x04, 0x84, + 0x02, 0x1b, 0x43, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0x84, 0x02, 0x1c, 0x42, 0x0a, 0x3d, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x06, 0x12, 0x04, 0x86, + 0x02, 0x02, 0x60, 0x1a, 0x2f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, + 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x04, 0x12, 0x04, 0x86, + 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x06, 0x12, 0x04, 0x86, 0x02, + 0x0b, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x01, 0x12, 0x04, 0x86, 0x02, 0x2a, + 0x32, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x03, 0x12, 0x04, 0x86, 0x02, 0x35, 0x36, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x06, 0x08, 0x12, 0x04, 0x86, 0x02, 0x37, 0x5f, 0x0a, + 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x02, 0x38, + 0x5e, 0x0a, 0x80, 0x01, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x07, 0x12, 0x06, 0x88, 0x02, 0x02, 0x8f, + 0x02, 0x04, 0x1a, 0x70, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x72, 0x62, 0x69, 0x74, 0x72, 0x61, 0x72, + 0x79, 0x20, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x63, 0x68, 0x6f, 0x73, 0x65, 0x6e, 0x20, 0x6b, 0x65, + 0x79, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, 0x6e, 0x69, 0x71, 0x75, 0x65, 0x6c, 0x79, 0x20, + 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x73, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2c, 0x20, 0x74, + 0x68, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x63, 0x6f, + 0x6d, 0x6d, 0x65, 0x6e, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x04, 0x12, 0x04, 0x88, + 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x05, 0x12, 0x04, 0x88, 0x02, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x01, 0x12, 0x04, 0x88, 0x02, 0x12, + 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x03, 0x12, 0x04, 0x88, 0x02, 0x1f, 0x20, + 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x07, 0x08, 0x12, 0x06, 0x88, 0x02, 0x21, 0x8f, 0x02, + 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x89, + 0x02, 0x04, 0x2a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, 0x17, 0x00, + 0x12, 0x06, 0x8a, 0x02, 0x04, 0x8e, 0x02, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, + 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, 0x12, 0x04, 0x8b, 0x02, 0x06, 0x1e, 0x0a, 0x12, 0x0a, 0x0a, + 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, 0x17, 0x00, 0x02, 0x12, 0x04, 0x8c, 0x02, 0x06, 0x7b, + 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x07, 0x02, 0x07, 0x08, 0x87, 0x09, 0x17, 0x00, 0x03, 0x12, 0x04, + 0x8d, 0x02, 0x06, 0x52, 0x0a, 0x6d, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x93, 0x02, 0x00, 0x95, + 0x02, 0x01, 0x1a, 0x5f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, + 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x6c, 0x79, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x64, 0x68, 0x6f, 0x63, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x93, 0x02, 0x08, 0x1e, + 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x94, 0x02, 0x02, 0x37, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x94, 0x02, 0x02, 0x05, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x94, 0x02, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x94, 0x02, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x94, 0x02, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, 0x02, 0x0f, 0x35, 0x0a, 0x5b, 0x0a, 0x02, + 0x04, 0x09, 0x12, 0x06, 0x98, 0x02, 0x00, 0xab, 0x02, 0x01, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, + 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, 0x6f, + 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, + 0x12, 0x04, 0x98, 0x02, 0x08, 0x18, 0x0a, 0x73, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, + 0x9b, 0x02, 0x02, 0x37, 0x1a, 0x65, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x27, 0x73, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, 0x60, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, + 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x0a, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x69, 0x73, + 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9b, 0x02, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, + 0x02, 0x00, 0x01, 0x12, 0x04, 0x9b, 0x02, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, + 0x00, 0x03, 0x12, 0x04, 0x9b, 0x02, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, + 0x08, 0x12, 0x04, 0x9b, 0x02, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9b, 0x02, 0x0f, 0x35, 0x0a, 0xea, 0x04, 0x0a, 0x04, 0x04, 0x09, + 0x02, 0x01, 0x12, 0x06, 0xa3, 0x02, 0x02, 0xaa, 0x02, 0x04, 0x1a, 0xd9, 0x04, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, + 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x60, 0x2c, 0x0a, 0x20, 0x60, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x73, 0x74, + 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, 0x69, 0x73, 0x5f, 0x70, 0x69, + 0x6e, 0x6e, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, 0x2c, 0x60, 0x69, 0x73, 0x5f, + 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x4e, 0x6f, 0x74, 0x65, 0x3a, 0x20, 0x57, 0x68, 0x65, + 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x70, 0x6c, 0x65, + 0x61, 0x73, 0x65, 0x20, 0x62, 0x65, 0x20, 0x61, 0x77, 0x61, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, + 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, + 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, + 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x20, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x0a, 0x20, 0x63, 0x6f, 0x72, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x62, 0x65, 0x67, 0x69, + 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x41, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x60, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x62, 0x65, 0x20, + 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x65, 0x69, 0x74, 0x68, 0x65, 0x72, 0x20, + 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x20, 0x41, + 0x6e, 0x79, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x61, 0x74, + 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, + 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x77, 0x69, 0x6c, + 0x6c, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x6e, 0x20, 0x65, + 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x06, 0x12, + 0x04, 0xa3, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x01, 0x12, 0x04, + 0xa3, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa3, + 0x02, 0x2a, 0x2b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, 0x08, 0x12, 0x06, 0xa3, 0x02, + 0x2c, 0xaa, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xa4, 0x02, 0x04, 0x2a, 0x0a, 0x13, 0x0a, 0x09, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, + 0x09, 0x17, 0x00, 0x12, 0x06, 0xa5, 0x02, 0x04, 0xa9, 0x02, 0x05, 0x0a, 0x12, 0x0a, 0x0a, 0x04, + 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, 0x12, 0x04, 0xa6, 0x02, 0x06, 0x23, 0x0a, + 0x13, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, 0x00, 0x02, 0x12, 0x05, 0xa7, + 0x02, 0x06, 0xed, 0x01, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, + 0x00, 0x03, 0x12, 0x05, 0xa8, 0x02, 0x06, 0xf3, 0x01, 0x0a, 0x5c, 0x0a, 0x02, 0x04, 0x0a, 0x12, + 0x06, 0xae, 0x02, 0x00, 0xb0, 0x02, 0x01, 0x1a, 0x4e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x64, 0x68, 0x6f, 0x63, 0x52, 0x75, 0x6e, 0x60, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, - 0x65, 0x77, 0x6c, 0x79, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x64, 0x68, - 0x6f, 0x63, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, - 0x04, 0x8f, 0x02, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0x90, - 0x02, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, 0x12, 0x04, 0x90, 0x02, - 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0x90, 0x02, 0x06, - 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0x90, 0x02, 0x0c, 0x0d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x90, 0x02, 0x0e, 0x36, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x90, 0x02, 0x0f, - 0x35, 0x0a, 0x5b, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x94, 0x02, 0x00, 0xa7, 0x02, 0x01, 0x1a, - 0x4d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, - 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x94, 0x02, 0x08, 0x18, 0x0a, 0x73, 0x0a, 0x04, 0x04, - 0x09, 0x02, 0x00, 0x12, 0x04, 0x97, 0x02, 0x02, 0x37, 0x1a, 0x65, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x27, 0x73, 0x20, 0x60, 0x72, 0x75, 0x6e, 0x5f, 0x69, 0x64, - 0x60, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, - 0x74, 0x6f, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x79, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x0a, 0x20, 0x61, - 0x6e, 0x64, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0x97, 0x02, 0x02, 0x05, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x97, 0x02, 0x06, 0x09, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x97, 0x02, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0x97, 0x02, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, 0x02, 0x0f, 0x35, 0x0a, 0xea, - 0x04, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x01, 0x12, 0x06, 0x9f, 0x02, 0x02, 0xa6, 0x02, 0x04, 0x1a, - 0xd9, 0x04, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, - 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, - 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, - 0x65, 0x60, 0x2c, 0x20, 0x60, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x60, 0x2c, 0x0a, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, - 0x2c, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2c, 0x20, 0x60, - 0x69, 0x73, 0x5f, 0x70, 0x69, 0x6e, 0x6e, 0x65, 0x64, 0x60, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x2c, 0x20, 0x60, 0x74, 0x61, 0x67, 0x73, 0x60, - 0x2c, 0x60, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x60, 0x2c, 0x20, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x60, 0x2e, - 0x0a, 0x20, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x61, 0x6e, 0x74, 0x20, 0x4e, 0x6f, 0x74, 0x65, - 0x3a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, - 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x62, 0x65, 0x20, 0x61, 0x77, 0x61, 0x72, - 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, - 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x69, 0x6e, 0x67, 0x65, - 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x72, 0x75, 0x6e, 0x2c, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, - 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, - 0x6e, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x73, 0x65, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x0a, 0x20, 0x63, 0x6f, 0x72, 0x72, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x62, 0x65, 0x67, 0x69, 0x6e, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x61, 0x74, 0x65, 0x73, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x20, 0x41, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x2c, 0x20, 0x60, 0x63, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x60, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x6f, 0x6e, 0x6c, - 0x79, 0x20, 0x62, 0x65, 0x20, 0x73, 0x65, 0x74, 0x20, 0x6f, 0x6e, 0x63, 0x65, 0x20, 0x65, 0x69, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x2e, 0x0a, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, - 0x6e, 0x74, 0x20, 0x61, 0x74, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x20, 0x60, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x5f, 0x6b, 0x65, 0x79, - 0x60, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x69, 0x6e, - 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x09, 0x02, 0x01, 0x06, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, - 0x01, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x2a, 0x2b, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x01, - 0x08, 0x12, 0x06, 0x9f, 0x02, 0x2c, 0xa6, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x02, 0x04, 0x2a, 0x0a, 0x13, 0x0a, 0x09, 0x04, - 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, 0x00, 0x12, 0x06, 0xa1, 0x02, 0x04, 0xa5, 0x02, 0x05, - 0x0a, 0x12, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, 0x00, 0x01, 0x12, 0x04, - 0xa2, 0x02, 0x06, 0x23, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x09, 0x02, 0x01, 0x08, 0x87, 0x09, 0x17, - 0x00, 0x02, 0x12, 0x05, 0xa3, 0x02, 0x06, 0xed, 0x01, 0x0a, 0x13, 0x0a, 0x0a, 0x04, 0x09, 0x02, - 0x01, 0x08, 0x87, 0x09, 0x17, 0x00, 0x03, 0x12, 0x05, 0xa4, 0x02, 0x06, 0xf3, 0x01, 0x0a, 0x5c, - 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xaa, 0x02, 0x00, 0xac, 0x02, 0x01, 0x1a, 0x4e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x20, - 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0a, 0x01, 0x12, 0x04, 0xaa, 0x02, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, - 0x00, 0x12, 0x04, 0xab, 0x02, 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xab, 0x02, 0x02, 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xab, 0x02, 0x06, 0x09, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xab, 0x02, 0x0c, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xab, - 0x02, 0x0e, 0x36, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xab, 0x02, 0x0f, 0x35, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xae, 0x02, 0x00, - 0xbd, 0x02, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xae, 0x02, 0x08, 0x35, - 0x0a, 0x40, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x00, 0x12, 0x06, 0xb0, 0x02, 0x02, 0xb3, 0x02, 0x04, - 0x1a, 0x30, 0x20, 0x54, 0x68, 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x75, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb0, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb0, 0x02, 0x09, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb0, 0x02, 0x12, 0x13, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, 0x06, 0xb0, 0x02, 0x14, 0xb3, 0x02, 0x03, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x02, - 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, - 0x04, 0xb2, 0x02, 0x04, 0x2b, 0x0a, 0xf6, 0x03, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, - 0xbc, 0x02, 0x02, 0x4b, 0x1a, 0xe7, 0x03, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, - 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, - 0x74, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, - 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x65, 0x73, 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x68, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, - 0x64, 0x65, 0x64, 0x2c, 0x20, 0x73, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x73, 0x0a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, - 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, - 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x60, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, - 0x6c, 0x72, 0x65, 0x61, 0x64, 0x79, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x74, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6e, - 0x0a, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, - 0x72, 0x69, 0x6f, 0x64, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x60, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x65, - 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x29, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, - 0x70, 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x65, 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, - 0x64, 0x2c, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x04, 0x12, 0x04, 0xbc, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0b, 0x02, 0x01, 0x05, 0x12, 0x04, 0xbc, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0b, 0x02, 0x01, 0x01, 0x12, 0x04, 0xbc, 0x02, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0b, 0x02, 0x01, 0x03, 0x12, 0x04, 0xbc, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xbc, 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x02, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, - 0x0c, 0x12, 0x04, 0xbf, 0x02, 0x00, 0x39, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, - 0xbf, 0x02, 0x08, 0x36, 0x0a, 0x41, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xc2, 0x02, 0x00, 0xc7, - 0x02, 0x01, 0x1a, 0x33, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, - 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, - 0xc2, 0x02, 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x06, 0xc3, 0x02, - 0x02, 0xc6, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc3, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc3, 0x02, - 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc3, 0x02, 0x12, - 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x06, 0xc3, 0x02, 0x14, 0xc6, - 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xc4, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, - 0x16, 0x12, 0x04, 0xc5, 0x02, 0x04, 0x2b, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x04, 0xca, - 0x02, 0x00, 0x1c, 0x1a, 0x33, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, - 0x04, 0xca, 0x02, 0x08, 0x19, 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xcd, 0x02, 0x00, - 0xd2, 0x02, 0x01, 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x74, 0x6f, 0x70, - 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x72, - 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xcd, 0x02, 0x08, - 0x16, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x06, 0xce, 0x02, 0x02, 0xd1, 0x02, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xce, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xce, 0x02, 0x09, 0x0f, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xce, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x06, 0xce, 0x02, 0x14, 0xd1, 0x02, 0x03, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcf, 0x02, 0x04, - 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0xd0, 0x02, 0x04, 0x2b, 0x0a, 0x4b, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x04, 0xd5, 0x02, 0x00, 0x1a, - 0x1a, 0x3f, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, - 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, - 0x60, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd5, 0x02, 0x08, 0x17, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, + 0x69, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, + 0xae, 0x02, 0x08, 0x19, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xaf, 0x02, + 0x02, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x06, 0x12, 0x04, 0xaf, 0x02, 0x02, + 0x05, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaf, 0x02, 0x06, 0x09, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaf, 0x02, 0x0c, 0x0d, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xaf, 0x02, 0x0e, 0x36, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x02, 0x0f, 0x35, + 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0xb2, 0x02, 0x00, 0xc1, 0x02, 0x01, 0x0a, 0x0b, + 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb2, 0x02, 0x08, 0x35, 0x0a, 0x40, 0x0a, 0x04, 0x04, + 0x0b, 0x02, 0x00, 0x12, 0x06, 0xb4, 0x02, 0x02, 0xb7, 0x02, 0x04, 0x1a, 0x30, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x20, + 0x74, 0x6f, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0b, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0b, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb4, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0b, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb4, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0b, + 0x02, 0x00, 0x08, 0x12, 0x06, 0xb4, 0x02, 0x14, 0xb7, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, + 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, + 0x09, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xb6, 0x02, 0x04, 0x2b, + 0x0a, 0xf6, 0x03, 0x0a, 0x04, 0x04, 0x0b, 0x02, 0x01, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x4b, 0x1a, + 0xe7, 0x03, 0x20, 0x41, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x73, 0x73, + 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x75, 0x74, 0x6f, + 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, + 0x61, 0x74, 0x65, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x2e, 0x0a, 0x20, 0x41, 0x6e, 0x79, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x73, 0x65, 0x20, 0x61, 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x61, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x61, 0x6c, 0x6c, 0x79, + 0x20, 0x61, 0x64, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, + 0x6e, 0x2e, 0x0a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x65, 0x73, + 0x20, 0x65, 0x76, 0x65, 0x6e, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x75, 0x6e, + 0x20, 0x68, 0x61, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x64, 0x2c, 0x20, + 0x73, 0x6f, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6e, + 0x65, 0x77, 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, + 0x0a, 0x20, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x73, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x60, 0x73, 0x74, 0x6f, 0x70, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x60, 0x2e, 0x0a, + 0x20, 0x49, 0x66, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, + 0x73, 0x73, 0x65, 0x74, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x6c, 0x72, 0x65, 0x61, 0x64, + 0x79, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x61, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x74, 0x20, 0x72, 0x75, + 0x6e, 0x20, 0x77, 0x68, 0x6f, 0x73, 0x65, 0x20, 0x72, 0x75, 0x6e, 0x0a, 0x20, 0x70, 0x65, 0x72, + 0x69, 0x6f, 0x64, 0x20, 0x28, 0x74, 0x68, 0x65, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x20, + 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x60, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x60, 0x29, 0x20, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x70, 0x73, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x0a, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x20, 0x72, 0x75, 0x6e, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2c, 0x20, 0x61, 0x6e, + 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, + 0x01, 0x04, 0x12, 0x04, 0xc0, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, + 0x05, 0x12, 0x04, 0xc0, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x01, + 0x12, 0x04, 0xc0, 0x02, 0x12, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x03, 0x12, + 0x04, 0xc0, 0x02, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x12, 0x04, + 0xc0, 0x02, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xc0, 0x02, 0x23, 0x49, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x04, 0xc3, 0x02, + 0x00, 0x39, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xc3, 0x02, 0x08, 0x36, 0x0a, + 0x41, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0xc6, 0x02, 0x00, 0xcb, 0x02, 0x01, 0x1a, 0x33, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, 0x60, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xc6, 0x02, 0x08, 0x18, 0x0a, + 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x00, 0x12, 0x06, 0xc7, 0x02, 0x02, 0xca, 0x02, 0x04, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc7, 0x02, 0x02, 0x08, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc7, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x0d, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc7, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, + 0x04, 0x0d, 0x02, 0x00, 0x08, 0x12, 0x06, 0xc7, 0x02, 0x14, 0xca, 0x02, 0x03, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x02, 0x04, 0x2a, 0x0a, + 0x11, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xc9, 0x02, + 0x04, 0x2b, 0x0a, 0x3f, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x04, 0xce, 0x02, 0x00, 0x1c, 0x1a, 0x33, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x75, 0x6e, + 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xce, 0x02, 0x08, 0x19, + 0x0a, 0x4d, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xd1, 0x02, 0x00, 0xd6, 0x02, 0x01, 0x1a, 0x3f, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x60, 0x20, + 0x74, 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, + 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xd1, 0x02, 0x08, 0x16, 0x0a, 0x0e, 0x0a, 0x04, + 0x04, 0x0f, 0x02, 0x00, 0x12, 0x06, 0xd2, 0x02, 0x02, 0xd5, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0f, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd2, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd2, 0x02, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, + 0x02, 0x00, 0x03, 0x12, 0x04, 0xd2, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0f, 0x02, + 0x00, 0x08, 0x12, 0x06, 0xd2, 0x02, 0x14, 0xd5, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, + 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, + 0x04, 0x0f, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xd4, 0x02, 0x04, 0x2b, 0x0a, + 0x4b, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x04, 0xd9, 0x02, 0x00, 0x1a, 0x1a, 0x3f, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, + 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x52, 0x75, 0x6e, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x53, 0x74, 0x6f, 0x70, 0x52, 0x75, 0x6e, 0x60, 0x20, 0x74, 0x6f, 0x20, + 0x73, 0x74, 0x6f, 0x70, 0x20, 0x61, 0x20, 0x72, 0x75, 0x6e, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, + 0x04, 0x10, 0x01, 0x12, 0x04, 0xd9, 0x02, 0x08, 0x17, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, ]; include!("sift.runs.v2.tonic.rs"); include!("sift.runs.v2.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.serde.rs b/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.serde.rs index 96610fff5..64f646eaf 100644 --- a/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/runs/v2/sift.runs.v2.serde.rs @@ -517,6 +517,9 @@ impl serde::Serialize for CreateRunRequest { if !self.metadata.is_empty() { len += 1; } + if self.create_default_report.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.runs.v2.CreateRunRequest", len)?; if !self.name.is_empty() { struct_ser.serialize_field("name", &self.name)?; @@ -542,6 +545,9 @@ impl serde::Serialize for CreateRunRequest { if !self.metadata.is_empty() { struct_ser.serialize_field("metadata", &self.metadata)?; } + if let Some(v) = self.create_default_report.as_ref() { + struct_ser.serialize_field("createDefaultReport", v)?; + } struct_ser.end() } } @@ -564,6 +570,8 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { "client_key", "clientKey", "metadata", + "create_default_report", + "createDefaultReport", ]; #[allow(clippy::enum_variant_names)] @@ -576,6 +584,7 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { OrganizationId, ClientKey, Metadata, + CreateDefaultReport, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -605,6 +614,7 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), "clientKey" | "client_key" => Ok(GeneratedField::ClientKey), "metadata" => Ok(GeneratedField::Metadata), + "createDefaultReport" | "create_default_report" => Ok(GeneratedField::CreateDefaultReport), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -632,6 +642,7 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { let mut organization_id__ = None; let mut client_key__ = None; let mut metadata__ = None; + let mut create_default_report__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::Name => { @@ -682,6 +693,12 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { } metadata__ = Some(map_.next_value()?); } + GeneratedField::CreateDefaultReport => { + if create_default_report__.is_some() { + return Err(serde::de::Error::duplicate_field("createDefaultReport")); + } + create_default_report__ = map_.next_value()?; + } } } Ok(CreateRunRequest { @@ -693,6 +710,7 @@ impl<'de> serde::Deserialize<'de> for CreateRunRequest { organization_id: organization_id__.unwrap_or_default(), client_key: client_key__, metadata: metadata__.unwrap_or_default(), + create_default_report: create_default_report__, }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.rs b/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.rs index 7ea83033a..caf1f698d 100644 --- a/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.rs +++ b/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.rs @@ -49,6 +49,8 @@ pub struct SavedSearchProperties { pub order_by: ::core::option::Option<::prost::alloc::string::String>, #[prost(message, repeated, tag="14")] pub metadata_items: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag="15")] + pub duration: ::core::option::Option<::prost::alloc::string::String>, } #[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] pub struct SavedSearchFilterItem { @@ -148,7 +150,7 @@ pub struct UpdateSavedSearchResponse { } /// Encoded file descriptor set for the `sift.saved_searches.v1` package pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xf2, 0x66, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, + 0x0a, 0x8b, 0x68, 0x0a, 0x2b, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, @@ -192,7 +194,7 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x44, 0x61, - 0x74, 0x65, 0x22, 0xf6, 0x08, 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x74, 0x65, 0x22, 0xa9, 0x09, 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, @@ -256,722 +258,731 @@ pub const FILE_DESCRIPTOR_SET: &[u8] = &[ 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0d, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x72, 0x6d, 0x42, 0x11, 0x0a, 0x0f, 0x5f, - 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0f, - 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, - 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x42, 0x0b, - 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x22, 0x45, 0x0a, 0x15, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x49, 0x74, 0x65, 0x6d, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x15, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, - 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, - 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, - 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, - 0x44, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, - 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0xab, 0x01, 0x0a, - 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x2c, 0x0a, 0x0f, - 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8f, 0x01, 0x0a, 0x19, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xb5, 0x01, 0x0a, - 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x12, 0x24, 0x0a, 0x08, 0x64, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x48, 0x06, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, + 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, 0x65, 0x72, + 0x6d, 0x42, 0x11, 0x0a, 0x0f, 0x5f, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x42, 0x0f, 0x0a, 0x0d, 0x5f, 0x74, 0x6f, 0x5f, 0x64, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x18, 0x0a, 0x16, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x61, + 0x64, 0x76, 0x61, 0x6e, 0x63, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x73, 0x42, + 0x13, 0x0a, 0x11, 0x5f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x64, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x79, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x45, + 0x0a, 0x15, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x46, 0x69, 0x6c, + 0x74, 0x65, 0x72, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x17, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x49, 0x74, 0x65, + 0x6d, 0x12, 0x15, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, + 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, + 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, + 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x22, 0x44, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, + 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x65, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, + 0xab, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, + 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, + 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, + 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, + 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x8f, 0x01, + 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4a, 0x0a, 0x0e, 0x73, + 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, + 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, + 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, + 0xb5, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x69, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, + 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x50, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x22, 0x47, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, + 0x0f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x61, + 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x49, 0x64, 0x73, 0x22, 0x22, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, + 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x68, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x22, 0x47, - 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4b, 0x0a, 0x1f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x61, 0x76, 0x65, 0x64, - 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x0e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x49, 0x64, - 0x73, 0x22, 0x22, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x18, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x32, 0xdf, + 0x0a, 0x0a, 0x12, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, + 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, - 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, - 0x6b, 0x22, 0x68, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, - 0x0a, 0x0c, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x32, 0xdf, 0x0a, 0x0a, 0x12, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x12, 0xce, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x2d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, - 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x2a, 0x12, 0x0e, 0x47, 0x65, 0x74, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x18, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, - 0x92, 0x41, 0x2b, 0x12, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, - 0xc4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, - 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, + 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, 0x41, 0x29, 0x12, - 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x1a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x12, 0x16, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x2e, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x92, 0x41, 0x2a, 0x12, 0x0e, 0x47, 0x65, + 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x18, 0x52, 0x65, + 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc9, 0x01, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x94, 0x01, 0x92, 0x41, 0x70, 0x12, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5b, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, - 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x75, 0x73, 0x69, - 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, 0x63, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, - 0x32, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x11, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, 0x30, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x2b, 0x12, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, - 0x69, 0x64, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x12, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x68, 0x92, 0x41, 0x38, 0x12, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x1a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0xc0, 0x01, - 0x92, 0x41, 0x17, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, 0x03, 0x53, - 0x53, 0x58, 0xaa, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, 0x53, 0x69, 0x66, - 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, - 0x56, 0x31, 0xe2, 0x02, 0x21, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x53, 0x69, 0x66, 0x74, 0x3a, 0x3a, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, - 0x4a, 0x9a, 0x40, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xca, 0x01, 0x01, 0x0a, 0x08, 0x0a, 0x01, - 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x1f, - 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, 0x0a, 0x02, 0x03, - 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, - 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, - 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, 0x0a, 0x00, - 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0a, 0x00, 0x0c, 0x02, 0x0a, - 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x26, 0x0a, 0x0c, 0x0a, 0x05, - 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x25, 0x0a, 0x0a, 0x0a, 0x02, 0x06, 0x00, - 0x12, 0x04, 0x0e, 0x00, 0x4d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, 0x12, 0x03, 0x0e, - 0x08, 0x1a, 0x0a, 0x28, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x10, 0x02, 0x16, 0x03, - 0x1a, 0x1a, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x10, 0x06, 0x14, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x02, 0x12, 0x03, 0x10, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x10, 0x35, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, - 0x03, 0x11, 0x04, 0x51, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x03, 0x11, 0x04, 0x51, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, - 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x11, 0x20, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x12, 0x04, 0x12, 0x04, 0x15, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, - 0x04, 0x92, 0x08, 0x12, 0x04, 0x12, 0x04, 0x15, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, - 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x13, 0x06, 0x1f, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x14, 0x06, 0x2d, 0x0a, 0x26, 0x0a, 0x04, 0x06, - 0x00, 0x02, 0x01, 0x12, 0x04, 0x19, 0x02, 0x22, 0x03, 0x1a, 0x18, 0x20, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x19, 0x06, - 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x19, 0x18, 0x30, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x3b, 0x54, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, 0x11, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x1b, - 0x06, 0x24, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, - 0x12, 0x03, 0x1c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, - 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, - 0x04, 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, - 0x02, 0x12, 0x03, 0x1f, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x03, 0x20, 0x06, 0x2b, 0x0a, 0x24, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, - 0x04, 0x25, 0x02, 0x2b, 0x03, 0x1a, 0x16, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x25, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x25, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x02, 0x03, 0x12, 0x03, 0x25, 0x3b, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, - 0x12, 0x03, 0x26, 0x04, 0x3f, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x12, 0x03, 0x26, 0x04, 0x3f, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x02, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x26, 0x20, 0x3d, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x04, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x28, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x29, 0x06, 0x29, 0x0a, 0x6b, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x2e, 0x02, 0x37, 0x03, 0x1a, 0x5d, 0x20, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, - 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x75, 0x73, - 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x03, 0x01, 0x12, 0x03, 0x2e, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, - 0x12, 0x03, 0x2e, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, - 0x2e, 0x3b, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x2f, 0x04, - 0x32, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, - 0x04, 0x2f, 0x04, 0x32, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x06, 0x12, 0x03, 0x30, 0x06, 0x25, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x31, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x33, 0x04, 0x36, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x33, 0x04, 0x36, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x34, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, - 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x35, 0x06, 0x70, 0x0a, 0x26, 0x0a, - 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x3a, 0x02, 0x40, 0x03, 0x1a, 0x18, 0x20, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, - 0x3a, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x3a, 0x18, - 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3a, 0x3b, 0x54, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x3b, 0x04, 0x54, 0x0a, 0x10, 0x0a, - 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x3b, 0x04, 0x54, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x05, 0x12, 0x03, 0x3b, - 0x20, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x3c, 0x04, 0x3f, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, 0x3c, 0x04, - 0x3f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x3d, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x3e, 0x06, 0x2b, 0x0a, 0x2d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x43, 0x02, - 0x4c, 0x03, 0x1a, 0x1f, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x73, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, - 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x43, 0x06, - 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x43, 0x1f, 0x3e, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x43, 0x49, 0x69, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, 0x11, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x45, - 0x06, 0x30, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, - 0x12, 0x03, 0x46, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, - 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, - 0x04, 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, - 0x02, 0x12, 0x03, 0x49, 0x06, 0x29, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, - 0x08, 0x03, 0x12, 0x03, 0x4a, 0x06, 0x31, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x04, 0x4f, - 0x00, 0x58, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x4f, 0x08, 0x13, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x50, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x01, 0x12, 0x03, 0x50, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, - 0x03, 0x12, 0x03, 0x50, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x08, 0x12, - 0x03, 0x50, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x50, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x03, 0x51, - 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, 0x51, 0x02, 0x08, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x51, 0x09, 0x18, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x51, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x51, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x51, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, - 0x00, 0x02, 0x02, 0x12, 0x03, 0x52, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, - 0x05, 0x12, 0x03, 0x52, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, - 0x03, 0x52, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x52, - 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, 0x52, 0x12, 0x3a, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x52, 0x13, - 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x53, 0x02, 0x50, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x53, 0x02, 0x17, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x53, 0x18, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x03, 0x03, 0x12, 0x03, 0x53, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, - 0x08, 0x12, 0x03, 0x53, 0x27, 0x4f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x03, 0x53, 0x28, 0x4e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x04, 0x12, - 0x03, 0x54, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, 0x12, 0x03, 0x54, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x54, 0x09, 0x1b, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x54, 0x1e, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x54, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x54, 0x21, 0x47, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x55, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x05, 0x05, 0x12, 0x03, 0x55, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, - 0x01, 0x12, 0x03, 0x55, 0x09, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, - 0x03, 0x55, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x03, 0x55, - 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x55, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, 0x56, 0x02, 0x56, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x56, 0x02, 0x1b, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x56, 0x1c, 0x28, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x56, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x06, 0x08, 0x12, 0x03, 0x56, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x56, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, - 0x07, 0x12, 0x03, 0x57, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, - 0x03, 0x57, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x57, - 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, 0x57, 0x2c, 0x2d, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x57, 0x2e, 0x56, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x57, 0x2f, 0x55, 0x0a, - 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x5a, 0x00, 0x69, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, - 0x01, 0x01, 0x12, 0x03, 0x5a, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, - 0x03, 0x5b, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x03, 0x5b, - 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, 0x5b, 0x09, 0x16, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5b, 0x19, 0x1a, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5b, 0x1b, 0x43, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x1c, 0x42, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x5c, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x01, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x05, 0x12, 0x03, 0x5c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, 0x12, - 0x03, 0x5c, 0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, 0x03, 0x5c, - 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, 0x5c, 0x22, 0x4a, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5c, 0x23, - 0x49, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x5d, 0x02, 0x61, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5d, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x5d, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x02, 0x01, 0x12, 0x03, 0x5d, 0x25, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, - 0x03, 0x12, 0x03, 0x5d, 0x36, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, - 0x03, 0x5d, 0x38, 0x60, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x5d, 0x39, 0x5f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, 0x12, 0x03, 0x5e, - 0x02, 0x5f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x04, 0x12, 0x03, 0x5e, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x5e, 0x0b, 0x24, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5e, 0x25, 0x31, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5e, 0x34, 0x35, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x03, 0x08, 0x12, 0x03, 0x5e, 0x36, 0x5e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5e, 0x37, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x04, 0x12, 0x03, 0x5f, 0x02, 0x5a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x04, 0x12, - 0x03, 0x5f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x06, 0x12, 0x03, 0x5f, - 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, 0x5f, 0x21, 0x2c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5f, 0x2f, 0x30, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x08, 0x12, 0x03, 0x5f, 0x31, 0x59, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x01, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5f, 0x32, 0x58, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x59, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x05, 0x04, 0x12, 0x03, 0x60, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, - 0x06, 0x12, 0x03, 0x60, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x01, 0x12, - 0x03, 0x60, 0x21, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, 0x12, 0x03, 0x60, - 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x08, 0x12, 0x03, 0x60, 0x30, 0x58, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x60, 0x31, - 0x57, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x03, 0x61, 0x02, 0x58, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x04, 0x12, 0x03, 0x61, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x06, 0x06, 0x12, 0x03, 0x61, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x06, 0x01, 0x12, 0x03, 0x61, 0x21, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, - 0x03, 0x12, 0x03, 0x61, 0x2d, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x08, 0x12, - 0x03, 0x61, 0x2f, 0x57, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x61, 0x30, 0x56, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, 0x12, 0x03, 0x62, - 0x02, 0x5f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x04, 0x12, 0x03, 0x62, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x06, 0x12, 0x03, 0x62, 0x0b, 0x20, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x03, 0x62, 0x21, 0x31, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, 0x03, 0x62, 0x34, 0x35, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x07, 0x08, 0x12, 0x03, 0x62, 0x36, 0x5e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x07, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x62, 0x37, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x08, 0x12, 0x03, 0x63, 0x02, 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x04, 0x12, - 0x03, 0x63, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x06, 0x12, 0x03, 0x63, - 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x01, 0x12, 0x03, 0x63, 0x21, 0x2a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x03, 0x12, 0x03, 0x63, 0x2d, 0x2e, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x08, 0x12, 0x03, 0x63, 0x2f, 0x57, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x01, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x63, 0x30, 0x56, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x09, 0x12, 0x03, 0x64, 0x02, 0x65, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x09, 0x04, 0x12, 0x03, 0x64, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, - 0x06, 0x12, 0x03, 0x64, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x01, 0x12, - 0x03, 0x64, 0x21, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x03, 0x12, 0x03, 0x64, - 0x39, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x08, 0x12, 0x03, 0x64, 0x3c, 0x64, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x64, 0x3d, - 0x63, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0a, 0x12, 0x03, 0x65, 0x02, 0x54, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x04, 0x12, 0x03, 0x65, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x0a, 0x05, 0x12, 0x03, 0x65, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x0a, 0x01, 0x12, 0x03, 0x65, 0x10, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, - 0x03, 0x12, 0x03, 0x65, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x08, 0x12, - 0x03, 0x65, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x65, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0b, 0x12, 0x03, 0x66, - 0x02, 0x4f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x04, 0x12, 0x03, 0x66, 0x02, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x05, 0x12, 0x03, 0x66, 0x0b, 0x0f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x66, 0x10, 0x20, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x66, 0x23, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x0b, 0x08, 0x12, 0x03, 0x66, 0x26, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0b, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x66, 0x27, 0x4d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, - 0x0c, 0x12, 0x03, 0x67, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x04, 0x12, - 0x03, 0x67, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x05, 0x12, 0x03, 0x67, - 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x01, 0x12, 0x03, 0x67, 0x12, 0x1a, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x67, 0x1d, 0x1f, 0x0a, 0x0c, - 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x08, 0x12, 0x03, 0x67, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, - 0x04, 0x01, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x67, 0x21, 0x47, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x01, 0x02, 0x0d, 0x12, 0x03, 0x68, 0x02, 0x60, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x0d, 0x04, 0x12, 0x03, 0x68, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, - 0x06, 0x12, 0x03, 0x68, 0x0b, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, 0x01, 0x12, - 0x03, 0x68, 0x23, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, 0x03, 0x12, 0x03, 0x68, - 0x34, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, 0x08, 0x12, 0x03, 0x68, 0x37, 0x5f, - 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x68, 0x38, - 0x5e, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, 0x6b, 0x00, 0x6e, 0x01, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x6b, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, - 0x00, 0x12, 0x03, 0x6c, 0x02, 0x39, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, - 0x03, 0x6c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6c, - 0x09, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x03, 0x6c, 0x0e, 0x0f, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x03, 0x6c, 0x10, 0x38, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6c, 0x11, 0x37, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, 0x6d, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x6d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x6d, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x6d, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, - 0x03, 0x6d, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x03, 0x6d, 0x13, 0x39, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x03, 0x12, 0x04, 0x70, 0x00, 0x77, - 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x03, 0x70, 0x08, 0x1f, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x71, 0x02, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x05, 0x12, 0x03, 0x71, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, - 0x01, 0x12, 0x03, 0x71, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, - 0x03, 0x71, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x71, - 0x11, 0x39, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, - 0x71, 0x12, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x08, 0x00, 0x12, 0x04, 0x72, 0x02, 0x76, - 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, 0x01, 0x12, 0x03, 0x72, 0x08, 0x0d, 0x0a, - 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, 0x73, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x73, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x01, 0x12, 0x03, 0x73, 0x0b, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, - 0x03, 0x12, 0x03, 0x73, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, - 0x74, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x05, 0x12, 0x03, 0x74, 0x04, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x01, 0x12, 0x03, 0x74, 0x0b, 0x17, 0x0a, - 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, 0x03, 0x74, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, - 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x75, 0x04, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x03, 0x05, 0x12, 0x03, 0x75, 0x04, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, - 0x01, 0x12, 0x03, 0x75, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, - 0x03, 0x75, 0x19, 0x1a, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x04, 0x12, 0x04, 0x7a, 0x00, 0x7c, 0x01, - 0x1a, 0x5b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, - 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x5f, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, - 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, - 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x3b, 0x0a, 0x0a, 0x0a, 0x0a, - 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x7a, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x00, 0x12, 0x03, 0x7b, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, - 0x03, 0x7b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7b, - 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x03, 0x7b, 0x1b, 0x1c, - 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x03, 0x7b, 0x1d, 0x45, 0x0a, 0x0f, - 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x7b, 0x1e, 0x44, 0x0a, - 0x4d, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x05, 0x7f, 0x00, 0x81, 0x01, 0x01, 0x1a, 0x40, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0a, - 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x03, 0x7f, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, - 0x02, 0x00, 0x12, 0x04, 0x80, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x06, 0x12, 0x04, 0x80, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, - 0x12, 0x04, 0x80, 0x01, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, - 0x04, 0x80, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, - 0x80, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x80, 0x01, 0x20, 0x46, 0x0a, 0x6c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x84, 0x01, - 0x00, 0x98, 0x01, 0x01, 0x1a, 0x5e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, + 0x65, 0x22, 0x4f, 0x92, 0x41, 0x2b, 0x12, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, 0x3a, 0x01, 0x2a, 0x22, 0x16, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, + 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, + 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4a, 0x92, + 0x41, 0x29, 0x12, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x73, 0x61, 0x76, 0x65, + 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, + 0x18, 0x12, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0x8f, 0x02, 0x0a, 0x11, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x12, + 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x94, 0x01, 0x92, 0x41, 0x70, 0x12, 0x11, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x5b, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, + 0x6e, 0x67, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, + 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x73, + 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1b, + 0x3a, 0x01, 0x2a, 0x32, 0x16, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x12, 0xd8, 0x01, 0x0a, 0x11, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x12, 0x30, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5e, 0x92, 0x41, 0x2b, 0x12, 0x11, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x1a, 0x16, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x2a, 0x28, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x2f, 0x7b, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xf7, 0x01, 0x0a, 0x18, 0x42, 0x61, 0x74, 0x63, 0x68, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x12, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, + 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, + 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x68, 0x92, 0x41, 0x38, 0x12, 0x18, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x1a, 0x1c, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x27, 0x3a, 0x01, 0x2a, 0x22, 0x22, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x3a, 0x62, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x42, 0xc0, 0x01, 0x92, 0x41, 0x17, 0x12, 0x15, 0x0a, 0x13, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1a, 0x63, + 0x6f, 0x6d, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x12, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, + 0x02, 0x03, 0x53, 0x53, 0x58, 0xaa, 0x02, 0x15, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x53, 0x61, 0x76, + 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x15, + 0x53, 0x69, 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x21, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x53, 0x61, 0x76, + 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x53, 0x69, 0x66, 0x74, + 0x3a, 0x3a, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x3a, + 0x3a, 0x56, 0x31, 0x4a, 0x80, 0x41, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, 0xcb, 0x01, 0x01, 0x0a, + 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, 0x01, 0x02, 0x12, 0x03, + 0x02, 0x00, 0x1f, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, 0x00, 0x26, 0x0a, 0x09, + 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x02, 0x12, + 0x03, 0x06, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, 0x07, 0x00, 0x29, 0x0a, + 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, + 0x04, 0x0a, 0x00, 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0a, 0x00, + 0x0c, 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0b, 0x02, 0x26, 0x0a, + 0x0c, 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0b, 0x09, 0x25, 0x0a, 0x0a, 0x0a, + 0x02, 0x06, 0x00, 0x12, 0x04, 0x0e, 0x00, 0x4d, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, + 0x12, 0x03, 0x0e, 0x08, 0x1a, 0x0a, 0x28, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x10, + 0x02, 0x16, 0x03, 0x1a, 0x1a, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, + 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x10, 0x06, 0x14, 0x0a, 0x0c, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x10, 0x15, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, + 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x10, 0x35, 0x4b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, + 0x00, 0x04, 0x12, 0x03, 0x11, 0x04, 0x51, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x00, 0x04, + 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x11, 0x04, 0x51, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, + 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x11, 0x20, 0x4f, 0x0a, 0x0d, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x12, 0x04, 0x15, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, + 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x12, 0x04, 0x15, 0x06, 0x0a, 0x0f, 0x0a, 0x08, + 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x13, 0x06, 0x1f, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x14, 0x06, 0x2d, 0x0a, 0x26, + 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x19, 0x02, 0x22, 0x03, 0x1a, 0x18, 0x20, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, + 0x03, 0x19, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x19, + 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x19, 0x3b, 0x54, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x1a, 0x04, 0x1d, 0x06, 0x0a, + 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x1a, 0x04, + 0x1d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, + 0x12, 0x03, 0x1b, 0x06, 0x24, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x07, 0x12, 0x03, 0x1c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x12, 0x04, 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, + 0x92, 0x08, 0x12, 0x04, 0x1e, 0x04, 0x21, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, + 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x1f, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x20, 0x06, 0x2b, 0x0a, 0x24, 0x0a, 0x04, 0x06, 0x00, + 0x02, 0x02, 0x12, 0x04, 0x25, 0x02, 0x2b, 0x03, 0x1a, 0x16, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, + 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, + 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x25, 0x06, 0x17, 0x0a, 0x0c, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x25, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x25, 0x3b, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x02, 0x04, 0x12, 0x03, 0x26, 0x04, 0x3f, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x26, 0x04, 0x3f, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, + 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x26, 0x20, 0x3d, 0x0a, 0x0d, 0x0a, + 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, 0x0f, 0x0a, 0x07, + 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x27, 0x04, 0x2a, 0x06, 0x0a, 0x0f, 0x0a, + 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x28, 0x06, 0x22, 0x0a, 0x0f, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x29, 0x06, 0x29, 0x0a, + 0x6b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x2e, 0x02, 0x37, 0x03, 0x1a, 0x5d, 0x20, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, + 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x60, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x60, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, + 0x06, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x2e, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, + 0x02, 0x03, 0x02, 0x12, 0x03, 0x2e, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, + 0x03, 0x12, 0x03, 0x2e, 0x3b, 0x54, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, + 0x04, 0x2f, 0x04, 0x32, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x12, 0x04, 0x2f, 0x04, 0x32, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, + 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x06, 0x12, 0x03, 0x30, 0x06, 0x25, 0x0a, 0x11, 0x0a, 0x0a, 0x06, + 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x31, 0x06, 0x0f, 0x0a, 0x0d, + 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x33, 0x04, 0x36, 0x06, 0x0a, 0x0f, 0x0a, + 0x07, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x33, 0x04, 0x36, 0x06, 0x0a, 0x0f, + 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x34, 0x06, 0x22, 0x0a, + 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x35, 0x06, 0x70, + 0x0a, 0x26, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x3a, 0x02, 0x40, 0x03, 0x1a, 0x18, + 0x20, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, + 0x01, 0x12, 0x03, 0x3a, 0x06, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, + 0x03, 0x3a, 0x18, 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3a, + 0x3b, 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x03, 0x3b, 0x04, 0x54, + 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x3b, + 0x04, 0x54, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x05, + 0x12, 0x03, 0x3b, 0x20, 0x52, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, + 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, + 0x04, 0x3c, 0x04, 0x3f, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, + 0x02, 0x12, 0x03, 0x3d, 0x06, 0x22, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, + 0x08, 0x03, 0x12, 0x03, 0x3e, 0x06, 0x2b, 0x0a, 0x2d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, + 0x04, 0x43, 0x02, 0x4c, 0x03, 0x1a, 0x1f, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x01, 0x12, + 0x03, 0x43, 0x06, 0x1e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x02, 0x12, 0x03, 0x43, + 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, 0x12, 0x03, 0x43, 0x49, 0x69, + 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x44, 0x04, 0x47, 0x06, 0x0a, + 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x44, 0x04, + 0x47, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, + 0x12, 0x03, 0x45, 0x06, 0x30, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, + 0xbc, 0x22, 0x07, 0x12, 0x03, 0x46, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, + 0x04, 0x12, 0x04, 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x05, 0x04, + 0x92, 0x08, 0x12, 0x04, 0x48, 0x04, 0x4b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, + 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x49, 0x06, 0x29, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, + 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x4a, 0x06, 0x31, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x00, + 0x12, 0x04, 0x4f, 0x00, 0x58, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x03, 0x4f, + 0x08, 0x13, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x00, 0x12, 0x03, 0x50, 0x02, 0x46, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x03, 0x50, 0x02, 0x08, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x50, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x50, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x00, 0x08, 0x12, 0x03, 0x50, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x50, 0x1e, 0x44, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, + 0x12, 0x03, 0x51, 0x02, 0x46, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x03, + 0x51, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, 0x51, 0x09, + 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x51, 0x1b, 0x1c, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x03, 0x51, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, + 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x51, 0x1e, 0x44, 0x0a, 0x0b, + 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x03, 0x52, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x02, 0x05, 0x12, 0x03, 0x52, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x02, 0x01, 0x12, 0x03, 0x52, 0x09, 0x0d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, + 0x12, 0x03, 0x52, 0x10, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x03, + 0x52, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x52, 0x13, 0x39, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x03, 0x53, 0x02, + 0x50, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x06, 0x12, 0x03, 0x53, 0x02, 0x17, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x03, 0x01, 0x12, 0x03, 0x53, 0x18, 0x22, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x53, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x03, 0x08, 0x12, 0x03, 0x53, 0x27, 0x4f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, + 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x53, 0x28, 0x4e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, + 0x02, 0x04, 0x12, 0x03, 0x54, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x05, + 0x12, 0x03, 0x54, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x54, 0x09, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x54, 0x1e, + 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x03, 0x54, 0x20, 0x48, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x54, 0x21, 0x47, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x03, 0x55, 0x02, 0x4a, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x05, 0x05, 0x12, 0x03, 0x55, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x55, 0x09, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x05, 0x03, 0x12, 0x03, 0x55, 0x1f, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, + 0x12, 0x03, 0x55, 0x21, 0x49, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x55, 0x22, 0x48, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x03, + 0x56, 0x02, 0x56, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x06, 0x12, 0x03, 0x56, 0x02, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x56, 0x1c, 0x28, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x56, 0x2b, 0x2c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x03, 0x56, 0x2d, 0x55, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x56, 0x2e, 0x54, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x00, 0x02, 0x07, 0x12, 0x03, 0x57, 0x02, 0x57, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, + 0x07, 0x06, 0x12, 0x03, 0x57, 0x02, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, + 0x12, 0x03, 0x57, 0x1c, 0x29, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x03, + 0x57, 0x2c, 0x2d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x03, 0x57, 0x2e, + 0x56, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x57, + 0x2f, 0x55, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x04, 0x5a, 0x00, 0x6a, 0x01, 0x0a, 0x0a, + 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x03, 0x5a, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, + 0x02, 0x00, 0x12, 0x03, 0x5b, 0x02, 0x44, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x05, + 0x12, 0x03, 0x5b, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x01, 0x12, 0x03, + 0x5b, 0x09, 0x16, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x03, 0x12, 0x03, 0x5b, 0x19, + 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x00, 0x08, 0x12, 0x03, 0x5b, 0x1b, 0x43, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5b, 0x1c, 0x42, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x01, 0x12, 0x03, 0x5c, 0x02, 0x4b, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x01, 0x04, 0x12, 0x03, 0x5c, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x01, 0x05, 0x12, 0x03, 0x5c, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x01, 0x01, 0x12, 0x03, 0x5c, 0x12, 0x1d, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, + 0x12, 0x03, 0x5c, 0x20, 0x21, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x03, + 0x5c, 0x22, 0x4a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x5c, 0x23, 0x49, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x03, 0x5d, 0x02, + 0x61, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x04, 0x12, 0x03, 0x5d, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x03, 0x5d, 0x0b, 0x24, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x03, 0x5d, 0x25, 0x33, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x02, 0x03, 0x12, 0x03, 0x5d, 0x36, 0x37, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x02, 0x08, 0x12, 0x03, 0x5d, 0x38, 0x60, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5d, 0x39, 0x5f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x03, + 0x12, 0x03, 0x5e, 0x02, 0x5f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x04, 0x12, 0x03, + 0x5e, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x06, 0x12, 0x03, 0x5e, 0x0b, + 0x24, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x01, 0x12, 0x03, 0x5e, 0x25, 0x31, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x03, 0x03, 0x12, 0x03, 0x5e, 0x34, 0x35, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x03, 0x08, 0x12, 0x03, 0x5e, 0x36, 0x5e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x01, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5e, 0x37, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x04, 0x12, 0x03, 0x5f, 0x02, 0x5a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x04, 0x04, 0x12, 0x03, 0x5f, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x06, + 0x12, 0x03, 0x5f, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x01, 0x12, 0x03, + 0x5f, 0x21, 0x2c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x03, 0x12, 0x03, 0x5f, 0x2f, + 0x30, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x04, 0x08, 0x12, 0x03, 0x5f, 0x31, 0x59, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x5f, 0x32, 0x58, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x05, 0x12, 0x03, 0x60, 0x02, 0x59, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x05, 0x04, 0x12, 0x03, 0x60, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x05, 0x06, 0x12, 0x03, 0x60, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x05, 0x01, 0x12, 0x03, 0x60, 0x21, 0x2b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x03, + 0x12, 0x03, 0x60, 0x2e, 0x2f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x05, 0x08, 0x12, 0x03, + 0x60, 0x30, 0x58, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x60, 0x31, 0x57, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x06, 0x12, 0x03, 0x61, 0x02, + 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x04, 0x12, 0x03, 0x61, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x06, 0x06, 0x12, 0x03, 0x61, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x06, 0x01, 0x12, 0x03, 0x61, 0x21, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x06, 0x03, 0x12, 0x03, 0x61, 0x2d, 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x06, 0x08, 0x12, 0x03, 0x61, 0x2f, 0x57, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x06, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x61, 0x30, 0x56, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x07, + 0x12, 0x03, 0x62, 0x02, 0x5f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x04, 0x12, 0x03, + 0x62, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x06, 0x12, 0x03, 0x62, 0x0b, + 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x01, 0x12, 0x03, 0x62, 0x21, 0x31, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x07, 0x03, 0x12, 0x03, 0x62, 0x34, 0x35, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x07, 0x08, 0x12, 0x03, 0x62, 0x36, 0x5e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x01, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x62, 0x37, 0x5d, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x08, 0x12, 0x03, 0x63, 0x02, 0x58, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x08, 0x04, 0x12, 0x03, 0x63, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x06, + 0x12, 0x03, 0x63, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x01, 0x12, 0x03, + 0x63, 0x21, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x03, 0x12, 0x03, 0x63, 0x2d, + 0x2e, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x08, 0x08, 0x12, 0x03, 0x63, 0x2f, 0x57, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x63, 0x30, 0x56, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x09, 0x12, 0x03, 0x64, 0x02, 0x65, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x09, 0x04, 0x12, 0x03, 0x64, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x09, 0x06, 0x12, 0x03, 0x64, 0x0b, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x09, 0x01, 0x12, 0x03, 0x64, 0x21, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x03, + 0x12, 0x03, 0x64, 0x39, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x09, 0x08, 0x12, 0x03, + 0x64, 0x3c, 0x64, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x64, 0x3d, 0x63, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0a, 0x12, 0x03, 0x65, 0x02, + 0x54, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x04, 0x12, 0x03, 0x65, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0a, 0x05, 0x12, 0x03, 0x65, 0x0b, 0x0f, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x65, 0x10, 0x25, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x65, 0x28, 0x2a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x0a, 0x08, 0x12, 0x03, 0x65, 0x2b, 0x53, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0a, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x65, 0x2c, 0x52, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0b, + 0x12, 0x03, 0x66, 0x02, 0x4f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x04, 0x12, 0x03, + 0x66, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x05, 0x12, 0x03, 0x66, 0x0b, + 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x01, 0x12, 0x03, 0x66, 0x10, 0x20, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0b, 0x03, 0x12, 0x03, 0x66, 0x23, 0x25, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x0b, 0x08, 0x12, 0x03, 0x66, 0x26, 0x4e, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x01, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x66, 0x27, 0x4d, 0x0a, 0x0b, 0x0a, 0x04, + 0x04, 0x01, 0x02, 0x0c, 0x12, 0x03, 0x67, 0x02, 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x0c, 0x04, 0x12, 0x03, 0x67, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x05, + 0x12, 0x03, 0x67, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x01, 0x12, 0x03, + 0x67, 0x12, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x03, 0x12, 0x03, 0x67, 0x1d, + 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0c, 0x08, 0x12, 0x03, 0x67, 0x20, 0x48, 0x0a, + 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0c, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x67, 0x21, 0x47, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0d, 0x12, 0x03, 0x68, 0x02, 0x60, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x0d, 0x04, 0x12, 0x03, 0x68, 0x02, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x0d, 0x06, 0x12, 0x03, 0x68, 0x0b, 0x22, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x0d, 0x01, 0x12, 0x03, 0x68, 0x23, 0x31, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, 0x03, + 0x12, 0x03, 0x68, 0x34, 0x36, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0d, 0x08, 0x12, 0x03, + 0x68, 0x37, 0x5f, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0d, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x03, 0x68, 0x38, 0x5e, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x0e, 0x12, 0x03, 0x69, 0x02, + 0x49, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0e, 0x04, 0x12, 0x03, 0x69, 0x02, 0x0a, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x0e, 0x05, 0x12, 0x03, 0x69, 0x0b, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x01, 0x02, 0x0e, 0x01, 0x12, 0x03, 0x69, 0x12, 0x1a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x01, 0x02, 0x0e, 0x03, 0x12, 0x03, 0x69, 0x1d, 0x1f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x01, 0x02, + 0x0e, 0x08, 0x12, 0x03, 0x69, 0x20, 0x48, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x0e, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x03, 0x69, 0x21, 0x47, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x04, + 0x6c, 0x00, 0x6f, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x03, 0x6c, 0x08, 0x1d, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x03, 0x6d, 0x02, 0x39, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x00, 0x05, 0x12, 0x03, 0x6d, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x02, 0x02, 0x00, 0x01, 0x12, 0x03, 0x6d, 0x09, 0x0b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x6d, 0x0e, 0x0f, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x6d, 0x10, 0x38, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x6d, 0x11, 0x37, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x01, 0x12, 0x03, + 0x6e, 0x02, 0x3b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x05, 0x12, 0x03, 0x6e, 0x02, + 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x01, 0x12, 0x03, 0x6e, 0x09, 0x0d, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x01, 0x03, 0x12, 0x03, 0x6e, 0x10, 0x11, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x02, 0x02, 0x01, 0x08, 0x12, 0x03, 0x6e, 0x12, 0x3a, 0x0a, 0x0f, 0x0a, 0x08, 0x04, + 0x02, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x6e, 0x13, 0x39, 0x0a, 0x0a, 0x0a, 0x02, + 0x04, 0x03, 0x12, 0x04, 0x71, 0x00, 0x78, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, + 0x03, 0x71, 0x08, 0x1f, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x00, 0x12, 0x03, 0x72, 0x02, + 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x03, 0x72, 0x02, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x00, 0x01, 0x12, 0x03, 0x72, 0x09, 0x0c, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x00, 0x03, 0x12, 0x03, 0x72, 0x0f, 0x10, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x03, 0x02, 0x00, 0x08, 0x12, 0x03, 0x72, 0x11, 0x39, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x03, 0x02, + 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x03, 0x72, 0x12, 0x38, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x03, + 0x08, 0x00, 0x12, 0x04, 0x73, 0x02, 0x77, 0x03, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x08, 0x00, + 0x01, 0x12, 0x03, 0x73, 0x08, 0x0d, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x03, + 0x74, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x03, 0x74, 0x04, + 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x03, 0x74, 0x0b, 0x17, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x01, 0x03, 0x12, 0x03, 0x74, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, + 0x04, 0x04, 0x03, 0x02, 0x02, 0x12, 0x03, 0x75, 0x04, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, + 0x02, 0x02, 0x05, 0x12, 0x03, 0x75, 0x04, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, + 0x01, 0x12, 0x03, 0x75, 0x0b, 0x17, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, 0x12, + 0x03, 0x75, 0x1a, 0x1b, 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, 0x03, 0x76, 0x04, + 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x05, 0x12, 0x03, 0x76, 0x04, 0x08, 0x0a, + 0x0c, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, 0x01, 0x12, 0x03, 0x76, 0x09, 0x16, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x03, 0x02, 0x03, 0x03, 0x12, 0x03, 0x76, 0x19, 0x1a, 0x0a, 0x67, 0x0a, 0x02, 0x04, + 0x04, 0x12, 0x04, 0x7b, 0x00, 0x7d, 0x01, 0x1a, 0x5b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, + 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x3b, 0x0a, 0x0a, 0x0a, 0x0a, 0x03, 0x04, 0x04, 0x01, 0x12, 0x03, 0x7b, 0x08, 0x1d, + 0x0a, 0x0b, 0x0a, 0x04, 0x04, 0x04, 0x02, 0x00, 0x12, 0x03, 0x7c, 0x02, 0x46, 0x0a, 0x0c, 0x0a, + 0x05, 0x04, 0x04, 0x02, 0x00, 0x05, 0x12, 0x03, 0x7c, 0x02, 0x08, 0x0a, 0x0c, 0x0a, 0x05, 0x04, + 0x04, 0x02, 0x00, 0x01, 0x12, 0x03, 0x7c, 0x09, 0x18, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, + 0x00, 0x03, 0x12, 0x03, 0x7c, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, + 0x12, 0x03, 0x7c, 0x1d, 0x45, 0x0a, 0x0f, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x03, 0x7c, 0x1e, 0x44, 0x0a, 0x4e, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0x80, 0x01, + 0x00, 0x82, 0x01, 0x01, 0x1a, 0x40, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x84, 0x01, 0x08, - 0x20, 0x0a, 0xfc, 0x01, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0x88, 0x01, 0x02, 0x40, - 0x1a, 0xed, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, - 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, - 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, - 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x05, 0x12, 0x04, 0x88, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0x88, 0x01, 0x09, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0x88, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0x88, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, 0x01, 0x18, 0x3e, 0x0a, 0x84, - 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, 0x12, 0x04, 0x8e, 0x01, 0x02, 0x41, 0x1a, 0xf5, 0x01, - 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, - 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, - 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, - 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, - 0x8e, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8e, - 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8e, 0x01, - 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8e, 0x01, 0x18, - 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8e, - 0x01, 0x19, 0x3f, 0x0a, 0xef, 0x03, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x94, 0x01, - 0x02, 0x3d, 0x1a, 0xe0, 0x03, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, - 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, - 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, - 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, - 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x27, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x69, 0x64, 0x27, 0x2e, 0x0a, 0x20, - 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, - 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, - 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, - 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, - 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, - 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, - 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, - 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, - 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, - 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, - 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x61, - 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x23, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, - 0x94, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0x94, - 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0x94, 0x01, - 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x08, 0x12, 0x04, 0x94, 0x01, 0x14, - 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x94, - 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0x97, 0x01, 0x02, - 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, - 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, - 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, - 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x05, 0x12, 0x04, 0x97, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x01, 0x12, 0x04, 0x97, 0x01, 0x09, 0x18, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, 0x12, 0x04, 0x97, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, 0x04, 0x97, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x97, 0x01, 0x1e, 0x44, 0x0a, 0x59, - 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x9b, 0x01, 0x00, 0x9e, 0x01, 0x01, 0x1a, 0x4b, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, - 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, - 0x12, 0x04, 0x9b, 0x01, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, - 0x9c, 0x01, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9c, - 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9c, 0x01, - 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x17, - 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0x9c, 0x01, 0x28, 0x29, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x1b, 0x1c, 0x0a, 0x6a, 0x0a, 0x02, 0x04, - 0x08, 0x12, 0x06, 0xa1, 0x01, 0x00, 0xa6, 0x01, 0x01, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, - 0xa1, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xa2, 0x01, - 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa2, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x09, 0x0d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, 0xa2, 0x01, 0x10, 0x11, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0xa2, 0x01, 0x12, 0x3a, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa2, 0x01, 0x13, 0x39, - 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x50, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x18, 0x22, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa3, 0x01, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, - 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x28, 0x4e, 0x0a, 0x5b, 0x0a, 0x04, - 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, + 0x76, 0x69, 0x63, 0x65, 0x5f, 0x47, 0x65, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x05, 0x01, 0x12, 0x04, 0x80, + 0x01, 0x08, 0x1e, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, 0x12, 0x04, 0x81, 0x01, 0x02, + 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x06, 0x12, 0x04, 0x81, 0x01, 0x02, 0x0d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, 0x12, 0x04, 0x81, 0x01, 0x0e, 0x1a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, 0x04, 0x81, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x04, 0x81, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x81, 0x01, 0x20, 0x46, 0x0a, + 0x6c, 0x0a, 0x02, 0x04, 0x06, 0x12, 0x06, 0x85, 0x01, 0x00, 0x99, 0x01, 0x01, 0x1a, 0x5e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, + 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0x85, 0x01, 0x08, 0x20, 0x0a, 0xfc, 0x01, 0x0a, 0x04, 0x04, + 0x06, 0x02, 0x00, 0x12, 0x04, 0x89, 0x01, 0x02, 0x40, 0x1a, 0xed, 0x01, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, + 0x6f, 0x66, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, + 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, + 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, + 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, + 0x30, 0x3b, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x0a, + 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, + 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x00, 0x05, 0x12, 0x04, 0x89, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, + 0x01, 0x12, 0x04, 0x89, 0x01, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, + 0x12, 0x04, 0x89, 0x01, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, + 0x04, 0x89, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x89, 0x01, 0x18, 0x3e, 0x0a, 0x84, 0x02, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x01, + 0x12, 0x04, 0x8f, 0x01, 0x02, 0x41, 0x1a, 0xf5, 0x01, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, + 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, + 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, + 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, + 0x69, 0x65, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, + 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, 0x20, + 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, 0x20, + 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, 0x69, + 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, + 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8f, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8f, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8f, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x01, 0x08, 0x12, 0x04, 0x8f, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, + 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8f, 0x01, 0x19, 0x3f, 0x0a, 0xef, 0x03, 0x0a, + 0x04, 0x04, 0x06, 0x02, 0x02, 0x12, 0x04, 0x95, 0x01, 0x02, 0x3d, 0x1a, 0xe0, 0x03, 0x20, 0x41, + 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, + 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, + 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, + 0x20, 0x61, 0x6e, 0x64, 0x20, 0x27, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x69, 0x64, 0x27, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, + 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, + 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, + 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, + 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, + 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, + 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, + 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, + 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x6f, 0x6c, 0x2d, 0x62, + 0x75, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x73, 0x61, 0x76, 0x65, 0x64, 0x5f, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x23, 0x73, 0x61, 0x76, 0x65, 0x64, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x29, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x06, 0x02, 0x02, 0x05, 0x12, 0x04, 0x95, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x06, 0x02, 0x02, 0x01, 0x12, 0x04, 0x95, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x06, 0x02, 0x02, 0x03, 0x12, 0x04, 0x95, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x06, 0x02, 0x02, 0x08, 0x12, 0x04, 0x95, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, + 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x95, 0x01, 0x15, 0x3b, 0x0a, 0x5b, 0x0a, 0x04, + 0x04, 0x06, 0x02, 0x03, 0x12, 0x04, 0x98, 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, - 0x02, 0x05, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xa5, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xa5, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x08, 0x12, - 0x04, 0xa5, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xa5, 0x01, 0x1e, 0x44, 0x0a, 0x54, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xa9, - 0x01, 0x00, 0xab, 0x01, 0x01, 0x1a, 0x46, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, - 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, - 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, - 0x02, 0x00, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, - 0x06, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xaa, 0x01, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xaa, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xaa, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xaa, 0x01, 0x20, 0x46, 0x0a, 0x6a, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xae, 0x01, - 0x00, 0xb0, 0x01, 0x01, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, - 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, 0x12, 0x04, 0xae, 0x01, 0x08, 0x20, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, 0x04, 0xaf, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xaf, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, - 0x02, 0x00, 0x08, 0x12, 0x04, 0xaf, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x01, 0x1e, 0x44, 0x0a, 0x4f, 0x0a, 0x02, 0x04, - 0x0b, 0x12, 0x04, 0xb3, 0x01, 0x00, 0x24, 0x1a, 0x43, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, - 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x08, 0x21, 0x0a, 0x71, 0x0a, 0x02, 0x04, 0x0c, 0x12, - 0x06, 0xb6, 0x01, 0x00, 0xb9, 0x01, 0x01, 0x1a, 0x63, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, - 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, - 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x0c, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x08, 0x27, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x0c, 0x02, - 0x00, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x27, 0x1a, 0x22, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, - 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xb8, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xb8, 0x01, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb8, 0x01, 0x12, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb8, 0x01, 0x25, 0x26, 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xbc, - 0x01, 0x00, 0x2b, 0x1a, 0x4a, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, - 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0xbc, 0x01, 0x08, 0x28, 0x0a, 0x6a, 0x0a, 0x02, - 0x04, 0x0e, 0x12, 0x06, 0xbf, 0x01, 0x00, 0xc5, 0x01, 0x01, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, - 0x04, 0xbf, 0x01, 0x08, 0x20, 0x0a, 0x2b, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc1, - 0x01, 0x02, 0x48, 0x1a, 0x1d, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc1, 0x01, 0x02, - 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc1, 0x01, 0x0e, 0x1a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc1, 0x01, 0x1d, 0x1e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc1, 0x01, 0x1f, 0x47, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc1, 0x01, 0x20, 0x46, - 0x0a, 0x71, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x02, 0x55, 0x1a, 0x63, - 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, - 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, - 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, - 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc4, 0x01, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc4, 0x01, 0x1c, - 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc4, 0x01, 0x2a, 0x2b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x04, 0xc4, 0x01, 0x2c, 0x54, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc4, 0x01, 0x2d, - 0x53, 0x0a, 0x51, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xc8, 0x01, 0x00, 0xca, 0x01, 0x01, 0x1a, - 0x43, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, - 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, + 0x03, 0x05, 0x12, 0x04, 0x98, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, + 0x01, 0x12, 0x04, 0x98, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x03, + 0x12, 0x04, 0x98, 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x03, 0x08, 0x12, + 0x04, 0x98, 0x01, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x06, 0x02, 0x03, 0x08, 0x9c, 0x08, + 0x00, 0x12, 0x04, 0x98, 0x01, 0x1e, 0x44, 0x0a, 0x59, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0x9c, + 0x01, 0x00, 0x9f, 0x01, 0x01, 0x1a, 0x4b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, + 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x60, + 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x07, 0x01, 0x12, 0x04, 0x9c, 0x01, 0x08, 0x21, 0x0a, + 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x00, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x2a, 0x0a, 0x0d, 0x0a, + 0x05, 0x04, 0x07, 0x02, 0x00, 0x04, 0x12, 0x04, 0x9d, 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x07, 0x02, 0x00, 0x06, 0x12, 0x04, 0x9d, 0x01, 0x0b, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0x9d, 0x01, 0x17, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, + 0x02, 0x00, 0x03, 0x12, 0x04, 0x9d, 0x01, 0x28, 0x29, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, 0x02, + 0x01, 0x12, 0x04, 0x9e, 0x01, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x05, + 0x12, 0x04, 0x9e, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x01, 0x12, + 0x04, 0x9e, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x01, 0x03, 0x12, 0x04, + 0x9e, 0x01, 0x1b, 0x1c, 0x0a, 0x6a, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0xa2, 0x01, 0x00, 0xa7, + 0x01, 0x01, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, + 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x5f, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, + 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, + 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0xa2, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, + 0x04, 0x04, 0x08, 0x02, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x08, 0x02, 0x00, 0x05, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xa3, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xa3, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa3, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, + 0x01, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x50, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x06, + 0x12, 0x04, 0xa4, 0x01, 0x02, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, + 0x04, 0xa4, 0x01, 0x18, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, + 0xa4, 0x01, 0x25, 0x26, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x08, 0x12, 0x04, 0xa4, + 0x01, 0x27, 0x4f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, + 0x04, 0xa4, 0x01, 0x28, 0x4e, 0x0a, 0x5b, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x02, 0x12, 0x04, 0xa6, + 0x01, 0x02, 0x46, 0x1a, 0x4d, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, + 0x20, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x20, 0x69, 0x66, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x62, + 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, + 0x6c, 0x65, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa6, 0x01, 0x02, + 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa6, 0x01, 0x09, 0x18, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa6, 0x01, 0x1b, 0x1c, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x02, 0x08, 0x12, 0x04, 0xa6, 0x01, 0x1d, 0x45, 0x0a, 0x10, + 0x0a, 0x08, 0x04, 0x08, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x01, 0x1e, 0x44, + 0x0a, 0x54, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0xaa, 0x01, 0x00, 0xac, 0x01, 0x01, 0x1a, 0x46, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xc8, 0x01, 0x08, - 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, 0x02, 0x00, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x48, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc9, 0x01, 0x02, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc9, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, 0xc9, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc9, 0x01, 0x20, 0x46, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0xaa, + 0x01, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0xab, 0x01, 0x02, + 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x06, 0x12, 0x04, 0xab, 0x01, 0x02, 0x0d, + 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0xab, 0x01, 0x0e, 0x1a, 0x0a, + 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0xab, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, + 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0xab, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, + 0x08, 0x04, 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xab, 0x01, 0x20, 0x46, 0x0a, + 0x6a, 0x0a, 0x02, 0x04, 0x0a, 0x12, 0x06, 0xaf, 0x01, 0x00, 0xb1, 0x01, 0x01, 0x1a, 0x5c, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, + 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, + 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, + 0x0a, 0x01, 0x12, 0x04, 0xaf, 0x01, 0x08, 0x20, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0a, 0x02, 0x00, + 0x12, 0x04, 0xb0, 0x01, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x05, 0x12, + 0x04, 0xb0, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x01, 0x12, 0x04, + 0xb0, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb0, + 0x01, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x12, 0x04, 0xb0, 0x01, + 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, + 0xb0, 0x01, 0x1e, 0x44, 0x0a, 0x4f, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x04, 0xb4, 0x01, 0x00, 0x24, + 0x1a, 0x43, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0xb4, 0x01, + 0x08, 0x21, 0x0a, 0x71, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x06, 0xb7, 0x01, 0x00, 0xba, 0x01, 0x01, + 0x1a, 0x63, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, + 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x5f, 0x42, 0x61, 0x74, 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, + 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0xb7, 0x01, + 0x08, 0x27, 0x0a, 0x30, 0x0a, 0x04, 0x04, 0x0c, 0x02, 0x00, 0x12, 0x04, 0xb9, 0x01, 0x02, 0x27, + 0x1a, 0x22, 0x20, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x31, 0x30, 0x30, 0x30, + 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x65, 0x73, 0x20, 0x70, 0x65, 0x72, 0x20, 0x62, 0x61, + 0x74, 0x63, 0x68, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x04, 0x12, 0x04, 0xb9, + 0x01, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x05, 0x12, 0x04, 0xb9, 0x01, + 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x01, 0x12, 0x04, 0xb9, 0x01, 0x12, + 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0c, 0x02, 0x00, 0x03, 0x12, 0x04, 0xb9, 0x01, 0x25, 0x26, + 0x0a, 0x56, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x04, 0xbd, 0x01, 0x00, 0x2b, 0x1a, 0x4a, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, + 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x42, 0x61, 0x74, + 0x63, 0x68, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x65, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, + 0x04, 0xbd, 0x01, 0x08, 0x28, 0x0a, 0x6a, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xc0, 0x01, 0x00, + 0xc6, 0x01, 0x01, 0x1a, 0x5c, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x6f, 0x20, + 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x53, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x20, 0x61, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x2e, + 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xc0, 0x01, 0x08, 0x20, 0x0a, 0x2b, + 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x48, 0x1a, 0x1d, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x73, 0x61, 0x76, 0x65, 0x64, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, + 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x00, 0x06, 0x12, 0x04, 0xc2, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x01, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x00, 0x03, 0x12, 0x04, 0xc2, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, + 0x08, 0x12, 0x04, 0xc2, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, + 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc2, 0x01, 0x20, 0x46, 0x0a, 0x71, 0x0a, 0x04, 0x04, 0x0e, 0x02, + 0x01, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x55, 0x1a, 0x63, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, + 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, + 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, + 0x72, 0x65, 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x69, 0x65, 0x73, 0x60, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, + 0x04, 0x0e, 0x02, 0x01, 0x06, 0x12, 0x04, 0xc5, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, + 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, + 0x02, 0x01, 0x03, 0x12, 0x04, 0xc5, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, + 0x01, 0x08, 0x12, 0x04, 0xc5, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, + 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc5, 0x01, 0x2d, 0x53, 0x0a, 0x51, 0x0a, 0x02, 0x04, 0x0f, + 0x12, 0x06, 0xc9, 0x01, 0x00, 0xcb, 0x01, 0x01, 0x1a, 0x43, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x53, 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, + 0x61, 0x76, 0x65, 0x64, 0x53, 0x65, 0x61, 0x72, 0x63, 0x68, 0x60, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, + 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xc9, 0x01, 0x08, 0x21, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0f, + 0x02, 0x00, 0x12, 0x04, 0xca, 0x01, 0x02, 0x48, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, + 0x06, 0x12, 0x04, 0xca, 0x01, 0x02, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x01, + 0x12, 0x04, 0xca, 0x01, 0x0e, 0x1a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, 0x12, + 0x04, 0xca, 0x01, 0x1d, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, 0x04, + 0xca, 0x01, 0x1f, 0x47, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, + 0x12, 0x04, 0xca, 0x01, 0x20, 0x46, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, ]; include!("sift.saved_searches.v1.tonic.rs"); include!("sift.saved_searches.v1.serde.rs"); diff --git a/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.serde.rs index 82fe7361d..b860fa115 100644 --- a/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.serde.rs +++ b/rust/crates/sift_rs/src/gen/sift/saved_searches/v1/sift.saved_searches.v1.serde.rs @@ -1497,6 +1497,9 @@ impl serde::Serialize for SavedSearchProperties { if !self.metadata_items.is_empty() { len += 1; } + if self.duration.is_some() { + len += 1; + } let mut struct_ser = serializer.serialize_struct("sift.saved_searches.v1.SavedSearchProperties", len)?; if !self.overview_mode.is_empty() { struct_ser.serialize_field("overviewMode", &self.overview_mode)?; @@ -1540,6 +1543,9 @@ impl serde::Serialize for SavedSearchProperties { if !self.metadata_items.is_empty() { struct_ser.serialize_field("metadataItems", &self.metadata_items)?; } + if let Some(v) = self.duration.as_ref() { + struct_ser.serialize_field("duration", v)?; + } struct_ser.end() } } @@ -1578,6 +1584,7 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { "orderBy", "metadata_items", "metadataItems", + "duration", ]; #[allow(clippy::enum_variant_names)] @@ -1596,6 +1603,7 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { IncludeArchived, OrderBy, MetadataItems, + Duration, } impl<'de> serde::Deserialize<'de> for GeneratedField { fn deserialize(deserializer: D) -> std::result::Result @@ -1631,6 +1639,7 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), "metadataItems" | "metadata_items" => Ok(GeneratedField::MetadataItems), + "duration" => Ok(GeneratedField::Duration), _ => Err(serde::de::Error::unknown_field(value, FIELDS)), } } @@ -1664,6 +1673,7 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { let mut include_archived__ = None; let mut order_by__ = None; let mut metadata_items__ = None; + let mut duration__ = None; while let Some(k) = map_.next_key()? { match k { GeneratedField::OverviewMode => { @@ -1750,6 +1760,12 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { } metadata_items__ = Some(map_.next_value()?); } + GeneratedField::Duration => { + if duration__.is_some() { + return Err(serde::de::Error::duplicate_field("duration")); + } + duration__ = map_.next_value()?; + } } } Ok(SavedSearchProperties { @@ -1767,6 +1783,7 @@ impl<'de> serde::Deserialize<'de> for SavedSearchProperties { include_archived: include_archived__, order_by: order_by__, metadata_items: metadata_items__.unwrap_or_default(), + duration: duration__, }) } } diff --git a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.rs b/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.rs deleted file mode 100644 index 7f2ec8a3e..000000000 --- a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.rs +++ /dev/null @@ -1,2034 +0,0 @@ -// @generated -// This file is @generated by prost-build. -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UserAttributeKey { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub organization_id: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub description: ::prost::alloc::string::String, - #[prost(enumeration="UserAttributeValueType", tag="5")] - pub r#type: i32, - #[prost(message, optional, tag="6")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="7")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="8")] - pub modified_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(string, tag="9")] - pub modified_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="10")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(bool, tag="11")] - pub is_archived: bool, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreateUserAttributeKeyRequest { - #[prost(string, tag="1")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub description: ::prost::alloc::string::String, - #[prost(enumeration="UserAttributeValueType", tag="3")] - pub r#type: i32, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct CreateUserAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub user_attribute_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateUserAttributeKeyRequest { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub name: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub description: ::prost::alloc::string::String, - #[prost(message, optional, tag="4")] - pub update_mask: ::core::option::Option<::pbjson_types::FieldMask>, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UpdateUserAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub user_attribute_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetUserAttributeKeyRequest { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetUserAttributeKeyResponse { - #[prost(message, optional, tag="1")] - pub user_attribute_key: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListUserAttributeKeysRequest { - #[prost(uint32, tag="1")] - pub page_size: u32, - #[prost(string, tag="2")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub order_by: ::prost::alloc::string::String, - #[prost(string, tag="5")] - pub organization_id: ::prost::alloc::string::String, - #[prost(bool, tag="6")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListUserAttributeKeysResponse { - #[prost(message, repeated, tag="1")] - pub user_attribute_keys: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveUserAttributeKeysRequest { - #[prost(string, repeated, tag="1")] - pub user_attribute_key_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveUserAttributeKeysResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveUserAttributeKeysRequest { - #[prost(string, repeated, tag="1")] - pub user_attribute_key_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveUserAttributeKeysResponse { -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UserAttributeValue { - #[prost(string, tag="1")] - pub user_attribute_value_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub user_id: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub organization_id: ::prost::alloc::string::String, - #[prost(string, tag="8")] - pub created_by_user_id: ::prost::alloc::string::String, - #[prost(message, optional, tag="9")] - pub created_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(message, optional, tag="10")] - pub archived_date: ::core::option::Option<::pbjson_types::Timestamp>, - #[prost(bool, tag="11")] - pub is_archived: bool, - #[prost(message, optional, tag="12")] - pub key: ::core::option::Option, - #[prost(oneof="user_attribute_value::Value", tags="5, 6, 7")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `UserAttributeValue`. -pub mod user_attribute_value { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="5")] - StringValue(::prost::alloc::string::String), - #[prost(double, tag="6")] - NumberValue(f64), - #[prost(bool, tag="7")] - BooleanValue(bool), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateUserAttributeValueRequest { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, tag="2")] - pub user_id: ::prost::alloc::string::String, - #[prost(oneof="create_user_attribute_value_request::Value", tags="4, 5, 6")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `CreateUserAttributeValueRequest`. -pub mod create_user_attribute_value_request { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="4")] - StringValue(::prost::alloc::string::String), - #[prost(double, tag="5")] - NumberValue(f64), - #[prost(bool, tag="6")] - BooleanValue(bool), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CreateUserAttributeValueResponse { - #[prost(message, optional, tag="1")] - pub user_attribute_value: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BatchCreateUserAttributeValueRequest { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(string, repeated, tag="2")] - pub user_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(oneof="batch_create_user_attribute_value_request::Value", tags="3, 4, 5")] - pub value: ::core::option::Option, -} -/// Nested message and enum types in `BatchCreateUserAttributeValueRequest`. -pub mod batch_create_user_attribute_value_request { - #[derive(Clone, PartialEq, ::prost::Oneof)] - pub enum Value { - #[prost(string, tag="3")] - StringValue(::prost::alloc::string::String), - #[prost(double, tag="4")] - NumberValue(f64), - #[prost(bool, tag="5")] - BooleanValue(bool), - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BatchCreateUserAttributeValueResponse { - #[prost(message, repeated, tag="1")] - pub user_attribute_values: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListUserAttributeKeyValuesRequest { - #[prost(string, tag="1")] - pub user_attribute_key_id: ::prost::alloc::string::String, - #[prost(uint32, tag="2")] - pub page_size: u32, - #[prost(string, tag="3")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="5")] - pub order_by: ::prost::alloc::string::String, - #[prost(bool, tag="6")] - pub include_archived: bool, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListUserAttributeKeyValuesResponse { - #[prost(message, repeated, tag="1")] - pub user_attribute_values: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ListUserAttributeValuesRequest { - #[prost(uint32, tag="1")] - pub page_size: u32, - #[prost(string, tag="2")] - pub page_token: ::prost::alloc::string::String, - #[prost(string, tag="3")] - pub filter: ::prost::alloc::string::String, - #[prost(string, tag="4")] - pub order_by: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ListUserAttributeValuesResponse { - #[prost(message, repeated, tag="1")] - pub user_attribute_values: ::prost::alloc::vec::Vec, - #[prost(string, tag="2")] - pub next_page_token: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct GetUserAttributeValueRequest { - #[prost(string, tag="1")] - pub user_attribute_value_id: ::prost::alloc::string::String, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct GetUserAttributeValueResponse { - #[prost(message, optional, tag="1")] - pub user_attribute_value: ::core::option::Option, -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveUserAttributeValuesRequest { - #[prost(string, repeated, tag="1")] - pub user_attribute_value_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct ArchiveUserAttributeValuesResponse { -} -#[derive(Clone, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveUserAttributeValuesRequest { - #[prost(string, repeated, tag="1")] - pub user_attribute_value_ids: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, Copy, PartialEq, Eq, Hash, ::prost::Message)] -pub struct UnarchiveUserAttributeValuesResponse { -} -#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)] -#[repr(i32)] -pub enum UserAttributeValueType { - Unspecified = 0, - String = 1, - Boolean = 2, - Number = 3, - SetOfString = 4, -} -impl UserAttributeValueType { - /// String value of the enum field names used in the ProtoBuf definition. - /// - /// The values are not transformed in any way and thus are considered stable - /// (if the ProtoBuf definition does not change) and safe for programmatic use. - pub fn as_str_name(&self) -> &'static str { - match self { - Self::Unspecified => "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", - Self::String => "USER_ATTRIBUTE_VALUE_TYPE_STRING", - Self::Boolean => "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN", - Self::Number => "USER_ATTRIBUTE_VALUE_TYPE_NUMBER", - Self::SetOfString => "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING", - } - } - /// Creates an enum from field names used in the ProtoBuf definition. - pub fn from_str_name(value: &str) -> ::core::option::Option { - match value { - "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED" => Some(Self::Unspecified), - "USER_ATTRIBUTE_VALUE_TYPE_STRING" => Some(Self::String), - "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN" => Some(Self::Boolean), - "USER_ATTRIBUTE_VALUE_TYPE_NUMBER" => Some(Self::Number), - "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING" => Some(Self::SetOfString), - _ => None, - } - } -} -/// Encoded file descriptor set for the `sift.user_attributes.v1` package -pub const FILE_DESCRIPTOR_SET: &[u8] = &[ - 0x0a, 0xe3, 0xd8, 0x01, 0x0a, 0x2d, 0x73, 0x69, 0x66, 0x74, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 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, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, - 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfe, 0x04, 0x0a, 0x10, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, - 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x42, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x44, - 0x0a, 0x0d, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, - 0x08, 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, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x44, 0x61, 0x74, 0x65, 0x12, 0x3a, 0x0a, 0x13, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x10, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa9, 0x01, 0x0a, - 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x17, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x48, - 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x7e, 0x0a, 0x1e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xe1, 0x01, 0x0a, 0x1d, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 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, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x22, 0x7e, 0x0a, 0x1e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, - 0x0a, 0x12, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0x5c, 0x0a, 0x1a, - 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x22, 0x7b, 0x0a, 0x1b, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5c, 0x0a, 0x12, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xff, 0x01, 0x0a, 0x1c, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, - 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x12, 0x2c, 0x0a, 0x0f, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, - 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x22, 0xa7, 0x01, 0x0a, 0x1d, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5e, 0x0a, 0x13, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x11, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, - 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x5b, 0x0a, 0x1f, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x73, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x73, - 0x22, 0x22, 0x0a, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5d, 0x0a, 0x21, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x38, 0x0a, 0x16, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, - 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x49, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x22, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x05, 0x0a, 0x12, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x12, 0x42, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, - 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x49, 0x64, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, - 0x01, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x34, 0x0a, 0x0f, 0x6f, 0x72, - 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, - 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, - 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x38, 0x0a, 0x12, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, - 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x0f, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x42, 0x79, 0x55, 0x73, 0x65, 0x72, 0x49, 0x64, 0x12, 0x42, 0x0a, 0x0c, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x09, 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, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, - 0x44, 0x0a, 0x0d, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x18, 0x0a, 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, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x44, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, - 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x03, 0x6b, - 0x65, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x42, 0x07, 0x0a, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x81, 0x02, 0x0a, 0x1f, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, - 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x24, 0x0a, 0x07, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, - 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, - 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, - 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x86, 0x01, 0x0a, 0x20, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, - 0x62, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x22, 0x8b, 0x02, 0x0a, 0x24, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3e, 0x0a, 0x15, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, - 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xe0, 0x41, 0x02, - 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x08, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x0e, - 0xe0, 0x41, 0x02, 0xba, 0x48, 0x08, 0x92, 0x01, 0x05, 0x08, 0x01, 0x10, 0x88, 0x27, 0x52, 0x07, - 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x73, 0x12, 0x23, 0x0a, 0x0c, 0x73, 0x74, 0x72, 0x69, 0x6e, - 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, - 0x0b, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x23, 0x0a, 0x0c, - 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x25, 0x0a, 0x0d, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, - 0x65, 0x61, 0x6e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x25, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x21, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x36, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x75, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, - 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0d, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x42, 0x79, 0x12, 0x2e, 0x0a, 0x10, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, - 0x01, 0x52, 0x0f, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x22, 0xb2, 0x01, 0x0a, 0x22, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x64, 0x0a, 0x15, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, - 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xa3, 0x01, 0x0a, 0x1e, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x03, 0xe0, - 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x12, 0x1b, 0x0a, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x0a, - 0x08, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x03, 0xe0, 0x41, 0x01, 0x52, 0x07, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x42, 0x79, 0x22, 0xaf, 0x01, - 0x0a, 0x1f, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x64, 0x0a, 0x15, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x03, 0xe0, - 0x41, 0x02, 0x52, 0x13, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, - 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, - 0x62, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x42, 0x0a, 0x17, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x0b, 0xe0, 0x41, 0x02, 0xba, 0x48, 0x05, 0x72, 0x03, 0xb0, 0x01, 0x01, 0x52, 0x14, 0x75, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x49, 0x64, 0x22, 0x83, 0x01, 0x0a, 0x1d, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x62, 0x0a, 0x14, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x12, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x22, 0x61, 0x0a, 0x21, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, - 0x0a, 0x18, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x73, 0x22, 0x24, 0x0a, 0x22, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x63, 0x0a, 0x23, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x18, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, - 0x52, 0x15, 0x75, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x49, 0x64, 0x73, 0x22, 0x26, 0x0a, 0x24, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2a, - 0xe3, 0x01, 0x0a, 0x16, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x25, 0x55, 0x53, - 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, - 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, - 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x25, 0x0a, 0x21, 0x55, - 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x42, 0x4f, 0x4f, 0x4c, 0x45, 0x41, 0x4e, - 0x10, 0x02, 0x12, 0x24, 0x0a, 0x20, 0x55, 0x53, 0x45, 0x52, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, - 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, - 0x4e, 0x55, 0x4d, 0x42, 0x45, 0x52, 0x10, 0x03, 0x12, 0x2b, 0x0a, 0x27, 0x55, 0x53, 0x45, 0x52, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, - 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x45, 0x54, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x54, 0x52, - 0x49, 0x4e, 0x47, 0x10, 0x04, 0x32, 0xd1, 0x1b, 0x0a, 0x15, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, - 0xea, 0x01, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x36, - 0x12, 0x16, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x20, 0x3a, 0x01, 0x2a, 0x22, - 0x1b, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0xf6, 0x01, 0x0a, - 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x33, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x34, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x74, 0x92, 0x41, 0x36, 0x12, 0x13, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x1a, 0x1f, 0x52, 0x65, 0x74, 0x72, 0x69, - 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x35, - 0x12, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, - 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xe1, 0x01, 0x0a, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, - 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x59, - 0x92, 0x41, 0x33, 0x12, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x1a, 0x4c, 0x69, 0x73, 0x74, - 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x12, 0x1b, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x12, 0x8e, 0x02, 0x0a, 0x16, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x12, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x73, - 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x82, 0x01, 0x92, 0x41, 0x41, 0x12, 0x16, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x1a, 0x27, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x38, 0x3a, 0x01, 0x2a, 0x32, 0x33, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, - 0x79, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xfa, 0x01, 0x0a, 0x18, 0x41, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x38, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x92, 0x41, - 0x38, 0x12, 0x18, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x1a, 0x1c, 0x41, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, - 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, - 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, 0x86, 0x02, 0x0a, 0x1a, 0x55, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, - 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x6f, 0x92, 0x41, 0x3c, 0x12, 0x1a, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, - 0x1a, 0x1e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x12, 0xf6, 0x01, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x38, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x39, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, - 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x65, 0x92, 0x41, 0x3a, 0x12, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x1a, 0x1e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x3a, 0x01, 0x2a, 0x22, 0x1d, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xbb, 0x02, 0x0a, 0x1d, 0x42, 0x61, - 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x3d, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x73, 0x69, 0x66, - 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x9a, 0x01, 0x92, 0x41, 0x69, - 0x12, 0x1d, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, - 0x48, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x6f, - 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x3a, - 0x01, 0x2a, 0x22, 0x23, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, - 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x12, 0x84, 0x02, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x12, 0x35, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x36, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x7c, 0x92, 0x41, 0x3a, 0x12, 0x15, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x1a, 0x21, 0x52, 0x65, - 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, - 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x7d, 0x12, 0xc5, - 0x02, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3a, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, - 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0xad, 0x01, 0x92, 0x41, 0x59, 0x12, 0x1a, 0x4c, 0x69, - 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, - 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, 0x3b, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, - 0x6e, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4b, 0x12, 0x49, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x6b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x7d, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0xed, 0x01, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x12, 0x37, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x38, 0x2e, 0x73, 0x69, - 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x37, 0x12, 0x17, 0x4c, 0x69, 0x73, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, - 0x75, 0x65, 0x73, 0x1a, 0x1c, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x31, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x2d, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x86, 0x02, 0x0a, 0x1a, 0x41, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x3a, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x3b, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x6f, - 0x92, 0x41, 0x3c, 0x12, 0x1a, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x1a, - 0x1e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x22, 0x25, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x12, - 0x92, 0x02, 0x0a, 0x1c, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x3c, 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3d, - 0x2e, 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x75, 0x92, - 0x41, 0x40, 0x12, 0x1c, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x1a, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x22, 0x27, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x2d, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2f, 0x75, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x1a, 0x43, 0x92, 0x41, 0x40, 0x12, 0x3e, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x41, 0x42, 0x41, - 0x43, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x20, 0x28, 0x70, 0x72, 0x69, 0x6e, 0x63, 0x69, 0x70, 0x61, 0x6c, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x29, 0x2e, 0x42, 0xca, 0x01, 0x92, 0x41, 0x1b, 0x12, - 0x19, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, - 0x73, 0x69, 0x66, 0x74, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x42, 0x13, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0xa2, 0x02, - 0x03, 0x53, 0x55, 0x58, 0xaa, 0x02, 0x16, 0x53, 0x69, 0x66, 0x74, 0x2e, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, - 0x53, 0x69, 0x66, 0x74, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x53, 0x69, 0x66, 0x74, 0x5c, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x5c, 0x56, 0x31, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x18, 0x53, 0x69, - 0x66, 0x74, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x3a, 0x3a, 0x56, 0x31, 0x4a, 0xb5, 0x90, 0x01, 0x0a, 0x07, 0x12, 0x05, 0x00, 0x00, - 0xc7, 0x03, 0x2f, 0x0a, 0x08, 0x0a, 0x01, 0x0c, 0x12, 0x03, 0x00, 0x00, 0x12, 0x0a, 0x08, 0x0a, - 0x01, 0x02, 0x12, 0x03, 0x02, 0x00, 0x20, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x00, 0x12, 0x03, 0x04, - 0x00, 0x25, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x01, 0x12, 0x03, 0x05, 0x00, 0x26, 0x0a, 0x09, 0x0a, - 0x02, 0x03, 0x02, 0x12, 0x03, 0x06, 0x00, 0x29, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x03, 0x12, 0x03, - 0x07, 0x00, 0x2a, 0x0a, 0x09, 0x0a, 0x02, 0x03, 0x04, 0x12, 0x03, 0x08, 0x00, 0x29, 0x0a, 0x09, - 0x0a, 0x02, 0x03, 0x05, 0x12, 0x03, 0x09, 0x00, 0x38, 0x0a, 0x09, 0x0a, 0x01, 0x08, 0x12, 0x04, - 0x0b, 0x00, 0x0d, 0x02, 0x0a, 0x0b, 0x0a, 0x03, 0x08, 0x92, 0x08, 0x12, 0x04, 0x0b, 0x00, 0x0d, - 0x02, 0x0a, 0x0b, 0x0a, 0x04, 0x08, 0x92, 0x08, 0x02, 0x12, 0x03, 0x0c, 0x02, 0x2a, 0x0a, 0x0c, - 0x0a, 0x05, 0x08, 0x92, 0x08, 0x02, 0x01, 0x12, 0x03, 0x0c, 0x09, 0x29, 0x0a, 0x0b, 0x0a, 0x02, - 0x06, 0x00, 0x12, 0x05, 0x0f, 0x00, 0x9e, 0x01, 0x01, 0x0a, 0x0a, 0x0a, 0x03, 0x06, 0x00, 0x01, - 0x12, 0x03, 0x0f, 0x08, 0x1d, 0x0a, 0x0b, 0x0a, 0x03, 0x06, 0x00, 0x03, 0x12, 0x04, 0x10, 0x02, - 0x95, 0x01, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x03, 0x92, 0x08, 0x12, 0x04, 0x10, 0x02, 0x95, - 0x01, 0x0a, 0x0e, 0x0a, 0x06, 0x06, 0x00, 0x03, 0x92, 0x08, 0x02, 0x12, 0x04, 0x10, 0x46, 0x93, - 0x01, 0x0a, 0x2d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x00, 0x12, 0x04, 0x13, 0x02, 0x1c, 0x03, 0x1a, - 0x1f, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x01, 0x12, 0x03, 0x13, 0x06, 0x1c, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x02, 0x12, 0x03, 0x13, 0x1d, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x00, 0x03, 0x12, 0x03, 0x13, 0x45, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x00, 0x04, 0x12, 0x04, 0x14, 0x04, 0x17, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x14, 0x04, 0x17, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x15, 0x06, 0x29, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x00, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x16, - 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x00, 0x04, 0x12, 0x04, 0x18, 0x04, 0x1b, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x12, 0x04, 0x18, 0x04, - 0x1b, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x19, 0x06, 0x27, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x00, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x1a, 0x06, 0x31, 0x0a, 0x2f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x01, 0x12, 0x04, 0x1f, 0x02, - 0x25, 0x03, 0x1a, 0x21, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x01, 0x12, 0x03, - 0x1f, 0x06, 0x19, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x02, 0x12, 0x03, 0x1f, 0x1a, - 0x34, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x03, 0x12, 0x03, 0x1f, 0x3f, 0x5a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x03, 0x20, 0x04, 0x5c, 0x0a, 0x10, 0x0a, - 0x09, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x20, 0x04, 0x5c, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x01, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x20, - 0x20, 0x5a, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x01, 0x04, 0x12, 0x04, 0x21, 0x04, 0x24, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x12, 0x04, 0x21, 0x04, - 0x24, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x22, 0x06, 0x24, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x01, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x23, 0x06, 0x34, 0x0a, 0x4a, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x02, 0x12, 0x04, 0x28, 0x02, - 0x2e, 0x03, 0x1a, 0x3c, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2c, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, - 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x01, 0x12, 0x03, 0x28, 0x06, 0x1b, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x02, 0x02, 0x12, 0x03, 0x28, 0x1c, 0x38, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x02, 0x03, 0x12, 0x03, 0x28, 0x43, 0x60, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x02, 0x04, 0x12, 0x03, 0x29, 0x04, 0x44, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x02, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x29, 0x04, 0x44, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x02, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x29, 0x20, 0x42, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x02, 0x04, 0x12, 0x04, 0x2a, 0x04, 0x2d, 0x06, 0x0a, 0x0f, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x12, 0x04, 0x2a, 0x04, 0x2d, 0x06, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x2b, 0x06, 0x26, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x02, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x2c, 0x06, 0x2f, 0x0a, - 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x03, 0x12, 0x04, 0x31, 0x02, 0x3a, 0x03, 0x1a, 0x29, 0x20, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, - 0x01, 0x12, 0x03, 0x31, 0x06, 0x1c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x02, 0x12, - 0x03, 0x31, 0x1d, 0x3a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x03, 0x12, 0x03, 0x31, - 0x45, 0x63, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x03, 0x04, 0x12, 0x04, 0x32, 0x04, 0x35, - 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, - 0x32, 0x04, 0x35, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x06, 0x12, 0x03, 0x33, 0x06, 0x42, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x03, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x34, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x12, 0x04, 0x36, 0x04, 0x39, 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, - 0x03, 0x04, 0x92, 0x08, 0x12, 0x04, 0x36, 0x04, 0x39, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, - 0x02, 0x03, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x37, 0x06, 0x27, 0x0a, 0x0f, 0x0a, 0x08, 0x06, - 0x00, 0x02, 0x03, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x38, 0x06, 0x3c, 0x0a, 0x62, 0x0a, 0x04, - 0x06, 0x00, 0x02, 0x04, 0x12, 0x04, 0x3d, 0x02, 0x46, 0x03, 0x1a, 0x54, 0x20, 0x42, 0x61, 0x74, - 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, - 0x41, 0x4e, 0x44, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x74, 0x68, 0x65, 0x69, 0x72, 0x20, 0x61, 0x73, - 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x01, 0x12, 0x03, 0x3d, 0x06, 0x1e, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x02, 0x12, 0x03, 0x3d, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x04, 0x03, 0x12, 0x03, 0x3d, 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x04, 0x04, 0x12, 0x04, 0x3e, 0x04, 0x41, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x3e, 0x04, 0x41, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x3f, 0x06, 0x31, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x04, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x40, - 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x04, 0x04, 0x12, 0x04, 0x42, 0x04, 0x45, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x12, 0x04, 0x42, 0x04, - 0x45, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x43, 0x06, 0x29, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x04, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x44, 0x06, 0x31, 0x0a, 0x35, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x05, 0x12, 0x04, 0x49, 0x02, - 0x52, 0x03, 0x1a, 0x27, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, - 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x05, 0x01, 0x12, 0x03, 0x49, 0x06, 0x20, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x05, 0x02, 0x12, 0x03, 0x49, 0x21, 0x42, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x03, - 0x12, 0x03, 0x49, 0x4d, 0x6f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, - 0x4a, 0x04, 0x4d, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, - 0x22, 0x12, 0x04, 0x4a, 0x04, 0x4d, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x05, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x4b, 0x06, 0x33, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x05, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x4c, 0x06, 0x0f, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x05, 0x04, 0x12, 0x04, 0x4e, 0x04, 0x51, 0x06, 0x0a, 0x0f, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x12, 0x04, 0x4e, 0x04, 0x51, 0x06, 0x0a, 0x0f, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x4f, 0x06, 0x2b, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x05, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x50, 0x06, 0x33, 0x0a, - 0x2f, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x06, 0x12, 0x04, 0x55, 0x02, 0x5e, 0x03, 0x1a, 0x21, 0x20, - 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, - 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x01, 0x12, 0x03, 0x55, 0x06, 0x1e, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x02, 0x12, 0x03, 0x55, 0x1f, 0x3e, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x06, 0x03, 0x12, 0x03, 0x55, 0x49, 0x69, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x06, 0x04, 0x12, 0x04, 0x56, 0x04, 0x59, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x56, 0x04, 0x59, 0x06, 0x0a, 0x11, 0x0a, 0x0a, - 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x57, 0x06, 0x2b, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x06, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x58, - 0x06, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x06, 0x04, 0x12, 0x04, 0x5a, 0x04, 0x5d, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x12, 0x04, 0x5a, 0x04, - 0x5d, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x5b, 0x06, 0x29, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x06, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x5c, 0x06, 0x33, 0x0a, 0x58, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x07, 0x12, 0x04, 0x61, 0x02, - 0x6a, 0x03, 0x1a, 0x4a, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x20, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, 0x0c, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x01, 0x12, 0x03, 0x61, 0x06, 0x23, 0x0a, 0x0c, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x07, 0x02, 0x12, 0x03, 0x61, 0x24, 0x48, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, - 0x02, 0x07, 0x03, 0x12, 0x03, 0x61, 0x53, 0x78, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, - 0x04, 0x12, 0x04, 0x62, 0x04, 0x65, 0x06, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x07, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x62, 0x04, 0x65, 0x06, 0x0a, 0x11, 0x0a, 0x0a, 0x06, 0x00, - 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, 0x03, 0x63, 0x06, 0x31, 0x0a, 0x11, 0x0a, - 0x0a, 0x06, 0x00, 0x02, 0x07, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x03, 0x64, 0x06, 0x0f, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x07, 0x04, 0x12, 0x04, 0x66, 0x04, 0x69, 0x06, 0x0a, - 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x12, 0x04, 0x66, 0x04, 0x69, 0x06, - 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x67, 0x06, - 0x2e, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x07, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x68, - 0x06, 0x5d, 0x0a, 0x31, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x08, 0x12, 0x04, 0x6d, 0x02, 0x73, 0x03, - 0x1a, 0x23, 0x20, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x73, 0x20, 0x61, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x01, 0x12, 0x03, - 0x6d, 0x06, 0x1b, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x02, 0x12, 0x03, 0x6d, 0x1c, - 0x38, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x03, 0x12, 0x03, 0x6d, 0x43, 0x60, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x03, 0x6e, 0x04, 0x60, 0x0a, 0x10, 0x0a, - 0x09, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x6e, 0x04, 0x60, 0x0a, - 0x11, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x08, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x6e, - 0x20, 0x5e, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x08, 0x04, 0x12, 0x04, 0x6f, 0x04, 0x72, - 0x06, 0x0a, 0x0f, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x12, 0x04, 0x6f, 0x04, - 0x72, 0x06, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, - 0x70, 0x06, 0x26, 0x0a, 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x08, 0x04, 0x92, 0x08, 0x03, 0x12, - 0x03, 0x71, 0x06, 0x36, 0x0a, 0x6b, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x09, 0x12, 0x04, 0x76, 0x02, - 0x7c, 0x03, 0x1a, 0x5d, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2c, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, - 0x0a, 0x0a, 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x01, 0x12, 0x03, 0x76, 0x06, 0x20, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x02, 0x12, 0x03, 0x76, 0x21, 0x42, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x09, 0x03, 0x12, 0x03, 0x76, 0x4d, 0x6f, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x09, 0x04, 0x12, 0x03, 0x77, 0x04, 0x72, 0x0a, 0x10, 0x0a, 0x09, 0x06, 0x00, 0x02, - 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x03, 0x77, 0x04, 0x72, 0x0a, 0x11, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x09, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x03, 0x77, 0x20, 0x70, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x09, 0x04, 0x12, 0x04, 0x78, 0x04, 0x7b, 0x06, 0x0a, 0x0f, 0x0a, - 0x07, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x12, 0x04, 0x78, 0x04, 0x7b, 0x06, 0x0a, 0x0f, - 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x02, 0x12, 0x03, 0x79, 0x06, 0x2b, 0x0a, - 0x0f, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x09, 0x04, 0x92, 0x08, 0x03, 0x12, 0x03, 0x7a, 0x06, 0x50, - 0x0a, 0x4d, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0a, 0x12, 0x05, 0x7f, 0x02, 0x85, 0x01, 0x03, 0x1a, - 0x3e, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2c, 0x20, 0x72, - 0x65, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, - 0x0c, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x01, 0x12, 0x03, 0x7f, 0x06, 0x1d, 0x0a, 0x0c, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0a, 0x02, 0x12, 0x03, 0x7f, 0x1e, 0x3c, 0x0a, 0x0c, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0a, 0x03, 0x12, 0x03, 0x7f, 0x47, 0x66, 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0a, 0x04, 0x12, 0x04, 0x80, 0x01, 0x04, 0x46, 0x0a, 0x11, 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0a, - 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x04, 0x80, 0x01, 0x04, 0x46, 0x0a, 0x12, 0x0a, 0x0a, 0x06, - 0x00, 0x02, 0x0a, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x02, 0x12, 0x04, 0x80, 0x01, 0x20, 0x44, 0x0a, - 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x12, 0x06, 0x81, 0x01, 0x04, 0x84, 0x01, 0x06, - 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, 0x12, 0x06, 0x81, 0x01, 0x04, - 0x84, 0x01, 0x06, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, 0x02, 0x12, - 0x04, 0x82, 0x01, 0x06, 0x28, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0a, 0x04, 0x92, 0x08, - 0x03, 0x12, 0x04, 0x83, 0x01, 0x06, 0x31, 0x0a, 0x37, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0b, 0x12, - 0x06, 0x88, 0x01, 0x02, 0x91, 0x01, 0x03, 0x1a, 0x27, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, - 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x01, 0x12, 0x04, 0x88, 0x01, 0x06, 0x20, 0x0a, - 0x0d, 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x02, 0x12, 0x04, 0x88, 0x01, 0x21, 0x42, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0b, 0x03, 0x12, 0x04, 0x88, 0x01, 0x4d, 0x6f, 0x0a, 0x0f, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0x89, 0x01, 0x04, 0x8c, 0x01, 0x06, 0x0a, 0x13, - 0x0a, 0x09, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x89, 0x01, 0x04, - 0x8c, 0x01, 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, 0xb0, 0xca, 0xbc, 0x22, - 0x04, 0x12, 0x04, 0x8a, 0x01, 0x06, 0x33, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0b, 0x04, - 0xb0, 0xca, 0xbc, 0x22, 0x07, 0x12, 0x04, 0x8b, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0b, 0x04, 0x12, 0x06, 0x8d, 0x01, 0x04, 0x90, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, - 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x12, 0x06, 0x8d, 0x01, 0x04, 0x90, 0x01, 0x06, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x8e, 0x01, 0x06, - 0x2b, 0x0a, 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0b, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x8f, - 0x01, 0x06, 0x33, 0x0a, 0x39, 0x0a, 0x04, 0x06, 0x00, 0x02, 0x0c, 0x12, 0x06, 0x94, 0x01, 0x02, - 0x9d, 0x01, 0x03, 0x1a, 0x29, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x06, 0x00, 0x02, 0x0c, 0x01, 0x12, 0x04, 0x94, 0x01, 0x06, 0x22, 0x0a, 0x0d, 0x0a, - 0x05, 0x06, 0x00, 0x02, 0x0c, 0x02, 0x12, 0x04, 0x94, 0x01, 0x23, 0x46, 0x0a, 0x0d, 0x0a, 0x05, - 0x06, 0x00, 0x02, 0x0c, 0x03, 0x12, 0x04, 0x94, 0x01, 0x51, 0x75, 0x0a, 0x0f, 0x0a, 0x05, 0x06, - 0x00, 0x02, 0x0c, 0x04, 0x12, 0x06, 0x95, 0x01, 0x04, 0x98, 0x01, 0x06, 0x0a, 0x13, 0x0a, 0x09, - 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x12, 0x06, 0x95, 0x01, 0x04, 0x98, 0x01, - 0x06, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, 0xbc, 0x22, 0x04, 0x12, - 0x04, 0x96, 0x01, 0x06, 0x35, 0x0a, 0x12, 0x0a, 0x0a, 0x06, 0x00, 0x02, 0x0c, 0x04, 0xb0, 0xca, - 0xbc, 0x22, 0x07, 0x12, 0x04, 0x97, 0x01, 0x06, 0x0f, 0x0a, 0x0f, 0x0a, 0x05, 0x06, 0x00, 0x02, - 0x0c, 0x04, 0x12, 0x06, 0x99, 0x01, 0x04, 0x9c, 0x01, 0x06, 0x0a, 0x11, 0x0a, 0x07, 0x06, 0x00, - 0x02, 0x0c, 0x04, 0x92, 0x08, 0x12, 0x06, 0x99, 0x01, 0x04, 0x9c, 0x01, 0x06, 0x0a, 0x10, 0x0a, - 0x08, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x02, 0x12, 0x04, 0x9a, 0x01, 0x06, 0x2d, 0x0a, - 0x10, 0x0a, 0x08, 0x06, 0x00, 0x02, 0x0c, 0x04, 0x92, 0x08, 0x03, 0x12, 0x04, 0x9b, 0x01, 0x06, - 0x35, 0x0a, 0x65, 0x0a, 0x02, 0x05, 0x00, 0x12, 0x06, 0xa1, 0x01, 0x00, 0xa7, 0x01, 0x01, 0x1a, - 0x57, 0x20, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x54, 0x79, 0x70, 0x65, 0x20, 0x65, 0x6e, 0x75, 0x6d, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, - 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x05, 0x00, 0x01, 0x12, - 0x04, 0xa1, 0x01, 0x05, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x00, 0x12, 0x04, 0xa2, - 0x01, 0x02, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xa2, 0x01, - 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x00, 0x02, 0x12, 0x04, 0xa2, 0x01, 0x2a, - 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x27, 0x0a, - 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x01, 0x02, 0x22, 0x0a, 0x0d, - 0x0a, 0x05, 0x05, 0x00, 0x02, 0x01, 0x02, 0x12, 0x04, 0xa3, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, - 0x04, 0x05, 0x00, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x05, - 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa4, 0x01, 0x02, 0x23, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, - 0x02, 0x02, 0x02, 0x12, 0x04, 0xa4, 0x01, 0x26, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, - 0x03, 0x12, 0x04, 0xa5, 0x01, 0x02, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x01, - 0x12, 0x04, 0xa5, 0x01, 0x02, 0x22, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x03, 0x02, 0x12, - 0x04, 0xa5, 0x01, 0x25, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x05, 0x00, 0x02, 0x04, 0x12, 0x04, 0xa6, - 0x01, 0x02, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x01, 0x12, 0x04, 0xa6, 0x01, - 0x02, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x05, 0x00, 0x02, 0x04, 0x02, 0x12, 0x04, 0xa6, 0x01, 0x2c, - 0x2d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x00, 0x12, 0x06, 0xa9, 0x01, 0x00, 0xc2, 0x01, 0x01, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x00, 0x01, 0x12, 0x04, 0xa9, 0x01, 0x08, 0x18, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x00, 0x02, 0x00, 0x12, 0x06, 0xaa, 0x01, 0x02, 0xad, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x00, 0x05, 0x12, 0x04, 0xaa, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x00, 0x01, 0x12, 0x04, 0xaa, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xaa, 0x01, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x00, 0x08, 0x12, 0x06, 0xaa, 0x01, 0x23, 0xad, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xab, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x00, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xac, 0x01, 0x04, 0x2b, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x01, 0x12, 0x06, 0xae, 0x01, 0x02, 0xb1, 0x01, 0x04, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x05, 0x12, 0x04, 0xae, 0x01, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x01, 0x01, 0x12, 0x04, 0xae, 0x01, 0x09, 0x18, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x01, 0x03, 0x12, 0x04, 0xae, 0x01, 0x1b, 0x1c, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x01, 0x08, 0x12, 0x06, 0xae, 0x01, 0x1d, 0xb1, 0x01, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x00, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xaf, 0x01, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xb0, 0x01, - 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x02, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x3b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x05, 0x12, 0x04, 0xb2, 0x01, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x01, 0x12, 0x04, 0xb2, 0x01, 0x09, 0x0d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x02, 0x03, 0x12, 0x04, 0xb2, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x00, 0x02, 0x02, 0x08, 0x12, 0x04, 0xb2, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x00, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb2, 0x01, 0x13, 0x39, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x00, 0x02, 0x03, 0x12, 0x04, 0xb3, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x00, 0x02, 0x03, 0x05, 0x12, 0x04, 0xb3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x00, 0x02, 0x03, 0x01, 0x12, 0x04, 0xb3, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, - 0x02, 0x03, 0x03, 0x12, 0x04, 0xb3, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, - 0x03, 0x08, 0x12, 0x04, 0xb3, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb3, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, - 0x02, 0x04, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, - 0x06, 0x12, 0x04, 0xb4, 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x01, - 0x12, 0x04, 0xb4, 0x01, 0x19, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x03, 0x12, - 0x04, 0xb4, 0x01, 0x20, 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x04, 0x08, 0x12, 0x04, - 0xb4, 0x01, 0x22, 0x4a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xb4, 0x01, 0x23, 0x49, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x05, 0x12, 0x04, - 0xb5, 0x01, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x06, 0x12, 0x04, 0xb5, - 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x01, 0x12, 0x04, 0xb5, 0x01, - 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb5, 0x01, 0x2b, - 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x05, 0x08, 0x12, 0x04, 0xb5, 0x01, 0x2d, 0x55, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb5, 0x01, - 0x2e, 0x54, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x06, 0x12, 0x06, 0xb6, 0x01, 0x02, 0xb9, - 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x05, 0x12, 0x04, 0xb6, 0x01, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x01, 0x12, 0x04, 0xb6, 0x01, 0x09, 0x1b, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x03, 0x12, 0x04, 0xb6, 0x01, 0x1e, 0x1f, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x06, 0x08, 0x12, 0x06, 0xb6, 0x01, 0x20, 0xb9, 0x01, 0x03, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x06, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb7, 0x01, - 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x06, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, - 0x04, 0xb8, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x07, 0x12, 0x04, 0xba, - 0x01, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x06, 0x12, 0x04, 0xba, 0x01, - 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x01, 0x12, 0x04, 0xba, 0x01, 0x1c, - 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x03, 0x12, 0x04, 0xba, 0x01, 0x2c, 0x2d, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x07, 0x08, 0x12, 0x04, 0xba, 0x01, 0x2e, 0x56, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x07, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xba, 0x01, 0x2f, - 0x55, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x08, 0x12, 0x06, 0xbb, 0x01, 0x02, 0xbe, 0x01, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x05, 0x12, 0x04, 0xbb, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x01, 0x12, 0x04, 0xbb, 0x01, 0x09, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x03, 0x12, 0x04, 0xbb, 0x01, 0x1f, 0x20, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x00, 0x02, 0x08, 0x08, 0x12, 0x06, 0xbb, 0x01, 0x21, 0xbe, 0x01, 0x03, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbc, 0x01, 0x04, - 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x00, 0x02, 0x08, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0xbd, 0x01, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x09, 0x12, 0x04, 0xbf, 0x01, - 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x06, 0x12, 0x04, 0xbf, 0x01, 0x02, - 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x01, 0x12, 0x04, 0xbf, 0x01, 0x1c, 0x29, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x03, 0x12, 0x04, 0xbf, 0x01, 0x2c, 0x2e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x09, 0x08, 0x12, 0x04, 0xbf, 0x01, 0x2f, 0x57, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x00, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbf, 0x01, 0x30, 0x56, - 0x0a, 0x76, 0x0a, 0x04, 0x04, 0x00, 0x02, 0x0a, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x41, 0x1a, 0x68, - 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, - 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x66, 0x65, - 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, - 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, - 0x05, 0x12, 0x04, 0xc1, 0x01, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x01, - 0x12, 0x04, 0xc1, 0x01, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x03, 0x12, - 0x04, 0xc1, 0x01, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x12, 0x04, - 0xc1, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x00, 0x02, 0x0a, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc1, 0x01, 0x19, 0x3f, 0x0a, 0x59, 0x0a, 0x02, 0x04, 0x01, 0x12, 0x06, 0xc5, 0x01, - 0x00, 0xc9, 0x01, 0x01, 0x1a, 0x4b, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, - 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x01, 0x01, 0x12, 0x04, 0xc5, 0x01, 0x08, 0x25, 0x0a, 0x0c, - 0x0a, 0x04, 0x04, 0x01, 0x02, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x01, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x01, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc6, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xc6, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, - 0x00, 0x08, 0x12, 0x04, 0xc6, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc6, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, - 0x02, 0x01, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, - 0x05, 0x12, 0x04, 0xc7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x01, - 0x12, 0x04, 0xc7, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x03, 0x12, - 0x04, 0xc7, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x01, 0x08, 0x12, 0x04, - 0xc7, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc7, 0x01, 0x1a, 0x40, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x01, 0x02, 0x02, 0x12, 0x04, - 0xc8, 0x01, 0x02, 0x4b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x06, 0x12, 0x04, 0xc8, - 0x01, 0x02, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x01, 0x12, 0x04, 0xc8, 0x01, - 0x19, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x03, 0x12, 0x04, 0xc8, 0x01, 0x20, - 0x21, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x01, 0x02, 0x02, 0x08, 0x12, 0x04, 0xc8, 0x01, 0x22, 0x4a, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x01, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc8, 0x01, - 0x23, 0x49, 0x0a, 0x71, 0x0a, 0x02, 0x04, 0x02, 0x12, 0x06, 0xcc, 0x01, 0x00, 0xce, 0x01, 0x01, - 0x1a, 0x63, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, - 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, - 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x02, 0x01, 0x12, 0x04, 0xcc, 0x01, - 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x02, 0x02, 0x00, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x53, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x06, 0x12, 0x04, 0xcd, 0x01, 0x02, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x01, 0x12, 0x04, 0xcd, 0x01, 0x13, 0x25, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x02, 0x02, 0x00, 0x03, 0x12, 0x04, 0xcd, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x02, 0x02, 0x00, 0x08, 0x12, 0x04, 0xcd, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x02, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xcd, 0x01, 0x2b, 0x51, 0x0a, 0x5f, - 0x0a, 0x02, 0x04, 0x03, 0x12, 0x06, 0xd1, 0x01, 0x00, 0xda, 0x01, 0x01, 0x1a, 0x51, 0x20, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x20, 0x61, - 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x03, 0x01, 0x12, 0x04, 0xd1, 0x01, 0x08, 0x25, 0x0a, 0x0e, 0x0a, 0x04, - 0x04, 0x03, 0x02, 0x00, 0x12, 0x06, 0xd2, 0x01, 0x02, 0xd5, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd2, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd2, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x00, 0x03, 0x12, 0x04, 0xd2, 0x01, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x00, 0x08, 0x12, 0x06, 0xd2, 0x01, 0x23, 0xd5, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, - 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd3, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, - 0x04, 0x03, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xd4, 0x01, 0x04, 0x2b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x3b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x03, 0x02, 0x01, 0x05, 0x12, 0x04, 0xd6, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x03, 0x02, 0x01, 0x01, 0x12, 0x04, 0xd6, 0x01, 0x09, 0x0d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x01, 0x03, 0x12, 0x04, 0xd6, 0x01, 0x10, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x01, 0x08, 0x12, 0x04, 0xd6, 0x01, 0x12, 0x3a, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, - 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd6, 0x01, 0x13, 0x39, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x03, 0x02, 0x02, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x42, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x02, 0x05, 0x12, 0x04, 0xd7, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, - 0x01, 0x12, 0x04, 0xd7, 0x01, 0x09, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x03, - 0x12, 0x04, 0xd7, 0x01, 0x17, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x02, 0x08, 0x12, - 0x04, 0xd7, 0x01, 0x19, 0x41, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x02, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd7, 0x01, 0x1a, 0x40, 0x0a, 0x72, 0x0a, 0x04, 0x04, 0x03, 0x02, 0x03, 0x12, - 0x04, 0xd9, 0x01, 0x02, 0x55, 0x1a, 0x64, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x6f, 0x66, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, - 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x73, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, - 0x6f, 0x20, 0x62, 0x65, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x20, 0x61, 0x72, 0x65, - 0x20, 0x60, 0x6e, 0x61, 0x6d, 0x65, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x27, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x27, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x03, 0x02, 0x03, 0x06, 0x12, 0x04, 0xd9, 0x01, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, - 0x02, 0x03, 0x01, 0x12, 0x04, 0xd9, 0x01, 0x1c, 0x27, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, - 0x03, 0x03, 0x12, 0x04, 0xd9, 0x01, 0x2a, 0x2b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x03, 0x02, 0x03, - 0x08, 0x12, 0x04, 0xd9, 0x01, 0x2c, 0x54, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x03, 0x02, 0x03, 0x08, - 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x01, 0x2d, 0x53, 0x0a, 0x71, 0x0a, 0x02, 0x04, 0x04, 0x12, - 0x06, 0xdd, 0x01, 0x00, 0xdf, 0x01, 0x01, 0x1a, 0x63, 0x20, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, - 0x04, 0x04, 0x01, 0x12, 0x04, 0xdd, 0x01, 0x08, 0x26, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x04, 0x02, - 0x00, 0x12, 0x04, 0xde, 0x01, 0x02, 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x06, - 0x12, 0x04, 0xde, 0x01, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x01, 0x12, - 0x04, 0xde, 0x01, 0x13, 0x25, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x03, 0x12, 0x04, - 0xde, 0x01, 0x28, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x04, 0x02, 0x00, 0x08, 0x12, 0x04, 0xde, - 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x04, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0xde, 0x01, 0x2b, 0x51, 0x0a, 0x54, 0x0a, 0x02, 0x04, 0x05, 0x12, 0x06, 0xe2, 0x01, 0x00, - 0xe7, 0x01, 0x01, 0x1a, 0x46, 0x20, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x05, 0x01, 0x12, 0x04, 0xe2, 0x01, 0x08, 0x22, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x05, 0x02, 0x00, - 0x12, 0x06, 0xe3, 0x01, 0x02, 0xe6, 0x01, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xe3, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xe3, 0x01, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xe3, 0x01, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x05, 0x02, 0x00, 0x08, 0x12, 0x06, - 0xe3, 0x01, 0x23, 0xe6, 0x01, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x05, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xe4, 0x01, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x05, 0x02, 0x00, - 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xe5, 0x01, 0x04, 0x2b, 0x0a, 0x69, 0x0a, 0x02, 0x04, - 0x06, 0x12, 0x06, 0xea, 0x01, 0x00, 0xec, 0x01, 0x01, 0x1a, 0x5b, 0x20, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, - 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x20, 0x6b, 0x65, 0x79, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x47, 0x65, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x20, - 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x06, 0x01, 0x12, 0x04, 0xea, - 0x01, 0x08, 0x23, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x06, 0x02, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x02, - 0x53, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x06, 0x12, 0x04, 0xeb, 0x01, 0x02, 0x12, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x01, 0x13, 0x25, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x03, 0x12, 0x04, 0xeb, 0x01, 0x28, 0x29, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x06, 0x02, 0x00, 0x08, 0x12, 0x04, 0xeb, 0x01, 0x2a, 0x52, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x06, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x01, 0x2b, 0x51, 0x0a, - 0x6a, 0x0a, 0x02, 0x04, 0x07, 0x12, 0x06, 0xef, 0x01, 0x00, 0x88, 0x02, 0x01, 0x1a, 0x5c, 0x20, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, - 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, - 0x07, 0x01, 0x12, 0x04, 0xef, 0x01, 0x08, 0x24, 0x0a, 0x86, 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, - 0x00, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x40, 0x1a, 0xf7, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, - 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, - 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, - 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, - 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, - 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x0a, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, - 0x6c, 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf3, 0x01, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf3, 0x01, 0x09, 0x12, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf3, 0x01, 0x15, 0x16, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x07, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf3, 0x01, 0x17, 0x3f, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x07, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf3, 0x01, 0x18, 0x3e, 0x0a, - 0xaa, 0x02, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x41, 0x1a, 0x9b, - 0x02, 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, - 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, - 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, - 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x60, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x0a, 0x20, 0x57, 0x68, 0x65, 0x6e, - 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6c, 0x6c, - 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, - 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x60, 0x4c, - 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x4b, 0x65, 0x79, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x63, 0x61, - 0x6c, 0x6c, 0x0a, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf8, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf8, 0x01, 0x09, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xf8, 0x01, 0x16, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xf8, 0x01, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf8, 0x01, 0x19, 0x3f, 0x0a, 0x90, 0x04, 0x0a, 0x04, 0x04, - 0x07, 0x02, 0x02, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x3d, 0x1a, 0x81, 0x04, 0x20, 0x41, 0x20, 0x5b, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, 0x43, 0x45, 0x4c, 0x29, - 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, - 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x27, 0x2c, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x27, 0x2c, 0x20, 0x27, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, - 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, 0x73, 0x65, 0x72, - 0x5f, 0x69, 0x64, 0x2c, 0x20, 0x27, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x27, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, 0x65, - 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, 0x43, - 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, 0x2d, - 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, - 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, 0x23, - 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, - 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, - 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, 0x73, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, 0x67, - 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, - 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x07, 0x02, 0x02, 0x05, 0x12, 0x04, 0xfe, 0x01, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfe, 0x01, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfe, 0x01, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x02, 0x08, 0x12, 0x04, 0xfe, 0x01, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, - 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfe, 0x01, 0x15, 0x3b, 0x0a, 0xee, 0x03, 0x0a, 0x04, - 0x04, 0x07, 0x02, 0x03, 0x12, 0x04, 0x84, 0x02, 0x02, 0x3f, 0x1a, 0xdf, 0x03, 0x20, 0x48, 0x6f, - 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x20, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, - 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x73, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, 0x2e, 0x2e, 0x22, - 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, - 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x79, 0x20, - 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x60, 0x2c, 0x20, 0x27, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, - 0x74, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x6e, 0x61, 0x6d, 0x65, 0x27, 0x2c, 0x20, 0x27, 0x75, 0x73, - 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, - 0x5f, 0x69, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x27, 0x2c, 0x20, 0x27, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x27, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, - 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, - 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, - 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, - 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, - 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, 0x2c, 0x6d, 0x6f, 0x64, - 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x07, 0x02, 0x03, 0x05, 0x12, 0x04, 0x84, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x07, 0x02, 0x03, 0x01, 0x12, 0x04, 0x84, 0x02, 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, - 0x02, 0x03, 0x03, 0x12, 0x04, 0x84, 0x02, 0x14, 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, - 0x03, 0x08, 0x12, 0x04, 0x84, 0x02, 0x16, 0x3e, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x03, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x84, 0x02, 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x07, - 0x02, 0x04, 0x12, 0x04, 0x85, 0x02, 0x02, 0x46, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, - 0x05, 0x12, 0x04, 0x85, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x01, - 0x12, 0x04, 0x85, 0x02, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x03, 0x12, - 0x04, 0x85, 0x02, 0x1b, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x04, 0x08, 0x12, 0x04, - 0x85, 0x02, 0x1d, 0x45, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0x85, 0x02, 0x1e, 0x44, 0x0a, 0x4d, 0x0a, 0x04, 0x04, 0x07, 0x02, 0x05, 0x12, 0x04, - 0x87, 0x02, 0x02, 0x45, 0x1a, 0x3f, 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x64, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x61, - 0x20, 0x74, 0x6f, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x05, 0x12, 0x04, - 0x87, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x01, 0x12, 0x04, 0x87, - 0x02, 0x07, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x03, 0x12, 0x04, 0x87, 0x02, - 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x07, 0x02, 0x05, 0x08, 0x12, 0x04, 0x87, 0x02, 0x1c, - 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x07, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x87, - 0x02, 0x1d, 0x43, 0x0a, 0x78, 0x0a, 0x02, 0x04, 0x08, 0x12, 0x06, 0x8b, 0x02, 0x00, 0x8e, 0x02, - 0x01, 0x1a, 0x6a, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, - 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x08, 0x01, 0x12, 0x04, 0x8b, 0x02, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, - 0x02, 0x00, 0x12, 0x04, 0x8c, 0x02, 0x02, 0x5d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, - 0x04, 0x12, 0x04, 0x8c, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x06, - 0x12, 0x04, 0x8c, 0x02, 0x0b, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x01, 0x12, - 0x04, 0x8c, 0x02, 0x1c, 0x2f, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x03, 0x12, 0x04, - 0x8c, 0x02, 0x32, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8c, - 0x02, 0x34, 0x5c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x08, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, - 0x04, 0x8c, 0x02, 0x35, 0x5b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x08, 0x02, 0x01, 0x12, 0x04, 0x8d, - 0x02, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8d, 0x02, - 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x01, 0x12, 0x04, 0x8d, 0x02, 0x09, - 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x08, 0x02, 0x01, 0x03, 0x12, 0x04, 0x8d, 0x02, 0x1b, 0x1c, - 0x0a, 0x63, 0x0a, 0x02, 0x04, 0x09, 0x12, 0x06, 0x91, 0x02, 0x00, 0x93, 0x02, 0x01, 0x1a, 0x55, - 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x74, 0x63, - 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x62, 0x79, - 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x09, 0x01, 0x12, 0x04, 0x91, 0x02, - 0x08, 0x27, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x09, 0x02, 0x00, 0x12, 0x04, 0x92, 0x02, 0x02, 0x56, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x04, 0x12, 0x04, 0x92, 0x02, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x05, 0x12, 0x04, 0x92, 0x02, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x09, 0x02, 0x00, 0x01, 0x12, 0x04, 0x92, 0x02, 0x12, 0x28, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x09, 0x02, 0x00, 0x03, 0x12, 0x04, 0x92, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x09, 0x02, 0x00, 0x08, 0x12, 0x04, 0x92, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x09, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x92, 0x02, 0x2e, 0x54, 0x0a, 0x0a, 0x0a, - 0x02, 0x04, 0x0a, 0x12, 0x04, 0x95, 0x02, 0x00, 0x2b, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0a, 0x01, - 0x12, 0x04, 0x95, 0x02, 0x08, 0x28, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x0b, 0x12, 0x06, 0x98, 0x02, - 0x00, 0x9a, 0x02, 0x01, 0x1a, 0x59, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, - 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, - 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x73, 0x20, 0x62, 0x79, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, - 0x0b, 0x0a, 0x03, 0x04, 0x0b, 0x01, 0x12, 0x04, 0x98, 0x02, 0x08, 0x29, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0b, 0x02, 0x00, 0x12, 0x04, 0x99, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, - 0x02, 0x00, 0x04, 0x12, 0x04, 0x99, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, - 0x00, 0x05, 0x12, 0x04, 0x99, 0x02, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, - 0x01, 0x12, 0x04, 0x99, 0x02, 0x12, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x03, - 0x12, 0x04, 0x99, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x12, - 0x04, 0x99, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0b, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0x99, 0x02, 0x2e, 0x54, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x0c, 0x12, 0x04, 0x9c, - 0x02, 0x00, 0x2d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0c, 0x01, 0x12, 0x04, 0x9c, 0x02, 0x08, 0x2a, - 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x0d, 0x12, 0x06, 0x9e, 0x02, 0x00, 0xbe, 0x02, 0x01, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0d, 0x01, 0x12, 0x04, 0x9e, 0x02, 0x08, 0x1a, 0x0a, 0x0e, 0x0a, 0x04, 0x04, - 0x0d, 0x02, 0x00, 0x12, 0x06, 0x9f, 0x02, 0x02, 0xa2, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x00, 0x05, 0x12, 0x04, 0x9f, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x00, 0x01, 0x12, 0x04, 0x9f, 0x02, 0x09, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x00, 0x03, 0x12, 0x04, 0x9f, 0x02, 0x23, 0x24, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x00, - 0x08, 0x12, 0x06, 0x9f, 0x02, 0x25, 0xa2, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, - 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, - 0x0d, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xa1, 0x02, 0x04, 0x2b, 0x0a, 0x0e, - 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x01, 0x12, 0x06, 0xa3, 0x02, 0x02, 0xa6, 0x02, 0x04, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x01, 0x05, 0x12, 0x04, 0xa3, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x01, 0x01, 0x12, 0x04, 0xa3, 0x02, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x01, 0x03, 0x12, 0x04, 0xa3, 0x02, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x01, 0x08, 0x12, 0x06, 0xa3, 0x02, 0x23, 0xa6, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x0d, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa4, 0x02, 0x04, 0x2a, 0x0a, 0x11, - 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xa5, 0x02, 0x04, - 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x02, 0x12, 0x06, 0xa7, 0x02, 0x02, 0xaa, 0x02, - 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa7, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa7, 0x02, 0x09, 0x10, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa7, 0x02, 0x13, 0x14, 0x0a, 0x0f, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x12, 0x06, 0xa7, 0x02, 0x15, 0xaa, 0x02, 0x03, 0x0a, - 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa8, 0x02, 0x04, - 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x02, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, - 0xa9, 0x02, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x03, 0x12, 0x06, 0xab, 0x02, - 0x02, 0xae, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x05, 0x12, 0x04, 0xab, - 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x01, 0x12, 0x04, 0xab, 0x02, - 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x03, 0x12, 0x04, 0xab, 0x02, 0x1b, - 0x1c, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x12, 0x06, 0xab, 0x02, 0x1d, 0xae, - 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, - 0xac, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x03, 0x08, 0x87, 0x09, 0x0e, - 0x16, 0x12, 0x04, 0xad, 0x02, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x08, 0x00, 0x12, - 0x06, 0xaf, 0x02, 0x02, 0xb3, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x08, 0x00, 0x01, - 0x12, 0x04, 0xaf, 0x02, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x04, 0x12, 0x04, - 0xb0, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x05, 0x12, 0x04, 0xb0, - 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x01, 0x12, 0x04, 0xb0, 0x02, - 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x04, 0x03, 0x12, 0x04, 0xb0, 0x02, 0x1a, - 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x05, 0x12, 0x04, 0xb1, 0x02, 0x04, 0x1c, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x05, 0x12, 0x04, 0xb1, 0x02, 0x04, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x05, 0x01, 0x12, 0x04, 0xb1, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0d, 0x02, 0x05, 0x03, 0x12, 0x04, 0xb1, 0x02, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, - 0x04, 0x0d, 0x02, 0x06, 0x12, 0x04, 0xb2, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x06, 0x05, 0x12, 0x04, 0xb2, 0x02, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x06, 0x01, 0x12, 0x04, 0xb2, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x06, - 0x03, 0x12, 0x04, 0xb2, 0x02, 0x19, 0x1a, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x07, 0x12, - 0x06, 0xb4, 0x02, 0x02, 0xb7, 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x05, - 0x12, 0x04, 0xb4, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x01, 0x12, - 0x04, 0xb4, 0x02, 0x09, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x03, 0x12, 0x04, - 0xb4, 0x02, 0x1e, 0x1f, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x07, 0x08, 0x12, 0x06, 0xb4, - 0x02, 0x20, 0xb7, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x07, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xb5, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0d, 0x02, 0x07, 0x08, - 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xb6, 0x02, 0x04, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, - 0x02, 0x08, 0x12, 0x04, 0xb8, 0x02, 0x02, 0x56, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x08, - 0x06, 0x12, 0x04, 0xb8, 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x08, 0x01, - 0x12, 0x04, 0xb8, 0x02, 0x1c, 0x28, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x08, 0x03, 0x12, - 0x04, 0xb8, 0x02, 0x2b, 0x2c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x08, 0x08, 0x12, 0x04, - 0xb8, 0x02, 0x2d, 0x55, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x08, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xb8, 0x02, 0x2e, 0x54, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x09, 0x12, 0x04, - 0xb9, 0x02, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x09, 0x06, 0x12, 0x04, 0xb9, - 0x02, 0x02, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x09, 0x01, 0x12, 0x04, 0xb9, 0x02, - 0x1c, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x09, 0x03, 0x12, 0x04, 0xb9, 0x02, 0x2c, - 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x09, 0x08, 0x12, 0x04, 0xb9, 0x02, 0x2f, 0x57, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x09, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb9, 0x02, - 0x30, 0x56, 0x0a, 0x78, 0x0a, 0x04, 0x04, 0x0d, 0x02, 0x0a, 0x12, 0x04, 0xbb, 0x02, 0x02, 0x41, - 0x1a, 0x6a, 0x20, 0x57, 0x68, 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x6f, 0x72, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x72, - 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, - 0x69, 0x6e, 0x66, 0x65, 0x72, 0x72, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x77, 0x68, - 0x65, 0x74, 0x68, 0x65, 0x72, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x5f, 0x64, - 0x61, 0x74, 0x65, 0x20, 0x69, 0x73, 0x20, 0x73, 0x65, 0x74, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0d, 0x02, 0x0a, 0x05, 0x12, 0x04, 0xbb, 0x02, 0x02, 0x06, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0d, 0x02, 0x0a, 0x01, 0x12, 0x04, 0xbb, 0x02, 0x07, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, - 0x02, 0x0a, 0x03, 0x12, 0x04, 0xbb, 0x02, 0x15, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, - 0x0a, 0x08, 0x12, 0x04, 0xbb, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x0a, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbb, 0x02, 0x19, 0x3f, 0x0a, 0x49, 0x0a, 0x04, 0x04, 0x0d, - 0x02, 0x0b, 0x12, 0x04, 0xbd, 0x02, 0x02, 0x45, 0x1a, 0x3b, 0x20, 0x54, 0x68, 0x65, 0x20, 0x66, - 0x75, 0x6c, 0x6c, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x69, 0x73, 0x20, 0x70, 0x6f, 0x70, 0x75, 0x6c, 0x61, - 0x74, 0x65, 0x64, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x0b, 0x06, 0x12, 0x04, - 0xbd, 0x02, 0x02, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x0b, 0x01, 0x12, 0x04, 0xbd, - 0x02, 0x13, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x0b, 0x03, 0x12, 0x04, 0xbd, 0x02, - 0x19, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0d, 0x02, 0x0b, 0x08, 0x12, 0x04, 0xbd, 0x02, 0x1c, - 0x44, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0d, 0x02, 0x0b, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xbd, - 0x02, 0x1d, 0x43, 0x0a, 0x5d, 0x0a, 0x02, 0x04, 0x0e, 0x12, 0x06, 0xc1, 0x02, 0x00, 0xcf, 0x02, - 0x01, 0x1a, 0x4f, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x0e, 0x01, 0x12, 0x04, 0xc1, 0x02, 0x08, 0x27, 0x0a, - 0x0e, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x00, 0x12, 0x06, 0xc2, 0x02, 0x02, 0xc5, 0x02, 0x04, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x05, 0x12, 0x04, 0xc2, 0x02, 0x02, 0x08, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x00, 0x01, 0x12, 0x04, 0xc2, 0x02, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x00, 0x03, 0x12, 0x04, 0xc2, 0x02, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x00, 0x08, 0x12, 0x06, 0xc2, 0x02, 0x23, 0xc5, 0x02, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc3, 0x02, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xc4, 0x02, - 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x01, 0x12, 0x06, 0xc6, 0x02, 0x02, 0xc9, - 0x02, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x05, 0x12, 0x04, 0xc6, 0x02, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x01, 0x12, 0x04, 0xc6, 0x02, 0x09, 0x10, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x03, 0x12, 0x04, 0xc6, 0x02, 0x13, 0x14, 0x0a, - 0x0f, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x12, 0x06, 0xc6, 0x02, 0x15, 0xc9, 0x02, 0x03, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xc7, 0x02, - 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x0e, 0x02, 0x01, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, - 0x04, 0xc8, 0x02, 0x04, 0x2b, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x0e, 0x08, 0x00, 0x12, 0x06, 0xca, - 0x02, 0x02, 0xce, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x08, 0x00, 0x01, 0x12, 0x04, - 0xca, 0x02, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x02, 0x12, 0x04, 0xcb, 0x02, - 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x05, 0x12, 0x04, 0xcb, 0x02, 0x04, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x01, 0x12, 0x04, 0xcb, 0x02, 0x0b, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x02, 0x03, 0x12, 0x04, 0xcb, 0x02, 0x1a, 0x1b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x0e, 0x02, 0x03, 0x12, 0x04, 0xcc, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x0e, 0x02, 0x03, 0x05, 0x12, 0x04, 0xcc, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x0e, 0x02, 0x03, 0x01, 0x12, 0x04, 0xcc, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x0e, 0x02, 0x03, 0x03, 0x12, 0x04, 0xcc, 0x02, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x0e, - 0x02, 0x04, 0x12, 0x04, 0xcd, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, - 0x05, 0x12, 0x04, 0xcd, 0x02, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x01, - 0x12, 0x04, 0xcd, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0e, 0x02, 0x04, 0x03, 0x12, - 0x04, 0xcd, 0x02, 0x19, 0x1a, 0x0a, 0x77, 0x0a, 0x02, 0x04, 0x0f, 0x12, 0x06, 0xd2, 0x02, 0x00, - 0xd4, 0x02, 0x01, 0x1a, 0x69, 0x20, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x0f, 0x01, 0x12, 0x04, 0xd2, 0x02, 0x08, 0x28, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x0f, 0x02, 0x00, 0x12, 0x04, 0xd3, 0x02, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xd3, 0x02, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xd3, 0x02, 0x15, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xd3, 0x02, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xd3, 0x02, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x0f, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xd3, 0x02, 0x2f, 0x55, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x10, 0x12, 0x06, 0xd7, - 0x02, 0x00, 0xe6, 0x02, 0x01, 0x1a, 0x59, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, - 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x10, 0x01, 0x12, 0x04, 0xd7, 0x02, 0x08, 0x2c, 0x0a, 0x0e, 0x0a, - 0x04, 0x04, 0x10, 0x02, 0x00, 0x12, 0x06, 0xd8, 0x02, 0x02, 0xdb, 0x02, 0x04, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x00, 0x05, 0x12, 0x04, 0xd8, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x00, 0x01, 0x12, 0x04, 0xd8, 0x02, 0x09, 0x1e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x00, 0x03, 0x12, 0x04, 0xd8, 0x02, 0x21, 0x22, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x10, - 0x02, 0x00, 0x08, 0x12, 0x06, 0xd8, 0x02, 0x23, 0xdb, 0x02, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x10, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xd9, 0x02, 0x04, 0x2a, 0x0a, 0x11, 0x0a, - 0x09, 0x04, 0x10, 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xda, 0x02, 0x04, 0x2b, - 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x01, 0x12, 0x06, 0xdc, 0x02, 0x02, 0xe0, 0x02, 0x04, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x04, 0x12, 0x04, 0xdc, 0x02, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x05, 0x12, 0x04, 0xdc, 0x02, 0x0b, 0x11, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x10, 0x02, 0x01, 0x01, 0x12, 0x04, 0xdc, 0x02, 0x12, 0x1a, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x01, 0x03, 0x12, 0x04, 0xdc, 0x02, 0x1d, 0x1e, 0x0a, 0x0f, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x01, 0x08, 0x12, 0x06, 0xdc, 0x02, 0x1f, 0xe0, 0x02, 0x03, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x10, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xdd, 0x02, 0x04, 0x2a, 0x0a, - 0x11, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x01, 0x08, 0x87, 0x09, 0x12, 0x01, 0x12, 0x04, 0xde, 0x02, - 0x04, 0x2f, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x10, 0x02, 0x01, 0x08, 0x87, 0x09, 0x12, 0x02, 0x12, - 0x04, 0xdf, 0x02, 0x04, 0x32, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x10, 0x08, 0x00, 0x12, 0x06, 0xe1, - 0x02, 0x02, 0xe5, 0x02, 0x03, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x08, 0x00, 0x01, 0x12, 0x04, - 0xe1, 0x02, 0x08, 0x0d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x02, 0x12, 0x04, 0xe2, 0x02, - 0x04, 0x1c, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x05, 0x12, 0x04, 0xe2, 0x02, 0x04, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x01, 0x12, 0x04, 0xe2, 0x02, 0x0b, 0x17, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x02, 0x03, 0x12, 0x04, 0xe2, 0x02, 0x1a, 0x1b, 0x0a, - 0x0c, 0x0a, 0x04, 0x04, 0x10, 0x02, 0x03, 0x12, 0x04, 0xe3, 0x02, 0x04, 0x1c, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x10, 0x02, 0x03, 0x05, 0x12, 0x04, 0xe3, 0x02, 0x04, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x10, 0x02, 0x03, 0x01, 0x12, 0x04, 0xe3, 0x02, 0x0b, 0x17, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x10, 0x02, 0x03, 0x03, 0x12, 0x04, 0xe3, 0x02, 0x1a, 0x1b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x10, - 0x02, 0x04, 0x12, 0x04, 0xe4, 0x02, 0x04, 0x1b, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, - 0x05, 0x12, 0x04, 0xe4, 0x02, 0x04, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x01, - 0x12, 0x04, 0xe4, 0x02, 0x09, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x10, 0x02, 0x04, 0x03, 0x12, - 0x04, 0xe4, 0x02, 0x19, 0x1a, 0x0a, 0x82, 0x01, 0x0a, 0x02, 0x04, 0x11, 0x12, 0x06, 0xea, 0x02, - 0x00, 0xec, 0x02, 0x01, 0x1a, 0x74, 0x0a, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x72, 0x65, - 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, - 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x42, 0x61, 0x74, 0x63, 0x68, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x11, - 0x01, 0x12, 0x04, 0xea, 0x02, 0x08, 0x2d, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x11, 0x02, 0x00, 0x12, - 0x04, 0xeb, 0x02, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x04, 0x12, 0x04, - 0xeb, 0x02, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x06, 0x12, 0x04, 0xeb, - 0x02, 0x0b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x01, 0x12, 0x04, 0xeb, 0x02, - 0x1e, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x03, 0x12, 0x04, 0xeb, 0x02, 0x36, - 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x11, 0x02, 0x00, 0x08, 0x12, 0x04, 0xeb, 0x02, 0x38, 0x60, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x11, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xeb, 0x02, - 0x39, 0x5f, 0x0a, 0x89, 0x01, 0x0a, 0x02, 0x04, 0x12, 0x12, 0x06, 0xef, 0x02, 0x00, 0x89, 0x03, - 0x01, 0x1a, 0x7b, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x69, - 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x6b, 0x65, 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x12, 0x01, 0x12, 0x04, 0xef, 0x02, 0x08, 0x29, 0x0a, 0x44, 0x0a, 0x04, 0x04, - 0x12, 0x02, 0x00, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x4c, 0x1a, 0x36, 0x20, 0x54, 0x68, 0x65, 0x20, - 0x69, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6b, 0x65, 0x79, 0x20, 0x74, 0x6f, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x05, 0x12, 0x04, 0xf1, 0x02, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x01, 0x12, 0x04, 0xf1, 0x02, 0x09, 0x1e, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x03, 0x12, 0x04, 0xf1, 0x02, 0x21, 0x22, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x00, 0x08, 0x12, 0x04, 0xf1, 0x02, 0x23, 0x4b, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x12, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf1, 0x02, 0x24, 0x4a, 0x0a, - 0x8a, 0x02, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x01, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x40, 0x1a, 0xfb, - 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x6e, 0x75, - 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x74, 0x6f, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, - 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, 0x6e, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, 0x6f, 0x73, 0x74, 0x20, - 0x35, 0x30, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, - 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x0a, 0x20, 0x61, 0x62, - 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x62, 0x65, - 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x31, 0x30, 0x30, 0x30, - 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x01, 0x05, 0x12, 0x04, 0xf5, 0x02, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x01, 0x01, 0x12, 0x04, 0xf5, 0x02, 0x09, 0x12, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, - 0x02, 0x01, 0x03, 0x12, 0x04, 0xf5, 0x02, 0x15, 0x16, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, - 0x01, 0x08, 0x12, 0x04, 0xf5, 0x02, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, 0x02, 0x01, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xf5, 0x02, 0x18, 0x3e, 0x0a, 0xb3, 0x02, 0x0a, 0x04, 0x04, - 0x12, 0x02, 0x02, 0x12, 0x04, 0xfa, 0x02, 0x02, 0x41, 0x1a, 0xa4, 0x02, 0x20, 0x41, 0x20, 0x70, - 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, - 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, - 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x20, - 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, - 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, 0x61, - 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x57, 0x68, - 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, - 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, - 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x60, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, - 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x0a, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, 0x6f, - 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, - 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x05, 0x12, 0x04, 0xfa, 0x02, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x01, 0x12, 0x04, 0xfa, 0x02, 0x09, 0x13, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x02, 0x03, 0x12, 0x04, 0xfa, 0x02, 0x16, 0x17, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x02, 0x08, 0x12, 0x04, 0xfa, 0x02, 0x18, 0x40, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x12, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xfa, 0x02, 0x19, 0x3f, 0x0a, 0xad, - 0x04, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x03, 0x12, 0x04, 0x80, 0x03, 0x02, 0x3d, 0x1a, 0x9e, 0x04, - 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, 0x28, - 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, - 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x20, 0x27, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x27, - 0x2c, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x27, - 0x2c, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x27, - 0x2c, 0x20, 0x27, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x27, 0x2c, 0x20, 0x27, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, - 0x27, 0x2c, 0x20, 0x27, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x27, 0x75, 0x73, 0x65, - 0x72, 0x5f, 0x69, 0x64, 0x27, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, 0x74, 0x68, - 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, - 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, 0x65, 0x20, - 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x65, 0x6c, - 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, 0x6d, 0x64, - 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, - 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, - 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x75, - 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x69, 0x6e, - 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, 0x72, 0x20, - 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x03, 0x05, 0x12, 0x04, 0x80, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x03, 0x01, 0x12, 0x04, 0x80, 0x03, 0x09, 0x0f, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x12, 0x02, 0x03, 0x03, 0x12, 0x04, 0x80, 0x03, 0x12, 0x13, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x12, 0x02, 0x03, 0x08, 0x12, 0x04, 0x80, 0x03, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x12, - 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x80, 0x03, 0x15, 0x3b, 0x0a, 0x93, 0x03, 0x0a, - 0x04, 0x04, 0x12, 0x02, 0x04, 0x12, 0x04, 0x86, 0x03, 0x02, 0x3f, 0x1a, 0x84, 0x03, 0x20, 0x48, - 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, - 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, - 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, 0x49, 0x45, - 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, 0x2c, 0x2e, - 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x20, - 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, - 0x64, 0x61, 0x74, 0x65, 0x60, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x20, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, - 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x73, 0x63, - 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, 0x6f, 0x6c, - 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, - 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x6f, 0x72, - 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, 0x6c, - 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, 0x28, 0x68, - 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x69, - 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x69, - 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, 0x22, 0x63, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, 0x73, 0x63, - 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x05, 0x12, 0x04, 0x86, 0x03, 0x02, - 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x01, 0x12, 0x04, 0x86, 0x03, 0x09, 0x11, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x03, 0x12, 0x04, 0x86, 0x03, 0x14, 0x15, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x04, 0x08, 0x12, 0x04, 0x86, 0x03, 0x16, 0x3e, 0x0a, 0x10, - 0x0a, 0x08, 0x04, 0x12, 0x02, 0x04, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x86, 0x03, 0x17, 0x3d, - 0x0a, 0x4e, 0x0a, 0x04, 0x04, 0x12, 0x02, 0x05, 0x12, 0x04, 0x88, 0x03, 0x02, 0x45, 0x1a, 0x40, - 0x20, 0x49, 0x66, 0x20, 0x74, 0x72, 0x75, 0x65, 0x2c, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, - 0x65, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x64, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2e, 0x20, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, - 0x61, 0x6c, 0x73, 0x65, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x05, 0x12, 0x04, 0x88, 0x03, 0x02, 0x06, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x01, 0x12, 0x04, 0x88, 0x03, 0x07, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x12, 0x02, 0x05, 0x03, 0x12, 0x04, 0x88, 0x03, 0x1a, 0x1b, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x12, 0x02, 0x05, 0x08, 0x12, 0x04, 0x88, 0x03, 0x1c, 0x44, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x12, 0x02, 0x05, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x88, 0x03, 0x1d, 0x43, 0x0a, 0x84, - 0x01, 0x0a, 0x02, 0x04, 0x13, 0x12, 0x06, 0x8c, 0x03, 0x00, 0x8f, 0x03, 0x01, 0x1a, 0x76, 0x20, - 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x66, 0x72, 0x6f, - 0x6d, 0x20, 0x61, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x63, - 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x13, 0x01, 0x12, 0x04, 0x8c, 0x03, - 0x08, 0x2a, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x13, 0x02, 0x00, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x61, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x04, 0x12, 0x04, 0x8d, 0x03, 0x02, 0x0a, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x06, 0x12, 0x04, 0x8d, 0x03, 0x0b, 0x1d, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x13, 0x02, 0x00, 0x01, 0x12, 0x04, 0x8d, 0x03, 0x1e, 0x33, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x13, 0x02, 0x00, 0x03, 0x12, 0x04, 0x8d, 0x03, 0x36, 0x37, 0x0a, 0x0d, 0x0a, 0x05, - 0x04, 0x13, 0x02, 0x00, 0x08, 0x12, 0x04, 0x8d, 0x03, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, - 0x13, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x8d, 0x03, 0x39, 0x5f, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x13, 0x02, 0x01, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x13, 0x02, 0x01, 0x05, 0x12, 0x04, 0x8e, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, - 0x02, 0x01, 0x01, 0x12, 0x04, 0x8e, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x13, 0x02, - 0x01, 0x03, 0x12, 0x04, 0x8e, 0x03, 0x1b, 0x1c, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x14, 0x12, 0x06, - 0x91, 0x03, 0x00, 0xa7, 0x03, 0x01, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x14, 0x01, 0x12, 0x04, 0x91, - 0x03, 0x08, 0x26, 0x0a, 0x8a, 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x00, 0x12, 0x04, 0x95, 0x03, - 0x02, 0x40, 0x1a, 0xfb, 0x01, 0x20, 0x54, 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, - 0x6d, 0x20, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, - 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6d, 0x61, 0x79, 0x20, 0x72, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x66, 0x65, 0x77, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x6e, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x75, - 0x6e, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x2c, 0x20, 0x61, 0x74, 0x20, 0x6d, - 0x6f, 0x73, 0x74, 0x20, 0x35, 0x30, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x2e, 0x20, 0x54, - 0x68, 0x65, 0x20, 0x6d, 0x61, 0x78, 0x69, 0x6d, 0x75, 0x6d, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x69, 0x73, 0x20, 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x0a, 0x20, 0x61, 0x62, 0x6f, 0x76, 0x65, 0x20, 0x31, 0x30, 0x30, 0x30, 0x20, 0x77, 0x69, 0x6c, - 0x6c, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x65, 0x72, 0x63, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, - 0x31, 0x30, 0x30, 0x30, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x05, 0x12, 0x04, 0x95, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x01, 0x12, 0x04, 0x95, 0x03, 0x09, 0x12, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x00, 0x03, 0x12, 0x04, 0x95, 0x03, 0x15, 0x16, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x00, 0x08, 0x12, 0x04, 0x95, 0x03, 0x17, 0x3f, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x14, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x95, 0x03, 0x18, 0x3e, 0x0a, 0xb0, - 0x02, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x01, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x41, 0x1a, 0xa1, 0x02, - 0x20, 0x41, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2c, 0x20, 0x72, - 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x70, - 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, - 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x60, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, - 0x65, 0x20, 0x61, 0x20, 0x73, 0x75, 0x62, 0x73, 0x65, 0x71, 0x75, 0x65, 0x6e, 0x74, 0x20, 0x70, - 0x61, 0x67, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x2e, 0x0a, 0x20, 0x57, - 0x68, 0x65, 0x6e, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, - 0x61, 0x6c, 0x6c, 0x20, 0x6f, 0x74, 0x68, 0x65, 0x72, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, - 0x74, 0x65, 0x72, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x60, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, - 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x60, 0x20, 0x6d, 0x75, 0x73, 0x74, 0x20, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, - 0x75, 0x73, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x0a, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x67, 0x65, 0x20, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, - 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x05, 0x12, 0x04, 0x9a, 0x03, 0x02, 0x08, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x01, 0x12, 0x04, 0x9a, 0x03, 0x09, 0x13, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x03, 0x12, 0x04, 0x9a, 0x03, 0x16, 0x17, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x01, 0x08, 0x12, 0x04, 0x9a, 0x03, 0x18, 0x40, 0x0a, 0x10, 0x0a, - 0x08, 0x04, 0x14, 0x02, 0x01, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0x9a, 0x03, 0x19, 0x3f, 0x0a, - 0xbe, 0x04, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x02, 0x12, 0x04, 0xa0, 0x03, 0x02, 0x3d, 0x1a, 0xaf, - 0x04, 0x20, 0x41, 0x20, 0x5b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x20, 0x45, 0x78, 0x70, 0x72, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x20, - 0x28, 0x43, 0x45, 0x4c, 0x29, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2f, 0x63, 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x29, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, - 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x66, - 0x69, 0x6c, 0x74, 0x65, 0x72, 0x20, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x20, 0x27, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x69, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x75, 0x73, 0x65, 0x72, 0x5f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, - 0x27, 0x2c, 0x20, 0x27, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x27, 0x2c, 0x20, 0x27, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x27, 0x2c, 0x20, 0x27, 0x62, 0x6f, 0x6f, 0x6c, 0x65, 0x61, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, - 0x65, 0x27, 0x2c, 0x20, 0x27, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x27, 0x2c, 0x20, 0x27, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x27, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x27, 0x75, - 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x27, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x66, 0x75, 0x72, - 0x74, 0x68, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x73, - 0x65, 0x20, 0x43, 0x45, 0x4c, 0x73, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x20, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, - 0x65, 0x6c, 0x2d, 0x73, 0x70, 0x65, 0x63, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x2f, 0x64, 0x6f, 0x63, 0x2f, 0x6c, 0x61, 0x6e, 0x67, 0x64, 0x65, 0x66, 0x2e, - 0x6d, 0x64, 0x23, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x64, 0x65, 0x66, 0x69, - 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x29, 0x2e, 0x0a, 0x20, 0x46, 0x6f, 0x72, 0x20, 0x6d, - 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, - 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, - 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x70, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x2e, 0x0a, - 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x05, 0x12, 0x04, 0xa0, 0x03, 0x02, 0x08, 0x0a, - 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x01, 0x12, 0x04, 0xa0, 0x03, 0x09, 0x0f, 0x0a, 0x0d, - 0x0a, 0x05, 0x04, 0x14, 0x02, 0x02, 0x03, 0x12, 0x04, 0xa0, 0x03, 0x12, 0x13, 0x0a, 0x0d, 0x0a, - 0x05, 0x04, 0x14, 0x02, 0x02, 0x08, 0x12, 0x04, 0xa0, 0x03, 0x14, 0x3c, 0x0a, 0x10, 0x0a, 0x08, - 0x04, 0x14, 0x02, 0x02, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa0, 0x03, 0x15, 0x3b, 0x0a, 0x93, - 0x03, 0x0a, 0x04, 0x04, 0x14, 0x02, 0x03, 0x12, 0x04, 0xa6, 0x03, 0x02, 0x3f, 0x1a, 0x84, 0x03, - 0x20, 0x48, 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x65, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x2e, 0x20, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x61, 0x73, 0x20, - 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x2d, 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x65, - 0x64, 0x20, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x2e, 0x65, 0x2e, 0x20, 0x22, 0x46, - 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5b, 0x20, 0x64, 0x65, 0x73, 0x63, 0x5d, - 0x2c, 0x2e, 0x2e, 0x2e, 0x22, 0x2e, 0x0a, 0x20, 0x41, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, - 0x65, 0x20, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x79, 0x20, 0x61, 0x72, 0x65, 0x20, 0x60, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x0a, 0x20, 0x49, 0x66, 0x20, 0x6c, 0x65, 0x66, 0x74, - 0x20, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2c, 0x20, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x20, 0x61, 0x72, - 0x65, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x62, 0x79, 0x20, 0x60, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x60, 0x20, 0x69, 0x6e, 0x20, 0x61, - 0x73, 0x63, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x20, 0x28, - 0x6f, 0x6c, 0x64, 0x65, 0x73, 0x74, 0x2d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x29, 0x2e, 0x0a, 0x20, - 0x46, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, - 0x65, 0x6c, 0x64, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, 0x5b, 0x74, 0x68, 0x69, 0x73, 0x5d, - 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x61, 0x69, 0x70, 0x2e, 0x64, 0x65, 0x76, 0x2f, 0x31, 0x33, 0x32, 0x23, 0x6f, 0x72, 0x64, 0x65, - 0x72, 0x69, 0x6e, 0x67, 0x29, 0x0a, 0x20, 0x45, 0x78, 0x61, 0x6d, 0x70, 0x6c, 0x65, 0x3a, 0x20, - 0x22, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x20, 0x64, 0x65, - 0x73, 0x63, 0x22, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x05, 0x12, 0x04, 0xa6, - 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x01, 0x12, 0x04, 0xa6, 0x03, - 0x09, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x03, 0x12, 0x04, 0xa6, 0x03, 0x14, - 0x15, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x14, 0x02, 0x03, 0x08, 0x12, 0x04, 0xa6, 0x03, 0x16, 0x3e, - 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x14, 0x02, 0x03, 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xa6, 0x03, - 0x17, 0x3d, 0x0a, 0x0c, 0x0a, 0x02, 0x04, 0x15, 0x12, 0x06, 0xa9, 0x03, 0x00, 0xac, 0x03, 0x01, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x15, 0x01, 0x12, 0x04, 0xa9, 0x03, 0x08, 0x27, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x15, 0x02, 0x00, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x61, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x15, 0x02, 0x00, 0x04, 0x12, 0x04, 0xaa, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, - 0x02, 0x00, 0x06, 0x12, 0x04, 0xaa, 0x03, 0x0b, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xaa, 0x03, 0x1e, 0x33, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xaa, 0x03, 0x36, 0x37, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xaa, 0x03, 0x38, 0x60, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x15, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xaa, 0x03, 0x39, 0x5f, 0x0a, 0x0c, 0x0a, 0x04, 0x04, 0x15, 0x02, 0x01, - 0x12, 0x04, 0xab, 0x03, 0x02, 0x1d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x05, 0x12, - 0x04, 0xab, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x01, 0x12, 0x04, - 0xab, 0x03, 0x09, 0x18, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x15, 0x02, 0x01, 0x03, 0x12, 0x04, 0xab, - 0x03, 0x1b, 0x1c, 0x0a, 0x58, 0x0a, 0x02, 0x04, 0x16, 0x12, 0x06, 0xaf, 0x03, 0x00, 0xb4, 0x03, - 0x01, 0x1a, 0x4a, 0x20, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x72, 0x65, 0x74, 0x72, - 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x2e, 0x0a, 0x0a, 0x0b, 0x0a, - 0x03, 0x04, 0x16, 0x01, 0x12, 0x04, 0xaf, 0x03, 0x08, 0x24, 0x0a, 0x0e, 0x0a, 0x04, 0x04, 0x16, - 0x02, 0x00, 0x12, 0x06, 0xb0, 0x03, 0x02, 0xb3, 0x03, 0x04, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xb0, 0x03, 0x02, 0x08, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xb0, 0x03, 0x09, 0x20, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xb0, 0x03, 0x23, 0x24, 0x0a, 0x0f, 0x0a, 0x05, 0x04, 0x16, 0x02, 0x00, 0x08, - 0x12, 0x06, 0xb0, 0x03, 0x25, 0xb3, 0x03, 0x03, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x16, 0x02, 0x00, - 0x08, 0x9c, 0x08, 0x00, 0x12, 0x04, 0xb1, 0x03, 0x04, 0x2a, 0x0a, 0x11, 0x0a, 0x09, 0x04, 0x16, - 0x02, 0x00, 0x08, 0x87, 0x09, 0x0e, 0x16, 0x12, 0x04, 0xb2, 0x03, 0x04, 0x2b, 0x0a, 0x6f, 0x0a, - 0x02, 0x04, 0x17, 0x12, 0x06, 0xb7, 0x03, 0x00, 0xb9, 0x03, 0x01, 0x1a, 0x61, 0x20, 0x47, 0x65, - 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x20, 0x72, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, - 0x61, 0x20, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x17, 0x01, 0x12, 0x04, 0xb7, 0x03, 0x08, 0x25, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x17, 0x02, 0x00, 0x12, 0x04, 0xb8, 0x03, 0x02, 0x57, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, - 0x00, 0x06, 0x12, 0x04, 0xb8, 0x03, 0x02, 0x14, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, - 0x01, 0x12, 0x04, 0xb8, 0x03, 0x15, 0x29, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x03, - 0x12, 0x04, 0xb8, 0x03, 0x2c, 0x2d, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x17, 0x02, 0x00, 0x08, 0x12, - 0x04, 0xb8, 0x03, 0x2e, 0x56, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x17, 0x02, 0x00, 0x08, 0x9c, 0x08, - 0x00, 0x12, 0x04, 0xb8, 0x03, 0x2f, 0x55, 0x0a, 0x67, 0x0a, 0x02, 0x04, 0x18, 0x12, 0x06, 0xbc, - 0x03, 0x00, 0xbe, 0x03, 0x01, 0x1a, 0x59, 0x20, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, - 0x73, 0x65, 0x72, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, - 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, - 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x61, 0x72, 0x63, 0x68, 0x69, - 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x69, 0x64, 0x2e, 0x0a, - 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x18, 0x01, 0x12, 0x04, 0xbc, 0x03, 0x08, 0x29, 0x0a, 0x0c, 0x0a, - 0x04, 0x04, 0x18, 0x02, 0x00, 0x12, 0x04, 0xbd, 0x03, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, - 0x18, 0x02, 0x00, 0x04, 0x12, 0x04, 0xbd, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, - 0x02, 0x00, 0x05, 0x12, 0x04, 0xbd, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, - 0x00, 0x01, 0x12, 0x04, 0xbd, 0x03, 0x12, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, - 0x03, 0x12, 0x04, 0xbd, 0x03, 0x2d, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x18, 0x02, 0x00, 0x08, - 0x12, 0x04, 0xbd, 0x03, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x18, 0x02, 0x00, 0x08, 0x9c, - 0x08, 0x00, 0x12, 0x04, 0xbd, 0x03, 0x30, 0x56, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x19, 0x12, 0x04, - 0xc0, 0x03, 0x00, 0x2d, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x19, 0x01, 0x12, 0x04, 0xc0, 0x03, 0x08, - 0x2a, 0x0a, 0x6b, 0x0a, 0x02, 0x04, 0x1a, 0x12, 0x06, 0xc3, 0x03, 0x00, 0xc5, 0x03, 0x01, 0x1a, - 0x5d, 0x20, 0x55, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, - 0x20, 0x62, 0x61, 0x74, 0x63, 0x68, 0x20, 0x75, 0x6e, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, - 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x20, 0x62, 0x79, 0x20, 0x69, 0x64, 0x2e, 0x0a, 0x0a, 0x0b, - 0x0a, 0x03, 0x04, 0x1a, 0x01, 0x12, 0x04, 0xc3, 0x03, 0x08, 0x2b, 0x0a, 0x0c, 0x0a, 0x04, 0x04, - 0x1a, 0x02, 0x00, 0x12, 0x04, 0xc4, 0x03, 0x02, 0x58, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, - 0x00, 0x04, 0x12, 0x04, 0xc4, 0x03, 0x02, 0x0a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, - 0x05, 0x12, 0x04, 0xc4, 0x03, 0x0b, 0x11, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x01, - 0x12, 0x04, 0xc4, 0x03, 0x12, 0x2a, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x03, 0x12, - 0x04, 0xc4, 0x03, 0x2d, 0x2e, 0x0a, 0x0d, 0x0a, 0x05, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x12, 0x04, - 0xc4, 0x03, 0x2f, 0x57, 0x0a, 0x10, 0x0a, 0x08, 0x04, 0x1a, 0x02, 0x00, 0x08, 0x9c, 0x08, 0x00, - 0x12, 0x04, 0xc4, 0x03, 0x30, 0x56, 0x0a, 0x0a, 0x0a, 0x02, 0x04, 0x1b, 0x12, 0x04, 0xc7, 0x03, - 0x00, 0x2f, 0x0a, 0x0b, 0x0a, 0x03, 0x04, 0x1b, 0x01, 0x12, 0x04, 0xc7, 0x03, 0x08, 0x2c, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -]; -include!("sift.user_attributes.v1.tonic.rs"); -include!("sift.user_attributes.v1.serde.rs"); -// @@protoc_insertion_point(module) \ No newline at end of file diff --git a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.serde.rs b/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.serde.rs deleted file mode 100644 index 23a57aa0d..000000000 --- a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.serde.rs +++ /dev/null @@ -1,3453 +0,0 @@ -// @generated -impl serde::Serialize for ArchiveUserAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ArchiveUserAttributeKeysRequest", len)?; - if !self.user_attribute_key_ids.is_empty() { - struct_ser.serialize_field("userAttributeKeyIds", &self.user_attribute_key_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveUserAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_ids", - "userAttributeKeyIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyIds" | "user_attribute_key_ids" => Ok(GeneratedField::UserAttributeKeyIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveUserAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ArchiveUserAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyIds => { - if user_attribute_key_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyIds")); - } - user_attribute_key_ids__ = Some(map_.next_value()?); - } - } - } - Ok(ArchiveUserAttributeKeysRequest { - user_attribute_key_ids: user_attribute_key_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ArchiveUserAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveUserAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ArchiveUserAttributeKeysResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveUserAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveUserAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ArchiveUserAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(ArchiveUserAttributeKeysResponse { - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ArchiveUserAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveUserAttributeValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_value_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ArchiveUserAttributeValuesRequest", len)?; - if !self.user_attribute_value_ids.is_empty() { - struct_ser.serialize_field("userAttributeValueIds", &self.user_attribute_value_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveUserAttributeValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value_ids", - "userAttributeValueIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValueIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValueIds" | "user_attribute_value_ids" => Ok(GeneratedField::UserAttributeValueIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveUserAttributeValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ArchiveUserAttributeValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValueIds => { - if user_attribute_value_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValueIds")); - } - user_attribute_value_ids__ = Some(map_.next_value()?); - } - } - } - Ok(ArchiveUserAttributeValuesRequest { - user_attribute_value_ids: user_attribute_value_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ArchiveUserAttributeValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ArchiveUserAttributeValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ArchiveUserAttributeValuesResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ArchiveUserAttributeValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ArchiveUserAttributeValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ArchiveUserAttributeValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(ArchiveUserAttributeValuesResponse { - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ArchiveUserAttributeValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchCreateUserAttributeValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if !self.user_ids.is_empty() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.BatchCreateUserAttributeValueRequest", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if !self.user_ids.is_empty() { - struct_ser.serialize_field("userIds", &self.user_ids)?; - } - if let Some(v) = self.value.as_ref() { - match v { - batch_create_user_attribute_value_request::Value::StringValue(v) => { - struct_ser.serialize_field("stringValue", v)?; - } - batch_create_user_attribute_value_request::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - batch_create_user_attribute_value_request::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchCreateUserAttributeValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - "user_ids", - "userIds", - "string_value", - "stringValue", - "number_value", - "numberValue", - "boolean_value", - "booleanValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - UserIds, - StringValue, - NumberValue, - BooleanValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "userIds" | "user_ids" => Ok(GeneratedField::UserIds), - "stringValue" | "string_value" => Ok(GeneratedField::StringValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchCreateUserAttributeValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.BatchCreateUserAttributeValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - let mut user_ids__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::UserIds => { - if user_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("userIds")); - } - user_ids__ = Some(map_.next_value()?); - } - GeneratedField::StringValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("stringValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_create_user_attribute_value_request::Value::StringValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| batch_create_user_attribute_value_request::Value::NumberValue(x.0)); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(batch_create_user_attribute_value_request::Value::BooleanValue); - } - } - } - Ok(BatchCreateUserAttributeValueRequest { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - user_ids: user_ids__.unwrap_or_default(), - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.BatchCreateUserAttributeValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for BatchCreateUserAttributeValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_values.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.BatchCreateUserAttributeValueResponse", len)?; - if !self.user_attribute_values.is_empty() { - struct_ser.serialize_field("userAttributeValues", &self.user_attribute_values)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for BatchCreateUserAttributeValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_values", - "userAttributeValues", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValues, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValues" | "user_attribute_values" => Ok(GeneratedField::UserAttributeValues), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = BatchCreateUserAttributeValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.BatchCreateUserAttributeValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_values__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValues => { - if user_attribute_values__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValues")); - } - user_attribute_values__ = Some(map_.next_value()?); - } - } - } - Ok(BatchCreateUserAttributeValueResponse { - user_attribute_values: user_attribute_values__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.BatchCreateUserAttributeValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateUserAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.r#type != 0 { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.CreateUserAttributeKeyRequest", len)?; - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if self.r#type != 0 { - let v = UserAttributeValueType::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateUserAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "name", - "description", - "type", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - Name, - Description, - Type, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateUserAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.CreateUserAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut name__ = None; - let mut description__ = None; - let mut r#type__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - } - } - Ok(CreateUserAttributeKeyRequest { - name: name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.CreateUserAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateUserAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.user_attribute_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.CreateUserAttributeKeyResponse", len)?; - if let Some(v) = self.user_attribute_key.as_ref() { - struct_ser.serialize_field("userAttributeKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateUserAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key", - "userAttributeKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKey" | "user_attribute_key" => Ok(GeneratedField::UserAttributeKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateUserAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.CreateUserAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKey => { - if user_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKey")); - } - user_attribute_key__ = map_.next_value()?; - } - } - } - Ok(CreateUserAttributeKeyResponse { - user_attribute_key: user_attribute_key__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.CreateUserAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateUserAttributeValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if !self.user_id.is_empty() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.CreateUserAttributeValueRequest", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if !self.user_id.is_empty() { - struct_ser.serialize_field("userId", &self.user_id)?; - } - if let Some(v) = self.value.as_ref() { - match v { - create_user_attribute_value_request::Value::StringValue(v) => { - struct_ser.serialize_field("stringValue", v)?; - } - create_user_attribute_value_request::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - create_user_attribute_value_request::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateUserAttributeValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - "user_id", - "userId", - "string_value", - "stringValue", - "number_value", - "numberValue", - "boolean_value", - "booleanValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - UserId, - StringValue, - NumberValue, - BooleanValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "userId" | "user_id" => Ok(GeneratedField::UserId), - "stringValue" | "string_value" => Ok(GeneratedField::StringValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateUserAttributeValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.CreateUserAttributeValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - let mut user_id__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::UserId => { - if user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userId")); - } - user_id__ = Some(map_.next_value()?); - } - GeneratedField::StringValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("stringValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(create_user_attribute_value_request::Value::StringValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| create_user_attribute_value_request::Value::NumberValue(x.0)); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(create_user_attribute_value_request::Value::BooleanValue); - } - } - } - Ok(CreateUserAttributeValueRequest { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - user_id: user_id__.unwrap_or_default(), - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.CreateUserAttributeValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for CreateUserAttributeValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.user_attribute_value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.CreateUserAttributeValueResponse", len)?; - if let Some(v) = self.user_attribute_value.as_ref() { - struct_ser.serialize_field("userAttributeValue", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for CreateUserAttributeValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value", - "userAttributeValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValue" | "user_attribute_value" => Ok(GeneratedField::UserAttributeValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = CreateUserAttributeValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.CreateUserAttributeValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValue => { - if user_attribute_value__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValue")); - } - user_attribute_value__ = map_.next_value()?; - } - } - } - Ok(CreateUserAttributeValueResponse { - user_attribute_value: user_attribute_value__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.CreateUserAttributeValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetUserAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.GetUserAttributeKeyRequest", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetUserAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetUserAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.GetUserAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetUserAttributeKeyRequest { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.GetUserAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetUserAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.user_attribute_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.GetUserAttributeKeyResponse", len)?; - if let Some(v) = self.user_attribute_key.as_ref() { - struct_ser.serialize_field("userAttributeKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetUserAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key", - "userAttributeKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKey" | "user_attribute_key" => Ok(GeneratedField::UserAttributeKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetUserAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.GetUserAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKey => { - if user_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKey")); - } - user_attribute_key__ = map_.next_value()?; - } - } - } - Ok(GetUserAttributeKeyResponse { - user_attribute_key: user_attribute_key__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.GetUserAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetUserAttributeValueRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_value_id.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.GetUserAttributeValueRequest", len)?; - if !self.user_attribute_value_id.is_empty() { - struct_ser.serialize_field("userAttributeValueId", &self.user_attribute_value_id)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetUserAttributeValueRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value_id", - "userAttributeValueId", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValueId, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValueId" | "user_attribute_value_id" => Ok(GeneratedField::UserAttributeValueId), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetUserAttributeValueRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.GetUserAttributeValueRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value_id__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValueId => { - if user_attribute_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValueId")); - } - user_attribute_value_id__ = Some(map_.next_value()?); - } - } - } - Ok(GetUserAttributeValueRequest { - user_attribute_value_id: user_attribute_value_id__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.GetUserAttributeValueRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for GetUserAttributeValueResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.user_attribute_value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.GetUserAttributeValueResponse", len)?; - if let Some(v) = self.user_attribute_value.as_ref() { - struct_ser.serialize_field("userAttributeValue", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for GetUserAttributeValueResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value", - "userAttributeValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValue" | "user_attribute_value" => Ok(GeneratedField::UserAttributeValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GetUserAttributeValueResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.GetUserAttributeValueResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValue => { - if user_attribute_value__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValue")); - } - user_attribute_value__ = map_.next_value()?; - } - } - } - Ok(GetUserAttributeValueResponse { - user_attribute_value: user_attribute_value__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.GetUserAttributeValueResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeKeyValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeKeyValuesRequest", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeKeyValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - PageSize, - PageToken, - Filter, - OrderBy, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeKeyValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeKeyValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeKeyValuesRequest { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeKeyValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeKeyValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_values.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeKeyValuesResponse", len)?; - if !self.user_attribute_values.is_empty() { - struct_ser.serialize_field("userAttributeValues", &self.user_attribute_values)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeKeyValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_values", - "userAttributeValues", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValues, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValues" | "user_attribute_values" => Ok(GeneratedField::UserAttributeValues), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeKeyValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeKeyValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_values__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValues => { - if user_attribute_values__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValues")); - } - user_attribute_values__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeKeyValuesResponse { - user_attribute_values: user_attribute_values__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeKeyValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if self.include_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeKeysRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if self.include_archived { - struct_ser.serialize_field("includeArchived", &self.include_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - "organization_id", - "organizationId", - "include_archived", - "includeArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, - OrganizationId, - IncludeArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "includeArchived" | "include_archived" => Ok(GeneratedField::IncludeArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - let mut organization_id__ = None; - let mut include_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::IncludeArchived => { - if include_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("includeArchived")); - } - include_archived__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeKeysRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - organization_id: organization_id__.unwrap_or_default(), - include_archived: include_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_keys.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeKeysResponse", len)?; - if !self.user_attribute_keys.is_empty() { - struct_ser.serialize_field("userAttributeKeys", &self.user_attribute_keys)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_keys", - "userAttributeKeys", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeys, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeys" | "user_attribute_keys" => Ok(GeneratedField::UserAttributeKeys), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_keys__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeys => { - if user_attribute_keys__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeys")); - } - user_attribute_keys__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeKeysResponse { - user_attribute_keys: user_attribute_keys__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.page_size != 0 { - len += 1; - } - if !self.page_token.is_empty() { - len += 1; - } - if !self.filter.is_empty() { - len += 1; - } - if !self.order_by.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeValuesRequest", len)?; - if self.page_size != 0 { - struct_ser.serialize_field("pageSize", &self.page_size)?; - } - if !self.page_token.is_empty() { - struct_ser.serialize_field("pageToken", &self.page_token)?; - } - if !self.filter.is_empty() { - struct_ser.serialize_field("filter", &self.filter)?; - } - if !self.order_by.is_empty() { - struct_ser.serialize_field("orderBy", &self.order_by)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "page_size", - "pageSize", - "page_token", - "pageToken", - "filter", - "order_by", - "orderBy", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - PageSize, - PageToken, - Filter, - OrderBy, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "pageSize" | "page_size" => Ok(GeneratedField::PageSize), - "pageToken" | "page_token" => Ok(GeneratedField::PageToken), - "filter" => Ok(GeneratedField::Filter), - "orderBy" | "order_by" => Ok(GeneratedField::OrderBy), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut page_size__ = None; - let mut page_token__ = None; - let mut filter__ = None; - let mut order_by__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::PageSize => { - if page_size__.is_some() { - return Err(serde::de::Error::duplicate_field("pageSize")); - } - page_size__ = - Some(map_.next_value::<::pbjson::private::NumberDeserialize<_>>()?.0) - ; - } - GeneratedField::PageToken => { - if page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("pageToken")); - } - page_token__ = Some(map_.next_value()?); - } - GeneratedField::Filter => { - if filter__.is_some() { - return Err(serde::de::Error::duplicate_field("filter")); - } - filter__ = Some(map_.next_value()?); - } - GeneratedField::OrderBy => { - if order_by__.is_some() { - return Err(serde::de::Error::duplicate_field("orderBy")); - } - order_by__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeValuesRequest { - page_size: page_size__.unwrap_or_default(), - page_token: page_token__.unwrap_or_default(), - filter: filter__.unwrap_or_default(), - order_by: order_by__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for ListUserAttributeValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_values.is_empty() { - len += 1; - } - if !self.next_page_token.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.ListUserAttributeValuesResponse", len)?; - if !self.user_attribute_values.is_empty() { - struct_ser.serialize_field("userAttributeValues", &self.user_attribute_values)?; - } - if !self.next_page_token.is_empty() { - struct_ser.serialize_field("nextPageToken", &self.next_page_token)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for ListUserAttributeValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_values", - "userAttributeValues", - "next_page_token", - "nextPageToken", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValues, - NextPageToken, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValues" | "user_attribute_values" => Ok(GeneratedField::UserAttributeValues), - "nextPageToken" | "next_page_token" => Ok(GeneratedField::NextPageToken), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = ListUserAttributeValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.ListUserAttributeValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_values__ = None; - let mut next_page_token__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValues => { - if user_attribute_values__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValues")); - } - user_attribute_values__ = Some(map_.next_value()?); - } - GeneratedField::NextPageToken => { - if next_page_token__.is_some() { - return Err(serde::de::Error::duplicate_field("nextPageToken")); - } - next_page_token__ = Some(map_.next_value()?); - } - } - } - Ok(ListUserAttributeValuesResponse { - user_attribute_values: user_attribute_values__.unwrap_or_default(), - next_page_token: next_page_token__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.ListUserAttributeValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveUserAttributeKeysRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest", len)?; - if !self.user_attribute_key_ids.is_empty() { - struct_ser.serialize_field("userAttributeKeyIds", &self.user_attribute_key_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveUserAttributeKeysRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_ids", - "userAttributeKeyIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyIds" | "user_attribute_key_ids" => Ok(GeneratedField::UserAttributeKeyIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveUserAttributeKeysRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyIds => { - if user_attribute_key_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyIds")); - } - user_attribute_key_ids__ = Some(map_.next_value()?); - } - } - } - Ok(UnarchiveUserAttributeKeysRequest { - user_attribute_key_ids: user_attribute_key_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeKeysRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveUserAttributeKeysResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveUserAttributeKeysResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveUserAttributeKeysResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(UnarchiveUserAttributeKeysResponse { - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeKeysResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveUserAttributeValuesRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_value_ids.is_empty() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest", len)?; - if !self.user_attribute_value_ids.is_empty() { - struct_ser.serialize_field("userAttributeValueIds", &self.user_attribute_value_ids)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveUserAttributeValuesRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value_ids", - "userAttributeValueIds", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValueIds, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValueIds" | "user_attribute_value_ids" => Ok(GeneratedField::UserAttributeValueIds), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveUserAttributeValuesRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value_ids__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValueIds => { - if user_attribute_value_ids__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValueIds")); - } - user_attribute_value_ids__ = Some(map_.next_value()?); - } - } - } - Ok(UnarchiveUserAttributeValuesRequest { - user_attribute_value_ids: user_attribute_value_ids__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeValuesRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UnarchiveUserAttributeValuesResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let len = 0; - let struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse", len)?; - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UnarchiveUserAttributeValuesResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - Err(serde::de::Error::unknown_field(value, FIELDS)) - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UnarchiveUserAttributeValuesResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - while map_.next_key::()?.is_some() { - let _ = map_.next_value::()?; - } - Ok(UnarchiveUserAttributeValuesResponse { - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UnarchiveUserAttributeValuesResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateUserAttributeKeyRequest { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if !self.name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.update_mask.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UpdateUserAttributeKeyRequest", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if let Some(v) = self.update_mask.as_ref() { - struct_ser.serialize_field("updateMask", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateUserAttributeKeyRequest { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - "name", - "description", - "update_mask", - "updateMask", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - Name, - Description, - UpdateMask, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "updateMask" | "update_mask" => Ok(GeneratedField::UpdateMask), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateUserAttributeKeyRequest; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UpdateUserAttributeKeyRequest") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - let mut name__ = None; - let mut description__ = None; - let mut update_mask__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::UpdateMask => { - if update_mask__.is_some() { - return Err(serde::de::Error::duplicate_field("updateMask")); - } - update_mask__ = map_.next_value()?; - } - } - } - Ok(UpdateUserAttributeKeyRequest { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - name: name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - update_mask: update_mask__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UpdateUserAttributeKeyRequest", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UpdateUserAttributeKeyResponse { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if self.user_attribute_key.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UpdateUserAttributeKeyResponse", len)?; - if let Some(v) = self.user_attribute_key.as_ref() { - struct_ser.serialize_field("userAttributeKey", v)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UpdateUserAttributeKeyResponse { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key", - "userAttributeKey", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKey, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKey" | "user_attribute_key" => Ok(GeneratedField::UserAttributeKey), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UpdateUserAttributeKeyResponse; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UpdateUserAttributeKeyResponse") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKey => { - if user_attribute_key__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKey")); - } - user_attribute_key__ = map_.next_value()?; - } - } - } - Ok(UpdateUserAttributeKeyResponse { - user_attribute_key: user_attribute_key__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UpdateUserAttributeKeyResponse", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UserAttributeKey { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if !self.name.is_empty() { - len += 1; - } - if !self.description.is_empty() { - len += 1; - } - if self.r#type != 0 { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if self.modified_date.is_some() { - len += 1; - } - if !self.modified_by_user_id.is_empty() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - if self.is_archived { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UserAttributeKey", len)?; - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if !self.name.is_empty() { - struct_ser.serialize_field("name", &self.name)?; - } - if !self.description.is_empty() { - struct_ser.serialize_field("description", &self.description)?; - } - if self.r#type != 0 { - let v = UserAttributeValueType::try_from(self.r#type) - .map_err(|_| serde::ser::Error::custom(format!("Invalid variant {}", self.r#type)))?; - struct_ser.serialize_field("type", &v)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if let Some(v) = self.modified_date.as_ref() { - struct_ser.serialize_field("modifiedDate", v)?; - } - if !self.modified_by_user_id.is_empty() { - struct_ser.serialize_field("modifiedByUserId", &self.modified_by_user_id)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - if self.is_archived { - struct_ser.serialize_field("isArchived", &self.is_archived)?; - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UserAttributeKey { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_key_id", - "userAttributeKeyId", - "organization_id", - "organizationId", - "name", - "description", - "type", - "created_date", - "createdDate", - "created_by_user_id", - "createdByUserId", - "modified_date", - "modifiedDate", - "modified_by_user_id", - "modifiedByUserId", - "archived_date", - "archivedDate", - "is_archived", - "isArchived", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeKeyId, - OrganizationId, - Name, - Description, - Type, - CreatedDate, - CreatedByUserId, - ModifiedDate, - ModifiedByUserId, - ArchivedDate, - IsArchived, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "name" => Ok(GeneratedField::Name), - "description" => Ok(GeneratedField::Description), - "type" => Ok(GeneratedField::Type), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "modifiedDate" | "modified_date" => Ok(GeneratedField::ModifiedDate), - "modifiedByUserId" | "modified_by_user_id" => Ok(GeneratedField::ModifiedByUserId), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - "isArchived" | "is_archived" => Ok(GeneratedField::IsArchived), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UserAttributeKey; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UserAttributeKey") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_key_id__ = None; - let mut organization_id__ = None; - let mut name__ = None; - let mut description__ = None; - let mut r#type__ = None; - let mut created_date__ = None; - let mut created_by_user_id__ = None; - let mut modified_date__ = None; - let mut modified_by_user_id__ = None; - let mut archived_date__ = None; - let mut is_archived__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::Name => { - if name__.is_some() { - return Err(serde::de::Error::duplicate_field("name")); - } - name__ = Some(map_.next_value()?); - } - GeneratedField::Description => { - if description__.is_some() { - return Err(serde::de::Error::duplicate_field("description")); - } - description__ = Some(map_.next_value()?); - } - GeneratedField::Type => { - if r#type__.is_some() { - return Err(serde::de::Error::duplicate_field("type")); - } - r#type__ = Some(map_.next_value::()? as i32); - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ModifiedDate => { - if modified_date__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedDate")); - } - modified_date__ = map_.next_value()?; - } - GeneratedField::ModifiedByUserId => { - if modified_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("modifiedByUserId")); - } - modified_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - GeneratedField::IsArchived => { - if is_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("isArchived")); - } - is_archived__ = Some(map_.next_value()?); - } - } - } - Ok(UserAttributeKey { - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - organization_id: organization_id__.unwrap_or_default(), - name: name__.unwrap_or_default(), - description: description__.unwrap_or_default(), - r#type: r#type__.unwrap_or_default(), - created_date: created_date__, - created_by_user_id: created_by_user_id__.unwrap_or_default(), - modified_date: modified_date__, - modified_by_user_id: modified_by_user_id__.unwrap_or_default(), - archived_date: archived_date__, - is_archived: is_archived__.unwrap_or_default(), - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UserAttributeKey", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UserAttributeValue { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - use serde::ser::SerializeStruct; - let mut len = 0; - if !self.user_attribute_value_id.is_empty() { - len += 1; - } - if !self.user_attribute_key_id.is_empty() { - len += 1; - } - if !self.user_id.is_empty() { - len += 1; - } - if !self.organization_id.is_empty() { - len += 1; - } - if !self.created_by_user_id.is_empty() { - len += 1; - } - if self.created_date.is_some() { - len += 1; - } - if self.archived_date.is_some() { - len += 1; - } - if self.is_archived { - len += 1; - } - if self.key.is_some() { - len += 1; - } - if self.value.is_some() { - len += 1; - } - let mut struct_ser = serializer.serialize_struct("sift.user_attributes.v1.UserAttributeValue", len)?; - if !self.user_attribute_value_id.is_empty() { - struct_ser.serialize_field("userAttributeValueId", &self.user_attribute_value_id)?; - } - if !self.user_attribute_key_id.is_empty() { - struct_ser.serialize_field("userAttributeKeyId", &self.user_attribute_key_id)?; - } - if !self.user_id.is_empty() { - struct_ser.serialize_field("userId", &self.user_id)?; - } - if !self.organization_id.is_empty() { - struct_ser.serialize_field("organizationId", &self.organization_id)?; - } - if !self.created_by_user_id.is_empty() { - struct_ser.serialize_field("createdByUserId", &self.created_by_user_id)?; - } - if let Some(v) = self.created_date.as_ref() { - struct_ser.serialize_field("createdDate", v)?; - } - if let Some(v) = self.archived_date.as_ref() { - struct_ser.serialize_field("archivedDate", v)?; - } - if self.is_archived { - struct_ser.serialize_field("isArchived", &self.is_archived)?; - } - if let Some(v) = self.key.as_ref() { - struct_ser.serialize_field("key", v)?; - } - if let Some(v) = self.value.as_ref() { - match v { - user_attribute_value::Value::StringValue(v) => { - struct_ser.serialize_field("stringValue", v)?; - } - user_attribute_value::Value::NumberValue(v) => { - struct_ser.serialize_field("numberValue", v)?; - } - user_attribute_value::Value::BooleanValue(v) => { - struct_ser.serialize_field("booleanValue", v)?; - } - } - } - struct_ser.end() - } -} -impl<'de> serde::Deserialize<'de> for UserAttributeValue { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "user_attribute_value_id", - "userAttributeValueId", - "user_attribute_key_id", - "userAttributeKeyId", - "user_id", - "userId", - "organization_id", - "organizationId", - "created_by_user_id", - "createdByUserId", - "created_date", - "createdDate", - "archived_date", - "archivedDate", - "is_archived", - "isArchived", - "key", - "string_value", - "stringValue", - "number_value", - "numberValue", - "boolean_value", - "booleanValue", - ]; - - #[allow(clippy::enum_variant_names)] - enum GeneratedField { - UserAttributeValueId, - UserAttributeKeyId, - UserId, - OrganizationId, - CreatedByUserId, - CreatedDate, - ArchivedDate, - IsArchived, - Key, - StringValue, - NumberValue, - BooleanValue, - } - impl<'de> serde::Deserialize<'de> for GeneratedField { - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = GeneratedField; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - #[allow(unused_variables)] - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "userAttributeValueId" | "user_attribute_value_id" => Ok(GeneratedField::UserAttributeValueId), - "userAttributeKeyId" | "user_attribute_key_id" => Ok(GeneratedField::UserAttributeKeyId), - "userId" | "user_id" => Ok(GeneratedField::UserId), - "organizationId" | "organization_id" => Ok(GeneratedField::OrganizationId), - "createdByUserId" | "created_by_user_id" => Ok(GeneratedField::CreatedByUserId), - "createdDate" | "created_date" => Ok(GeneratedField::CreatedDate), - "archivedDate" | "archived_date" => Ok(GeneratedField::ArchivedDate), - "isArchived" | "is_archived" => Ok(GeneratedField::IsArchived), - "key" => Ok(GeneratedField::Key), - "stringValue" | "string_value" => Ok(GeneratedField::StringValue), - "numberValue" | "number_value" => Ok(GeneratedField::NumberValue), - "booleanValue" | "boolean_value" => Ok(GeneratedField::BooleanValue), - _ => Err(serde::de::Error::unknown_field(value, FIELDS)), - } - } - } - deserializer.deserialize_identifier(GeneratedVisitor) - } - } - struct GeneratedVisitor; - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UserAttributeValue; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter.write_str("struct sift.user_attributes.v1.UserAttributeValue") - } - - fn visit_map(self, mut map_: V) -> std::result::Result - where - V: serde::de::MapAccess<'de>, - { - let mut user_attribute_value_id__ = None; - let mut user_attribute_key_id__ = None; - let mut user_id__ = None; - let mut organization_id__ = None; - let mut created_by_user_id__ = None; - let mut created_date__ = None; - let mut archived_date__ = None; - let mut is_archived__ = None; - let mut key__ = None; - let mut value__ = None; - while let Some(k) = map_.next_key()? { - match k { - GeneratedField::UserAttributeValueId => { - if user_attribute_value_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeValueId")); - } - user_attribute_value_id__ = Some(map_.next_value()?); - } - GeneratedField::UserAttributeKeyId => { - if user_attribute_key_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userAttributeKeyId")); - } - user_attribute_key_id__ = Some(map_.next_value()?); - } - GeneratedField::UserId => { - if user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("userId")); - } - user_id__ = Some(map_.next_value()?); - } - GeneratedField::OrganizationId => { - if organization_id__.is_some() { - return Err(serde::de::Error::duplicate_field("organizationId")); - } - organization_id__ = Some(map_.next_value()?); - } - GeneratedField::CreatedByUserId => { - if created_by_user_id__.is_some() { - return Err(serde::de::Error::duplicate_field("createdByUserId")); - } - created_by_user_id__ = Some(map_.next_value()?); - } - GeneratedField::CreatedDate => { - if created_date__.is_some() { - return Err(serde::de::Error::duplicate_field("createdDate")); - } - created_date__ = map_.next_value()?; - } - GeneratedField::ArchivedDate => { - if archived_date__.is_some() { - return Err(serde::de::Error::duplicate_field("archivedDate")); - } - archived_date__ = map_.next_value()?; - } - GeneratedField::IsArchived => { - if is_archived__.is_some() { - return Err(serde::de::Error::duplicate_field("isArchived")); - } - is_archived__ = Some(map_.next_value()?); - } - GeneratedField::Key => { - if key__.is_some() { - return Err(serde::de::Error::duplicate_field("key")); - } - key__ = map_.next_value()?; - } - GeneratedField::StringValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("stringValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(user_attribute_value::Value::StringValue); - } - GeneratedField::NumberValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("numberValue")); - } - value__ = map_.next_value::<::std::option::Option<::pbjson::private::NumberDeserialize<_>>>()?.map(|x| user_attribute_value::Value::NumberValue(x.0)); - } - GeneratedField::BooleanValue => { - if value__.is_some() { - return Err(serde::de::Error::duplicate_field("booleanValue")); - } - value__ = map_.next_value::<::std::option::Option<_>>()?.map(user_attribute_value::Value::BooleanValue); - } - } - } - Ok(UserAttributeValue { - user_attribute_value_id: user_attribute_value_id__.unwrap_or_default(), - user_attribute_key_id: user_attribute_key_id__.unwrap_or_default(), - user_id: user_id__.unwrap_or_default(), - organization_id: organization_id__.unwrap_or_default(), - created_by_user_id: created_by_user_id__.unwrap_or_default(), - created_date: created_date__, - archived_date: archived_date__, - is_archived: is_archived__.unwrap_or_default(), - key: key__, - value: value__, - }) - } - } - deserializer.deserialize_struct("sift.user_attributes.v1.UserAttributeValue", FIELDS, GeneratedVisitor) - } -} -impl serde::Serialize for UserAttributeValueType { - #[allow(deprecated)] - fn serialize(&self, serializer: S) -> std::result::Result - where - S: serde::Serializer, - { - let variant = match self { - Self::Unspecified => "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", - Self::String => "USER_ATTRIBUTE_VALUE_TYPE_STRING", - Self::Boolean => "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN", - Self::Number => "USER_ATTRIBUTE_VALUE_TYPE_NUMBER", - Self::SetOfString => "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING", - }; - serializer.serialize_str(variant) - } -} -impl<'de> serde::Deserialize<'de> for UserAttributeValueType { - #[allow(deprecated)] - fn deserialize(deserializer: D) -> std::result::Result - where - D: serde::Deserializer<'de>, - { - const FIELDS: &[&str] = &[ - "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED", - "USER_ATTRIBUTE_VALUE_TYPE_STRING", - "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN", - "USER_ATTRIBUTE_VALUE_TYPE_NUMBER", - "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING", - ]; - - struct GeneratedVisitor; - - impl<'de> serde::de::Visitor<'de> for GeneratedVisitor { - type Value = UserAttributeValueType; - - fn expecting(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - write!(formatter, "expected one of: {:?}", &FIELDS) - } - - fn visit_i64(self, v: i64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Signed(v), &self) - }) - } - - fn visit_u64(self, v: u64) -> std::result::Result - where - E: serde::de::Error, - { - i32::try_from(v) - .ok() - .and_then(|x| x.try_into().ok()) - .ok_or_else(|| { - serde::de::Error::invalid_value(serde::de::Unexpected::Unsigned(v), &self) - }) - } - - fn visit_str(self, value: &str) -> std::result::Result - where - E: serde::de::Error, - { - match value { - "USER_ATTRIBUTE_VALUE_TYPE_UNSPECIFIED" => Ok(UserAttributeValueType::Unspecified), - "USER_ATTRIBUTE_VALUE_TYPE_STRING" => Ok(UserAttributeValueType::String), - "USER_ATTRIBUTE_VALUE_TYPE_BOOLEAN" => Ok(UserAttributeValueType::Boolean), - "USER_ATTRIBUTE_VALUE_TYPE_NUMBER" => Ok(UserAttributeValueType::Number), - "USER_ATTRIBUTE_VALUE_TYPE_SET_OF_STRING" => Ok(UserAttributeValueType::SetOfString), - _ => Err(serde::de::Error::unknown_variant(value, FIELDS)), - } - } - } - deserializer.deserialize_any(GeneratedVisitor) - } -} diff --git a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.tonic.rs b/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.tonic.rs deleted file mode 100644 index e8bf442e1..000000000 --- a/rust/crates/sift_rs/src/gen/sift/user_attributes/v1/sift.user_attributes.v1.tonic.rs +++ /dev/null @@ -1,1375 +0,0 @@ -// @generated -/// Generated client implementations. -pub mod user_attributes_service_client { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - use tonic::codegen::http::Uri; - #[derive(Debug, Clone)] - pub struct UserAttributesServiceClient { - inner: tonic::client::Grpc, - } - impl UserAttributesServiceClient { - /// Attempt to create a new client by connecting to a given endpoint. - pub async fn connect(dst: D) -> Result - where - D: TryInto, - D::Error: Into, - { - let conn = tonic::transport::Endpoint::new(dst)?.connect().await?; - Ok(Self::new(conn)) - } - } - impl UserAttributesServiceClient - where - T: tonic::client::GrpcService, - T::Error: Into, - T::ResponseBody: Body + std::marker::Send + 'static, - ::Error: Into + std::marker::Send, - { - pub fn new(inner: T) -> Self { - let inner = tonic::client::Grpc::new(inner); - Self { inner } - } - pub fn with_origin(inner: T, origin: Uri) -> Self { - let inner = tonic::client::Grpc::with_origin(inner, origin); - Self { inner } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> UserAttributesServiceClient> - where - F: tonic::service::Interceptor, - T::ResponseBody: Default, - T: tonic::codegen::Service< - http::Request, - Response = http::Response< - >::ResponseBody, - >, - >, - , - >>::Error: Into + std::marker::Send + std::marker::Sync, - { - UserAttributesServiceClient::new(InterceptedService::new(inner, interceptor)) - } - /// Compress requests with the given encoding. - /// - /// This requires the server to support it otherwise it might respond with an - /// error. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.send_compressed(encoding); - self - } - /// Enable decompressing responses. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.inner = self.inner.accept_compressed(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_decoding_message_size(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.inner = self.inner.max_encoding_message_size(limit); - self - } - pub async fn create_user_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "CreateUserAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_user_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "GetUserAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_user_attribute_keys( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "ListUserAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn update_user_attribute_key( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "UpdateUserAttributeKey", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_user_attribute_keys( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "ArchiveUserAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn unarchive_user_attribute_keys( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "UnarchiveUserAttributeKeys", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn create_user_attribute_value( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "CreateUserAttributeValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn batch_create_user_attribute_value( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "BatchCreateUserAttributeValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn get_user_attribute_value( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "GetUserAttributeValue", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_user_attribute_key_values( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "ListUserAttributeKeyValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn list_user_attribute_values( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "ListUserAttributeValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn archive_user_attribute_values( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "ArchiveUserAttributeValues", - ), - ); - self.inner.unary(req, path, codec).await - } - pub async fn unarchive_user_attribute_values( - &mut self, - request: impl tonic::IntoRequest, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - > { - self.inner - .ready() - .await - .map_err(|e| { - tonic::Status::unknown( - format!("Service was not ready: {}", e.into()), - ) - })?; - let codec = tonic_prost::ProstCodec::default(); - let path = http::uri::PathAndQuery::from_static( - "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues", - ); - let mut req = request.into_request(); - req.extensions_mut() - .insert( - GrpcMethod::new( - "sift.user_attributes.v1.UserAttributesService", - "UnarchiveUserAttributeValues", - ), - ); - self.inner.unary(req, path, codec).await - } - } -} -/// Generated server implementations. -pub mod user_attributes_service_server { - #![allow( - unused_variables, - dead_code, - missing_docs, - clippy::wildcard_imports, - clippy::let_unit_value, - )] - use tonic::codegen::*; - /// Generated trait containing gRPC methods that should be implemented for use with UserAttributesServiceServer. - #[async_trait] - pub trait UserAttributesService: std::marker::Send + std::marker::Sync + 'static { - async fn create_user_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_user_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_user_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn update_user_attribute_key( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_user_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn unarchive_user_attribute_keys( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn create_user_attribute_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn batch_create_user_attribute_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn get_user_attribute_value( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_user_attribute_key_values( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn list_user_attribute_values( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn archive_user_attribute_values( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - async fn unarchive_user_attribute_values( - &self, - request: tonic::Request, - ) -> std::result::Result< - tonic::Response, - tonic::Status, - >; - } - #[derive(Debug)] - pub struct UserAttributesServiceServer { - inner: Arc, - accept_compression_encodings: EnabledCompressionEncodings, - send_compression_encodings: EnabledCompressionEncodings, - max_decoding_message_size: Option, - max_encoding_message_size: Option, - } - impl UserAttributesServiceServer { - pub fn new(inner: T) -> Self { - Self::from_arc(Arc::new(inner)) - } - pub fn from_arc(inner: Arc) -> Self { - Self { - inner, - accept_compression_encodings: Default::default(), - send_compression_encodings: Default::default(), - max_decoding_message_size: None, - max_encoding_message_size: None, - } - } - pub fn with_interceptor( - inner: T, - interceptor: F, - ) -> InterceptedService - where - F: tonic::service::Interceptor, - { - InterceptedService::new(Self::new(inner), interceptor) - } - /// Enable decompressing requests with the given encoding. - #[must_use] - pub fn accept_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.accept_compression_encodings.enable(encoding); - self - } - /// Compress responses with the given encoding, if the client supports it. - #[must_use] - pub fn send_compressed(mut self, encoding: CompressionEncoding) -> Self { - self.send_compression_encodings.enable(encoding); - self - } - /// Limits the maximum size of a decoded message. - /// - /// Default: `4MB` - #[must_use] - pub fn max_decoding_message_size(mut self, limit: usize) -> Self { - self.max_decoding_message_size = Some(limit); - self - } - /// Limits the maximum size of an encoded message. - /// - /// Default: `usize::MAX` - #[must_use] - pub fn max_encoding_message_size(mut self, limit: usize) -> Self { - self.max_encoding_message_size = Some(limit); - self - } - } - impl tonic::codegen::Service> - for UserAttributesServiceServer - where - T: UserAttributesService, - B: Body + std::marker::Send + 'static, - B::Error: Into + std::marker::Send + 'static, - { - type Response = http::Response; - type Error = std::convert::Infallible; - type Future = BoxFuture; - fn poll_ready( - &mut self, - _cx: &mut Context<'_>, - ) -> Poll> { - Poll::Ready(Ok(())) - } - fn call(&mut self, req: http::Request) -> Self::Future { - match req.uri().path() { - "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeKey" => { - #[allow(non_camel_case_types)] - struct CreateUserAttributeKeySvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for CreateUserAttributeKeySvc { - type Response = super::CreateUserAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_user_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateUserAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeKey" => { - #[allow(non_camel_case_types)] - struct GetUserAttributeKeySvc(pub Arc); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for GetUserAttributeKeySvc { - type Response = super::GetUserAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_user_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetUserAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeys" => { - #[allow(non_camel_case_types)] - struct ListUserAttributeKeysSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for ListUserAttributeKeysSvc { - type Response = super::ListUserAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_user_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListUserAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/UpdateUserAttributeKey" => { - #[allow(non_camel_case_types)] - struct UpdateUserAttributeKeySvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for UpdateUserAttributeKeySvc { - type Response = super::UpdateUserAttributeKeyResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::update_user_attribute_key( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UpdateUserAttributeKeySvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeKeys" => { - #[allow(non_camel_case_types)] - struct ArchiveUserAttributeKeysSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for ArchiveUserAttributeKeysSvc { - type Response = super::ArchiveUserAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ArchiveUserAttributeKeysRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_user_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchiveUserAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeKeys" => { - #[allow(non_camel_case_types)] - struct UnarchiveUserAttributeKeysSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService< - super::UnarchiveUserAttributeKeysRequest, - > for UnarchiveUserAttributeKeysSvc { - type Response = super::UnarchiveUserAttributeKeysResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UnarchiveUserAttributeKeysRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unarchive_user_attribute_keys( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UnarchiveUserAttributeKeysSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/CreateUserAttributeValue" => { - #[allow(non_camel_case_types)] - struct CreateUserAttributeValueSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for CreateUserAttributeValueSvc { - type Response = super::CreateUserAttributeValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::CreateUserAttributeValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::create_user_attribute_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = CreateUserAttributeValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/BatchCreateUserAttributeValue" => { - #[allow(non_camel_case_types)] - struct BatchCreateUserAttributeValueSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService< - super::BatchCreateUserAttributeValueRequest, - > for BatchCreateUserAttributeValueSvc { - type Response = super::BatchCreateUserAttributeValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::BatchCreateUserAttributeValueRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::batch_create_user_attribute_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = BatchCreateUserAttributeValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/GetUserAttributeValue" => { - #[allow(non_camel_case_types)] - struct GetUserAttributeValueSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for GetUserAttributeValueSvc { - type Response = super::GetUserAttributeValueResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::get_user_attribute_value( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = GetUserAttributeValueSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeKeyValues" => { - #[allow(non_camel_case_types)] - struct ListUserAttributeKeyValuesSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService< - super::ListUserAttributeKeyValuesRequest, - > for ListUserAttributeKeyValuesSvc { - type Response = super::ListUserAttributeKeyValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ListUserAttributeKeyValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_user_attribute_key_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListUserAttributeKeyValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/ListUserAttributeValues" => { - #[allow(non_camel_case_types)] - struct ListUserAttributeValuesSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService - for ListUserAttributeValuesSvc { - type Response = super::ListUserAttributeValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ListUserAttributeValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::list_user_attribute_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ListUserAttributeValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/ArchiveUserAttributeValues" => { - #[allow(non_camel_case_types)] - struct ArchiveUserAttributeValuesSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService< - super::ArchiveUserAttributeValuesRequest, - > for ArchiveUserAttributeValuesSvc { - type Response = super::ArchiveUserAttributeValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::ArchiveUserAttributeValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::archive_user_attribute_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = ArchiveUserAttributeValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - "/sift.user_attributes.v1.UserAttributesService/UnarchiveUserAttributeValues" => { - #[allow(non_camel_case_types)] - struct UnarchiveUserAttributeValuesSvc( - pub Arc, - ); - impl< - T: UserAttributesService, - > tonic::server::UnaryService< - super::UnarchiveUserAttributeValuesRequest, - > for UnarchiveUserAttributeValuesSvc { - type Response = super::UnarchiveUserAttributeValuesResponse; - type Future = BoxFuture< - tonic::Response, - tonic::Status, - >; - fn call( - &mut self, - request: tonic::Request< - super::UnarchiveUserAttributeValuesRequest, - >, - ) -> Self::Future { - let inner = Arc::clone(&self.0); - let fut = async move { - ::unarchive_user_attribute_values( - &inner, - request, - ) - .await - }; - Box::pin(fut) - } - } - let accept_compression_encodings = self.accept_compression_encodings; - let send_compression_encodings = self.send_compression_encodings; - let max_decoding_message_size = self.max_decoding_message_size; - let max_encoding_message_size = self.max_encoding_message_size; - let inner = self.inner.clone(); - let fut = async move { - let method = UnarchiveUserAttributeValuesSvc(inner); - let codec = tonic_prost::ProstCodec::default(); - let mut grpc = tonic::server::Grpc::new(codec) - .apply_compression_config( - accept_compression_encodings, - send_compression_encodings, - ) - .apply_max_message_size_config( - max_decoding_message_size, - max_encoding_message_size, - ); - let res = grpc.unary(method, req).await; - Ok(res) - }; - Box::pin(fut) - } - _ => { - Box::pin(async move { - let mut response = http::Response::new( - tonic::body::Body::default(), - ); - let headers = response.headers_mut(); - headers - .insert( - tonic::Status::GRPC_STATUS, - (tonic::Code::Unimplemented as i32).into(), - ); - headers - .insert( - http::header::CONTENT_TYPE, - tonic::metadata::GRPC_CONTENT_TYPE, - ); - Ok(response) - }) - } - } - } - } - impl Clone for UserAttributesServiceServer { - fn clone(&self) -> Self { - let inner = self.inner.clone(); - Self { - inner, - accept_compression_encodings: self.accept_compression_encodings, - send_compression_encodings: self.send_compression_encodings, - max_decoding_message_size: self.max_decoding_message_size, - max_encoding_message_size: self.max_encoding_message_size, - } - } - } - /// Generated gRPC service name - pub const SERVICE_NAME: &str = "sift.user_attributes.v1.UserAttributesService"; - impl tonic::server::NamedService for UserAttributesServiceServer { - const NAME: &'static str = SERVICE_NAME; - } -} From eb8725a630215888fcd0c3cc1f26240c191a3391 Mon Sep 17 00:00:00 2001 From: Wei Qi Lu Date: Wed, 25 Mar 2026 12:27:32 -0700 Subject: [PATCH 2/3] python(fix): removed unused protos --- protos/sift/rule_evaluation/v1/rule_evaluation.proto | 1 - 1 file changed, 1 deletion(-) diff --git a/protos/sift/rule_evaluation/v1/rule_evaluation.proto b/protos/sift/rule_evaluation/v1/rule_evaluation.proto index e7e8a9aa6..91281ce41 100644 --- a/protos/sift/rule_evaluation/v1/rule_evaluation.proto +++ b/protos/sift/rule_evaluation/v1/rule_evaluation.proto @@ -7,7 +7,6 @@ import "google/api/field_behavior.proto"; import "google/protobuf/timestamp.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "sift/common/type/v1/resource_identifier.proto"; -import "sift/reports/v1/reports.proto"; import "sift/rules/v1/rules.proto"; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { From 121c1bb9ce12c90fcc4442928e4f56c0bcae9cd9 Mon Sep 17 00:00:00 2001 From: Wei Qi Lu Date: Wed, 25 Mar 2026 12:41:10 -0700 Subject: [PATCH 3/3] rust(fix): update sift_cli for new protobuf fields --- rust/crates/sift_cli/src/cmd/export.rs | 2 +- rust/crates/sift_cli/src/cmd/import/parquet/flat_dataset.rs | 4 +++- rust/crates/sift_cli/src/util/calculated_channel.rs | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/rust/crates/sift_cli/src/cmd/export.rs b/rust/crates/sift_cli/src/cmd/export.rs index 2daaae15e..369c5ee93 100644 --- a/rust/crates/sift_cli/src/cmd/export.rs +++ b/rust/crates/sift_cli/src/cmd/export.rs @@ -290,7 +290,7 @@ async fn export( .ok_or_else(|| anyhow!("failed to find job {job_id}"))?; } - let GetDownloadUrlResponse { presigned_url } = export_service + let GetDownloadUrlResponse { presigned_url, .. } = export_service .get_download_url(GetDownloadUrlRequest { job_id }) .await .context("failed to get download URL for export")? diff --git a/rust/crates/sift_cli/src/cmd/import/parquet/flat_dataset.rs b/rust/crates/sift_cli/src/cmd/import/parquet/flat_dataset.rs index c3de1d8d6..81e467fd5 100644 --- a/rust/crates/sift_cli/src/cmd/import/parquet/flat_dataset.rs +++ b/rust/crates/sift_cli/src/cmd/import/parquet/flat_dataset.rs @@ -59,7 +59,9 @@ pub async fn run(ctx: Context, args: FlatDatasetArgs) -> Result { if args.preview { let parquet_conf = create_data_import_req.parquet_config.unwrap(); - let Config::FlatDataset(flatset_conf) = parquet_conf.config.unwrap(); + let Config::FlatDataset(flatset_conf) = parquet_conf.config.unwrap() else { + anyhow::bail!("expected FlatDataset config for preview"); + }; let channel_confs = flatset_conf .data_columns diff --git a/rust/crates/sift_cli/src/util/calculated_channel.rs b/rust/crates/sift_cli/src/util/calculated_channel.rs index cfac339df..a8140cd94 100644 --- a/rust/crates/sift_cli/src/util/calculated_channel.rs +++ b/rust/crates/sift_cli/src/util/calculated_channel.rs @@ -222,6 +222,7 @@ pub async fn resolve_to_calculated_channel_configs( .map(|r| CalculatedChannelAbstractChannelReference { channel_reference: r.channel_reference, channel_identifier: r.channel_id, + calculated_channel_reference: None, }) .collect();